What time series database to use for IoT systems?

While most of the tutorials online nowadays describe influxdb as a very good time series database we discovered that there are some serious considerations you should do before selecting a time series database for your next IoT project.

Here are some findings we did and questions we should have asked when we researched and selected time series databases for a new design of an IoT system:

  • To design a stable database engine suitable for production typically takes 10+ years of user feedback and experience from smaller scale testing and continuous improvements. Several of the “high ranking” databases has not been around for that long
  • mySQL and ORACLE have stable database engines by now, but they are not time series databases
  • Influx has rewritten their database engine several times over a period of few years. This may be a hint to that they are still struggling to converge on a stable database design
  • We found several very worrying statements in bug reports related to influx such as “please help, our production database is suddenly corrupt”, “the database has crashed, the backup is also corrupt. There must be something fundamentally wrong with storage”, “we have discontinued functions iusedthisextensivelyandthereisnowayaroundit() in the next release due to a complete rewrite of the database engine” etc.
  • Some databases have very inefficient compression algorithms. They will compress, but when trying to read from a compressed table, the penalty is pretty big and it goes too slow forcing you to use uncompressed tables
  • Some databases do not support writing to compressed tables (!). You have to decompress before writing. This takes a lot of time. And there is no API support to check if you try to write to a compressed table. You have to resort to parsing log messages before writing. Yes it is true.
  • Even if a database shows up high in a ranking, it may be because of it has the highest growth rate. That does not tell you much. If you look closer, you may discover that all the big guys already use more conservative and well proven time series database systems. That people reading tutorials download and install influxdb does not mean that Google, Facebook, Amazon etc uses it. It does not mean that it is the best time series database available.
  • Some databases claim to support continuous aggregates. However did you benchmark and test properly that the functions used for reading from the aggregates are stable, does not require 100% CPU, and does not crash your database engine? You may be in for a surprise.
  • Some time series databases does not have support for regular data types and regular SQL syntax. This means you will have to have TWO databases. One for configuration data and one for time series.
  • Some time series databases from the cloud vendors are extremely expensive as soon as you come up into production. Did you actually check the cost? If not you may be in for a BIG surprise.
  • Even plotting time series in a web browser may be too slow. Did you check if your time series database can decimate and deliver data to your front end in real time?


Glitch protection for tube amplfiers with HV PSUs


OE5JFL has implemented the same idea for quenching the HV discharge current as I wrote about back in approx 2012. The idea is to short the anode PSU caps thru an inductor and a solid state device when an overcurrent event thru the tube occurs. The inductor prevents the current to raise to dangerous levels as the inductor tries to prevent the current dI/dt by building a magnetic field.

The above figure1 shows OE5JFLS thyristor circuit and 100-500uH inductor

Thyristors for voltages >1000 Volts are very expensive. For higher voltages you can use a cascade as shown above in Figure 2. I use four thyristors in series, switched by optocouplers, in my 3.5kV supply.

Figure 3 above shows a circuit for screen protection sreen in case of no anode voltage or screen overcurrent. Ig2>100mA will toggle the Flip-Flop via the optocoupler. The relay goes off and disconnects the screen. Voltage comes back after pushing the RESET key. Using the ordinary Z-diode stabilisation, overcurrent is limited to a harmless value during switching delay of the relay.

Overcurrent trip: High current in anode circuit caused by arcing or short circuit generates voltage drop across 10Ohm resistor. Flip-Flop toggles (Pin 3 low), switches off transformer and fires SCR to short HV capacitor.

For restart one has to switch off S1, the main power supply switch, and switch it on again after a few seconds. The series inductance for SCR protection is made from 10m of enamelled copper wire. Trip current is set by the 39k/8k2 voltage divider.

Before you test the circuit by producing a short, you should follow the step by step procedure, which is outlined as follows:

  1. Connect TP2 to ground, switch S1 on and short Pin 6 (CD4011) to ground. ===> Transformer must be off.
  2. S1 on, after plate voltage coming up, ground TP1 (transformer off), and then Pin 6 (CD4011). ===> SCR must fire now and ground high voltage.
  3. S1 on, ground Pin 6. ===> Transformer must be off and HV must be shorted.
  4. After successfully completing these tests, you should short the HV output with a thin wire to ground (0.12mm). This wire must not be melted when the HV-supply is shut down by the overcurrent protection.


Credit to OE5JFL for the schematics and writeups. 



Solar wind event of 12.May.2021

The 12.May.2021 solar event caused major openings on 10 meters and above. I did this screen capture of the solar wind intensity to save for reference. One noteable observation is that the Bz magnetic measurement went to negative 20 for a moment. That is pretty significant.

Quatar Oscar 100 Geostationary Satellite / QO-100, Es’Hailsat, new Facebook Group for licensed radio amateurs

There is a new Facebook group for Quatar Oscar 100 Geostationary Satellite. (QO-100, Es’Hailsat). Licensed radio amateurs are welcome to join via the link below! (Exclusively for licenced radio amateurs by the respective government administrations).
Members typically discuss equipment, design of equipment, antenna designs, post QSO videos and sound recordings etc.   https://www.facebook.com/groups/252645695661305/

cover photo, No photo description available.

Securing your node-red editor and dashboard on the Raspberry Pi

If you leave your node-red installation on your rpi running without a password you will be hacked and soon owned by people using your rpi as a bit coin mining device. It is easy to set a password for the editor and for the dashboard!:

Node-red is installed in /home/pi/.node-red (the . dot in front means you will normally not be able to see the directory as the dot means it is hidden. Therefore, set up your file manager to show hidden files. Alternatively, if you are using the terminal you can use ls -a or ls -al in the /home/pi directory to see all that is there).

Edit the settings.js file with

nano settings.js

Uncomment this section in the settings.js file:

adminAuth: {
type: "credentials",
users: [{
username: "admin",
password:"xxxhash key is pasted herexxxx",
permissions: "*"

You will need to generate a hash with node-red-admin and type the hash-pw command. The hash key you paste above in the field xxxhash key is pasted herexxxx (keep the ” ” signs and dont mess up the [ ] {} , stuff).

You will probably have to install the node-red-admin tools (google how to do that with npm) to be able to use node-red-admin

For the dashboard you do the same procedure but you now un-comment this line

httpNodeAuth: {user:"user",pass:"xxxxdashboard hash key is pasted herexxxx"},

Make sure to keep all commas etc!
If you are uncertain to what directory your rpi reads the settings.js file from, you can start the node-red with node-red-pi and look at the messages in the console. It will report the location and file it uses. Dont edit the wrong settings.js file … there are several installed on your pi it seems

Restart the node red
IMPORTANT! CLEAR THE CACHE of your web browser. If not you will not see the password on the editor and the dashboard, as node-red uses cache quite heavily. See https://support.mozilla.org/en-US/kb/how-clear-firefox-cache for how to clear Firefox cache

Too low power Modification for ICOM IC-7100

I recently bought a second hand Icom IC-7100 HF radio for a reasonable price. This radio is known for a very conservative approach to internal ALC on the power output. This causes the output power to not go above approx 75-80W (PEP) as measured on my LPA-100 wattmeter in PEP mode with 14,5V DC input. Of course, there is no need to overdrive any linear amplifier, however Icom engineers have probably overdone it a bit on the conservative side on this radio (?).

There are two published mods that are possible on this radio. I did only one of the mods that involves a jumper from C1509 to ground, because the other mod that involves a 10uF capacitor is reported to cause modulation issues on FM and AM.

The PEP output power increased from 75-80W PEP to approx 140-145W PEP (14,5V DC input). Note: PEP, not average. On a sidenote the peak to average ratio also improved. There is no need to have PEP output of more than 100-110W PEP by the way.

The mod is easy:

  • Unplug the radio DC lead and all other leads incl. the antenna connector
  • Use an antistatic mat and handlead
  • Remove the back cover
  • Locate the C1509 and the ground lug
  • Solder a small jumper from the C1509 to the ground lug
  • Check carefully that you didn’t spill any solder residue on the PCB
  • Blow with compressed air to remove any residue
  • Close the radio

IC-7100 mod. (I did steal this picture from radio aficion website)

I did also upgrade the firmware to :

  • CPU 1.11
  • DSP 1.03

The firmware upgrade did have a small but insignificant effect on the PEP output power according to what I found. The hardware mod, did have a signficant impact as the DSP is led to believe that the output power is lower than it is.


  • All mods are done on your own risk!
  • You may void the warranty of your radio if carrying out this mod
  • I will not be held responsible for any problems, malfunctions, defects, indirect consequences or any other issues caused by the mod
  • Do at all times follow the license regulations of your country
  • Check that your bandwidth is not excessive
  • Check that your harmonic content is well below maximum allowed

Telenor 4G modem, IP camera, remote radio, remote SDR setup (Norwegian language)

Hvis du vil sette opp et 4G IP kamera, en 4G alarm, eller kjøre amatørradio via 4G remote så må du sette opp 4G ruteren din slik at datatrafikk UTENFRA kan komme inn igjennom 4G ruteren. For å kunne få dette til å virke må du kjenne IP adressen til 4G ruteren din. Ringer du Telenor support får du som regel et “god dag mann økseskaft svar”. Ringer du “telenor eksperten”, så får du ofte et nytt “goddag mann økseskaft svar”, men denne  gangen må du betale for det! Denne quick guiden omhandler Telenor D-link DWR-961 ruter.

Utfordring 1: Telenor har satt opp sine 4G rutere per default slik at du ikke har en egen IP adresse som er synlig på internett. Datatraffikk utenfra blir også stoppet (av sikkerhetsgrunner – som regel har ikke vanlige brukere behov for at traffikk utenfra skal kunne komme igjennom om den ikke er initiert innenfra først).


  • Logg inn på ruteren via kabel i LAN1, LAN2, LAN3 eller LAN4 porten (ikke WAN porten). Du har innloggingsdetaljene fra Telenor (ikke sant?)
  • Gå til “internett fanen”
  • Endre APN(Access Point Name) til internet.public  (med små bokstaver)
  • Restart ruteren
  • Nå har du en IP adresse som både er synlig utenfra og traffikk kan nå inn til ruteren din

Utfordring 2: IP adressen er ikke fast så den endrer seg hele tiden. Du aner ikke hvilken ip adresse 4G modemet ditt og det utstyret som står tilkoplet på innsiden har…. hvordan skal du da kunne aksessere dette?


  • Sett opp en dynamisk DNS
  • Viktig: Kun Dyndns (heter nå dyn.com) fungerer. Ingen av de andre dynamisk DNS tilbyderne fungerer.
  • Viktig: du  må nå betale for dyndns servicen fra dyn.com (ca 500 kr per år). Dette er det ingen vei utenom (som jeg har funnet i alle fall). Dyndns free service er discontinued så nå må du betale for tjenesten.
  • Gå hit https://dyn.com/dns/dyndns-pro-free-trial/ og registrer en gratis konto
  • Velg et passende sub-domenenavn  som f.eks pettersipkamera1.dyndns.org (fyll inn ditt valgte navn). Sub domenet er det som stør før første prikk, selv om det virker litt lite intuitivt at det står før prikken og ikke etter. Domenet er det som står etter prikken, men dette er jo forhåndsbestemt til å være dyndns.org
  • Gå til Advanced og DynDNS i oppsettsmenyene i Telenor 4G ruteren din (via web browser)
  • Fyll inn brukernavn, passord og hostname. Hostname er det du satt opp over når du registrerte kontoen hos dyn.com. For eksempel pettersipkamera1.dyndns.org 
    (selv om dyndns nå heter dyn.com så er dyndns.org fortsatt live and kicking)
  • Husk å klikke på DDNS så dynamisk DNS er skrudd på i ruterens meny
  • Nå vil pettersipkamera1.dyndns.org peke til IP adressen til ruteren din (SELV OM TELENOR SINE SYSTEMER ENDRER IP ADRESSE på 4G RUTERE INNIMELLOM!)
  • Så må du sette opp port forwarding, om du bruker egne porter. Dette gjøres i fanen Advanced / Port Forwarding. Du må vite den interne adressen til IP kameraet ditt. F.eks
  • Du må vite hvilken port IP kameraet ditt bruker
  • Så setter du opp hvilken port INN til 4G ruteren som skal forwardes til hvilken IP adresse (f.eks og port inne på det lokale nettverket ditt
  • Lagre og gjør en reboot / omstart av ruteren
  • Og VIPPS, du ser og kan overvåke din eiendom / hytte / whatever på IP kameraet og er i høyeste beredskap til en hver tid! Alarmsystemer, sensorer, styringer osv kan koples til på denne måten.
  • (Om du er radioamatør, så ser du radiosystemet ditt og er klar til å kjøre remote radio).

Håper dette var til hjelp. Ønsker du hjelp til en kommersiell installasjon, IoT eller liknende så kjenner jeg firmaer som kan hjelpe med dette. I så fall ta kontakt så kan jeg formidle info.

Deep learning and artificial papers, courses and contact persons

A list of resources related to deep learning and artificial intelligence:

Free Online deep learning Books

  1. Deep Learning by Yoshua Bengio, Ian Goodfellow and Aaron Courville (05/07/2015)
  2. Neural Networks and Deep Learning by Michael Nielsen (Dec 2014)
  3. Deep Learning by Microsoft Research (2013)
  4. Deep Learning Tutorial by LISA lab, University of Montreal (Jan 6 2015)
  5. neuraltalk by Andrej Karpathy : numpy-based RNN/LSTM implementation
  6. An introduction to genetic algorithms
  7. Artificial Intelligence: A Modern Approach
  8. Deep Learning in Neural Networks: An Overview

Courses in machine learning

  1. Machine Learning – Stanford by Andrew Ng in Coursera (2010-2014)
  2. Machine Learning – Caltech by Yaser Abu-Mostafa (2012-2014)
  3. Machine Learning – Carnegie Mellon by Tom Mitchell (Spring 2011)
  4. Neural Networks for Machine Learning by Geoffrey Hinton in Coursera (2012)
  5. Neural networks class by Hugo Larochelle from Université de Sherbrooke (2013)
  6. Deep Learning Course by CILVR lab @ NYU (2014)
  7. A.I – Berkeley by Dan Klein and Pieter Abbeel (2013)
  8. A.I – MIT by Patrick Henry Winston (2010)
  9. Vision and learning – computers and brainsby Shimon Ullman, Tomaso Poggio, Ethan Meyers @ MIT (2013)
  10. Convolutional Neural Networks for Visual Recognition – Stanford by Fei-Fei Li, Andrej Karpathy (2015)
  11. Convolutional Neural Networks for Visual Recognition – Stanford by Fei-Fei Li, Andrej Karpathy (2016)
  12. Deep Learning for Natural Language Processing – Stanford
  13. Neural Networks – usherbrooke
  14. Machine Learning – Oxford (2014-2015)
  15. Deep Learning – Nvidia (2015)
  16. Graduate Summer School: Deep Learning, Feature Learning by Geoffrey Hinton, Yoshua Bengio, Yann LeCun, Andrew Ng, Nando de Freitas and several others @ IPAM, UCLA (2012)
  17. Deep Learning – Udacity/Google by Vincent Vanhoucke and Arpan Chakraborty (2016)
  18. Deep Learning – UWaterloo by Prof. Ali Ghodsi at University of Waterloo (2015)
  19. Statistical Machine Learning – CMU by Prof. Larry Wasserman
  20. Deep Learning Course by Yann LeCun (2016)
  21. Bay area DL school by Andrew Ng, Yoshua Bengio, Samy Bengio, Andrej Karpathy, Richard Socher, Hugo Larochelle and many others @ Stanford, CA (2016) 20.Designing, Visualizing and Understanding Deep Neural Networks-UC Berkeley
  22. UVA Deep Learning Course MSc in Artificial Intelligence for the University of Amsterdam.

Videos and Lectures in machine learning

  1. How To Create A Mind By Ray Kurzweil
  2. Deep Learning, Self-Taught Learning and Unsupervised Feature Learning By Andrew Ng
  3. Recent Developments in Deep Learning By Geoff Hinton
  4. The Unreasonable Effectiveness of Deep Learning by Yann LeCun
  5. Deep Learning of Representations by Yoshua bengio
  6. Principles of Hierarchical Temporal Memoryby Jeff Hawkins
  7. Machine Learning Discussion Group – Deep Learning w/ Stanford AI Lab by Adam Coates
  8. Making Sense of the World with Deep Learning By Adam Coates
  9. Demystifying Unsupervised Feature LearningBy Adam Coates
  10. Visual Perception with Deep Learning By Yann LeCun
  11. The Next Generation of Neural Networks By Geoffrey Hinton at GoogleTechTalks
  12. The wonderful and terrifying implications of computers that can learn By Jeremy Howard at TEDxBrussels
  13. Unsupervised Deep Learning – Stanford by Andrew Ng in Stanford (2011)
  14. Natural Language Processing By Chris Manning in Stanford
  15. A beginners Guide to Deep Neural NetworksBy Natalie Hammel and Lorraine Yurshansky
  16. Deep Learning: Intelligence from Big Data by Steve Jurvetson (and panel) at VLAB in Stanford.
  17. Introduction to Artificial Neural Networks and Deep Learning by Leo Isikdogan at Motorola Mobility HQ



  1. ImageNet Classification with Deep Convolutional Neural Networks
  2. Using Very Deep Autoencoders for Content Based Image Retrieval
  3. Learning Deep Architectures for AI
  4. CMU’s list of papers
  5. Neural Networks for Named Entity Recognition zip
  6. Training tricks by YB
  7. Geoff Hinton’s reading list (all papers)
  8. Supervised Sequence Labelling with Recurrent Neural Networks
  9. Statistical Language Models based on Neural Networks
  10. Training Recurrent Neural Networks
  11. Recursive Deep Learning for Natural Language Processing and Computer Vision
  12. Bi-directional RNN
  13. LSTM
  14. GRU – Gated Recurrent Unit
  15. GFRNN . .
  16. LSTM: A Search Space Odyssey
  17. A Critical Review of Recurrent Neural Networks for Sequence Learning
  18. Visualizing and Understanding Recurrent Networks
  19. Wojciech Zaremba, Ilya Sutskever, An Empirical Exploration of Recurrent Network Architectures
  20. Recurrent Neural Network based Language Model
  21. Extensions of Recurrent Neural Network Language Model
  22. Recurrent Neural Network based Language Modeling in Meeting Recognition
  23. Deep Neural Networks for Acoustic Modeling in Speech Recognition
  24. Speech Recognition with Deep Recurrent Neural Networks
  25. Reinforcement Learning Neural Turing Machines
  26. Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation
  27. Google – Sequence to Sequence Learning with Nneural Networks
  28. Memory Networks
  29. Policy Learning with Continuous Memory States for Partially Observed Robotic Control
  30. Microsoft – Jointly Modeling Embedding and Translation to Bridge Video and Language
  31. Neural Turing Machines
  32. Ask Me Anything: Dynamic Memory Networks for Natural Language Processing
  33. Mastering the Game of Go with Deep Neural Networks and Tree Search
  34. Batch Normalization
  35. Residual Learning
  36. [Berkeley AI Research (BAIR) Laboratory] Image-to-Image Translation with Conditional Adversarial Networks (https://arxiv.org/pdf/1611.07004v1.pdf)


  1. UFLDL Tutorial 1
  2. UFLDL Tutorial 2
  3. Deep Learning for NLP (without Magic)
  4. A Deep Learning Tutorial: From Perceptrons to Deep Networks
  5. Deep Learning from the Bottom up
  6. Theano Tutorial
  7. Neural Networks for Matlab
  8. Using convolutional neural nets to detect facial keypoints tutorial
  9. Torch7 Tutorials
  10. The Best Machine Learning Tutorials On The Web
  11. VGG Convolutional Neural Networks Practical
  12. TensorFlow tutorials
  13. More TensorFlow tutorials
  14. TensorFlow Python Notebooks
  15. Keras and Lasagne Deep Learning Tutorials
  16. Classification on raw time series in TensorFlow with a LSTM RNN


  1. Aaron Courville
  2. Abdel-rahman Mohamed
  3. Adam Coates
  4. Alex Acero
  5. Alex Krizhevsky
  6. Alexander Ilin
  7. Amos Storkey
  8. Andrej Karpathy
  9. Andrew M. Saxe
  10. Andrew Ng
  11. Andrew W. Senior
  12. Andriy Mnih
  13. Ayse Naz Erkan
  14. Benjamin Schrauwen
  15. Bernardete Ribeiro
  16. Bo David Chen
  17. Boureau Y-Lan
  18. Brian Kingsbury
  19. Christopher Manning
  20. Clement Farabet
  21. Dan Claudiu Cireșan
  22. David Reichert
  23. Derek Rose
  24. Dong Yu
  25. Drausin Wulsin
  26. Erik M. Schmidt
  27. Eugenio Culurciello
  28. Frank Seide
  29. Galen Andrew
  30. Geoffrey Hinton
  31. George Dahl
  32. Graham Taylor
  33. Grégoire Montavon
  34. Guido Francisco Montúfar
  35. Guillaume Desjardins
  36. Hannes Schulz
  37. Hélène Paugam-Moisy
  38. Honglak Lee
  39. Hugo Larochelle
  40. Ilya Sutskever
  41. Itamar Arel
  42. James Martens
  43. Jason Morton
  44. Jason Weston
  45. Jeff Dean
  46. Jiquan Mgiam
  47. Joseph Turian
  48. Joshua Matthew Susskind
  49. Jürgen Schmidhuber
  50. Justin A. Blanco
  51. Koray Kavukcuoglu
  52. KyungHyun Cho
  53. Li Deng
  54. Lucas Theis
  55. Ludovic Arnold
  56. Marc’Aurelio Ranzato
  57. Martin Längkvist
  58. Misha Denil
  59. Mohammad Norouzi
  60. Nando de Freitas
  61. Navdeep Jaitly
  62. Nicolas Le Roux
  63. Nitish Srivastava
  64. Noel Lopes
  65. Oriol Vinyals
  66. Pascal Vincent
  67. Patrick Nguyen
  68. Pedro Domingos
  69. Peggy Series
  70. Pierre Sermanet
  71. Piotr Mirowski
  72. Quoc V. Le
  73. Reinhold Scherer
  74. Richard Socher
  75. Rob Fergus
  76. Robert Coop
  77. Robert Gens
  78. Roger Grosse
  79. Ronan Collobert
  80. Ruslan Salakhutdinov
  81. Sebastian Gerwinn
  82. Stéphane Mallat
  83. Sven Behnke
  84. Tapani Raiko
  85. Tara Sainath
  86. Tijmen Tieleman
  87. Tom Karnowski
  88. Tomáš Mikolov
  89. Ueli Meier
  90. Vincent Vanhoucke
  91. Volodymyr Mnih
  92. Yann LeCun
  93. Yichuan Tang
  94. Yoshua Bengio
  95. Yotaro Kubo
  96. Youzhi (Will) Zou


  1. deeplearning.net
  2. deeplearning.stanford.edu
  3. nlp.stanford.edu
  4. ai-junkie.com
  5. cs.brown.edu/research/ai
  6. eecs.umich.edu/ai
  7. cs.utexas.edu/users/ai-lab
  8. cs.washington.edu/research/ai
  9. aiai.ed.ac.uk
  10. www-aig.jpl.nasa.gov
  11. csail.mit.edu
  12. cgi.cse.unsw.edu.au/~aishare
  13. cs.rochester.edu/research/ai
  14. ai.sri.com
  15. isi.edu/AI/isd.htm
  16. nrl.navy.mil/itd/aic
  17. hips.seas.harvard.edu
  18. AI Weekly
  19. stat.ucla.edu
  20. deeplearning.cs.toronto.edu
  21. jeffdonahue.com/lrcn/
  22. visualqa.org
  23. www.mpi-inf.mpg.de/departments/computer-vision…
  24. Deep Learning News


  1. MNIST Handwritten digits
  2. Google House Numbers from street view
  3. CIFAR-10 and CIFAR-100
  5. Tiny Images 80 Million tiny images6.
  6. Flickr Data 100 Million Yahoo dataset
  7. Berkeley Segmentation Dataset 500
  8. UC Irvine Machine Learning Repository
  9. Flickr 8k
  10. Flickr 30k
  11. Microsoft COCO
  12. VQA
  13. Image QA
  14. AT&T Laboratories Cambridge face database
  15. AVHRR Pathfinder
  16. Air Freight – The Air Freight data set is a ray-traced image sequence along with ground truth segmentation based on textural characteristics. (455 images + GT, each 160×120 pixels). (Formats: PNG)
  17. Amsterdam Library of Object Images – ALOI is a color image collection of one-thousand small objects, recorded for scientific purposes. In order to capture the sensory variation in object recordings, we systematically varied viewing angle, illumination angle, and illumination color for each object, and additionally captured wide-baseline stereo images. We recorded over a hundred images of each object, yielding a total of 110,250 images for the collection. (Formats: png)
  18. Annotated face, hand, cardiac & meat images – Most images & annotations are supplemented by various ASM/AAM analyses using the AAM-API. (Formats: bmp,asf)
  19. Image Analysis and Computer Graphics
  20. Brown University Stimuli – A variety of datasets including geons, objects, and “greebles”. Good for testing recognition algorithms. (Formats: pict)
  21. CAVIAR video sequences of mall and public space behavior – 90K video frames in 90 sequences of various human activities, with XML ground truth of detection and behavior classification (Formats: MPEG2 & JPEG)
  22. Machine Vision Unit
  23. CCITT Fax standard images – 8 images (Formats: gif)
  24. CMU CIL’s Stereo Data with Ground Truth – 3 sets of 11 images, including color tiff images with spectroradiometry (Formats: gif, tiff)
  25. CMU PIE Database – A database of 41,368 face images of 68 people captured under 13 poses, 43 illuminations conditions, and with 4 different expressions.
  26. CMU VASC Image Database – Images, sequences, stereo pairs (thousands of images) (Formats: Sun Rasterimage)
  27. Caltech Image Database – about 20 images – mostly top-down views of small objects and toys. (Formats: GIF)
  28. Columbia-Utrecht Reflectance and Texture Database – Texture and reflectance measurements for over 60 samples of 3D texture, observed with over 200 different combinations of viewing and illumination directions. (Formats: bmp)
  29. Computational Colour Constancy Data – A dataset oriented towards computational color constancy, but useful for computer vision in general. It includes synthetic data, camera sensor data, and over 700 images. (Formats: tiff)
  30. Computational Vision Lab
  31. Content-based image retrieval database – 11 sets of color images for testing algorithms for content-based retrieval. Most sets have a description file with names of objects in each image. (Formats: jpg)
  32. Efficient Content-based Retrieval Group
  33. Densely Sampled View Spheres – Densely sampled view spheres – upper half of the view sphere of two toy objects with 2500 images each. (Formats: tiff)
  34. Computer Science VII (Graphical Systems)
  35. Digital Embryos – Digital embryos are novel objects which may be used to develop and test object recognition systems. They have an organic appearance. (Formats: various formats are available on request)
  36. Univerity of Minnesota Vision Lab
  37. El Salvador Atlas of Gastrointestinal VideoEndoscopy – Images and Videos of his-res of studies taken from Gastrointestinal Video endoscopy. (Formats: jpg, mpg, gif)
  38. FG-NET Facial Aging Database – Database contains 1002 face images showing subjects at different ages. (Formats: jpg)
  39. FVC2000 Fingerprint Databases – FVC2000 is the First International Competition for Fingerprint Verification Algorithms. Four fingerprint databases constitute the FVC2000 benchmark (3520 fingerprints in all).
  40. Biometric Systems Lab – University of Bologna
  41. Face and Gesture images and image sequences – Several image datasets of faces and gestures that are ground truth annotated for benchmarking
  42. German Fingerspelling Database – The database contains 35 gestures and consists of 1400 image sequences that contain gestures of 20 different persons recorded under non-uniform daylight lighting conditions. (Formats: mpg,jpg)
  43. Language Processing and Pattern Recognition
  44. Groningen Natural Image Database – 4000+ 1536×1024 (16 bit) calibrated outdoor images (Formats: homebrew)
  45. ICG Testhouse sequence – 2 turntable sequences from ifferent viewing heights, 36 images each, resolution 1000×750, color (Formats: PPM)
  46. Institute of Computer Graphics and Vision
  47. IEN Image Library – 1000+ images, mostly outdoor sequences (Formats: raw, ppm)
  48. INRIA’s Syntim images database – 15 color image of simple objects (Formats: gif)
  49. INRIA
  50. INRIA’s Syntim stereo databases – 34 calibrated color stereo pairs (Formats: gif)
  51. Image Analysis Laboratory – Images obtained from a variety of imaging modalities — raw CFA images, range images and a host of “medical images”. (Formats: homebrew)
  52. Image Analysis Laboratory
  53. Image Database – An image database including some textures
  54. JAFFE Facial Expression Image Database – The JAFFE database consists of 213 images of Japanese female subjects posing 6 basic facial expressions as well as a neutral pose. Ratings on emotion adjectives are also available, free of charge, for research purposes. (Formats: TIFF Grayscale images.)
  55. ATR Research, Kyoto, Japan
  56. JISCT Stereo Evaluation – 44 image pairs. These data have been used in an evaluation of stereo analysis, as described in the April 1993 ARPA Image Understanding Workshop paper “The JISCT Stereo Evaluation” by R.C.Bolles, H.H.Baker, and M.J.Hannah, 263–274 (Formats: SSI)
  57. MIT Vision Texture – Image archive (100+ images) (Formats: ppm)
  58. MIT face images and more – hundreds of images (Formats: homebrew)
  59. Machine Vision – Images from the textbook by Jain, Kasturi, Schunck (20+ images) (Formats: GIF TIFF)
  60. Mammography Image Databases – 100 or more images of mammograms with ground truth. Additional images available by request, and links to several other mammography databases are provided. (Formats: homebrew)
  61. ftp://ftp.cps.msu.edu/pub/prip – many images (Formats: unknown)
  62. Middlebury Stereo Data Sets with Ground Truth – Six multi-frame stereo data sets of scenes containing planar regions. Each data set contains 9 color images and subpixel-accuracy ground-truth data. (Formats: ppm)
  63. Middlebury Stereo Vision Research Page – Middlebury College
  64. Modis Airborne simulator, Gallery and data set – High Altitude Imagery from around the world for environmental modeling in support of NASA EOS program (Formats: JPG and HDF)
  65. NIST Fingerprint and handwriting – datasets – thousands of images (Formats: unknown)
  66. NIST Fingerprint data – compressed multipart uuencoded tar file
  67. NLM HyperDoc Visible Human Project – Color, CAT and MRI image samples – over 30 images (Formats: jpeg)
  68. National Design Repository – Over 55,000 3D CAD and solid models of (mostly) mechanical/machined engineerign designs. (Formats: gif,vrml,wrl,stp,sat)
  69. Geometric & Intelligent Computing Laboratory
  70. OSU (MSU) 3D Object Model Database – several sets of 3D object models collected over several years to use in object recognition research (Formats: homebrew, vrml)
  71. OSU (MSU/WSU) Range Image Database – Hundreds of real and synthetic images (Formats: gif, homebrew)
  72. OSU/SAMPL Database: Range Images, 3D Models, Stills, Motion Sequences – Over 1000 range images, 3D object models, still images and motion sequences (Formats: gif, ppm, vrml, homebrew)
  73. Signal Analysis and Machine Perception Laboratory
  74. Otago Optical Flow Evaluation Sequences – Synthetic and real sequences with machine-readable ground truth optical flow fields, plus tools to generate ground truth for new sequences. (Formats: ppm,tif,homebrew)
  75. Vision Research Group
  76. ftp://ftp.limsi.fr/pub/quenot/opflow/testdata/piv/ – Real and synthetic image sequences used for testing a Particle Image Velocimetry application. These images may be used for the test of optical flow and image matching algorithms. (Formats: pgm (raw))
  77. LIMSI-CNRS/CHM/IMM/vision
  79. Photometric 3D Surface Texture Database – This is the first 3D texture database which provides both full real surface rotations and registered photometric stereo data (30 textures, 1680 images). (Formats: TIFF)
  80. SEQUENCES FOR OPTICAL FLOW ANALYSIS (SOFA) – 9 synthetic sequences designed for testing motion analysis applications, including full ground truth of motion and camera parameters. (Formats: gif)
  81. Computer Vision Group
  82. Sequences for Flow Based Reconstruction – synthetic sequence for testing structure from motion algorithms (Formats: pgm)
  83. Stereo Images with Ground Truth Disparity and Occlusion – a small set of synthetic images of a hallway with varying amounts of noise added. Use these images to benchmark your stereo algorithm. (Formats: raw, viff (khoros), or tiff)
  84. Stuttgart Range Image Database – A collection of synthetic range images taken from high-resolution polygonal models available on the web (Formats: homebrew)
  85. Department Image Understanding
  86. The AR Face Database – Contains over 4,000 color images corresponding to 126 people’s faces (70 men and 56 women). Frontal views with variations in facial expressions, illumination, and occlusions. (Formats: RAW (RGB 24-bit))
  87. Purdue Robot Vision Lab
  88. The MIT-CSAIL Database of Objects and Scenes – Database for testing multiclass object detection and scene recognition algorithms. Over 72,000 images with 2873 annotated frames. More than 50 annotated object classes. (Formats: jpg)
  89. The RVL SPEC-DB (SPECularity DataBase) – A collection of over 300 real images of 100 objects taken under three different illuminaiton conditions (Diffuse/Ambient/Directed). — Use these images to test algorithms for detecting and compensating specular highlights in color images. (Formats: TIFF )
  90. Robot Vision Laboratory
  91. The Xm2vts database – The XM2VTSDB contains four digital recordings of 295 people taken over a period of four months. This database contains both image and video data of faces.
  92. Centre for Vision, Speech and Signal Processing
  93. Traffic Image Sequences and ‘Marbled Block’ Sequence – thousands of frames of digitized traffic image sequences as well as the ‘Marbled Block’ sequence (grayscale images) (Formats: GIF)
  95. U Bern Face images – hundreds of images (Formats: Sun rasterfile)
  96. U Michigan textures (Formats: compressed raw)
  97. U Oulu wood and knots database – Includes classifications – 1000+ color images (Formats: ppm)
  98. UCID – an Uncompressed Colour Image Database – a benchmark database for image retrieval with predefined ground truth. (Formats: tiff)
  99. UMass Vision Image Archive – Large image database with aerial, space, stereo, medical images and more. (Formats: homebrew)
  100. UNC’s 3D image database – many images (Formats: GIF)
  101. USF Range Image Data with Segmentation Ground Truth – 80 image sets (Formats: Sun rasterimage)
  102. University of Oulu Physics-based Face Database – contains color images of faces under different illuminants and camera calibration conditions as well as skin spectral reflectance measurements of each person.
  103. Machine Vision and Media Processing Unit
  104. University of Oulu Texture Database – Database of 320 surface textures, each captured under three illuminants, six spatial resolutions and nine rotation angles. A set of test suites is also provided so that texture segmentation, classification, and retrieval algorithms can be tested in a standard manner. (Formats: bmp, ras, xv)
  105. Machine Vision Group
  106. Usenix face database – Thousands of face images from many different sites (circa 994)
  107. View Sphere Database – Images of 8 objects seen from many different view points. The view sphere is sampled using a geodesic with 172 images/sphere. Two sets for training and testing are available. (Formats: ppm)
  109. Vision-list Imagery Archive – Many images, many formats
  110. Wiry Object Recognition Database – Thousands of images of a cart, ladder, stool, bicycle, chairs, and cluttered scenes with ground truth labelings of edges and regions. (Formats: jpg)
  111. 3D Vision Group
  112. Yale Face Database – 165 images (15 individuals) with different lighting, expression, and occlusion configurations.
  113. Yale Face Database B – 5760 single light source images of 10 subjects each seen under 576 viewing conditions (9 poses x 64 illumination conditions). (Formats: PGM)
  114. Center for Computational Vision and Control
  115. DeepMind QA Corpus – Textual QA corpus from CNN and DailyMail. More than 300K documents in total. Paper for reference.
  116. YouTube-8M Dataset – YouTube-8M is a large-scale labeled video dataset that consists of 8 million YouTube video IDs and associated labels from a diverse vocabulary of 4800 visual entities.
  117. Open Images dataset – Open Images is a dataset of ~9 million URLs to images that have been annotated with labels spanning over 6000 categories.


  1. Caffe
  2. Torch7
  3. Theano
  4. cuda-convnet
  5. convetjs
  6. Ccv
  7. NuPIC
  8. DeepLearning4J
  9. Brain
  10. DeepLearnToolbox
  11. Deepnet
  12. Deeppy
  13. JavaNN
  14. hebel
  15. Mocha.jl
  16. OpenDL
  17. cuDNN
  18. MGL
  19. Knet.jl
  20. Nvidia DIGITS – a web app based on Caffe
  21. Neon – Python based Deep Learning Framework
  22. Keras – Theano based Deep Learning Library
  23. Chainer – A flexible framework of neural networks for deep learning
  24. RNNLM Toolkit
  25. RNNLIB – A recurrent neural network library
  26. char-rnn
  27. MatConvNet: CNNs for MATLAB
  28. Minerva – a fast and flexible tool for deep learning on multi-GPU
  29. Brainstorm – Fast, flexible and fun neural networks.
  30. Tensorflow – Open source software library for numerical computation using data flow graphs
  31. DMTK – Microsoft Distributed Machine Learning Tookit
  32. Scikit Flow – Simplified interface for TensorFlow (mimicking Scikit Learn)
  33. MXnet – Lightweight, Portable, Flexible Distributed/Mobile Deep Learning framework
  34. Veles – Samsung Distributed machine learning platform
  35. Marvin – A Minimalist GPU-only N-Dimensional ConvNets Framework
  36. Apache SINGA – A General Distributed Deep Learning Platform
  37. DSSTNE – Amazon’s library for building Deep Learning models
  38. SyntaxNet – Google’s syntactic parser – A TensorFlow dependency library
  39. mlpack – A scalable Machine Learning library
  40. Torchnet – Torch based Deep Learning Library
  41. Paddle – PArallel Distributed Deep LEarning by Baidu
  42. NeuPy – Theano based Python library for ANN and Deep Learning


  1. Google Plus – Deep Learning Community
  2. Caffe Webinar
  3. 100 Best Github Resources in Github for DL
  4. Word2Vec
  5. Caffe DockerFile
  6. TorontoDeepLEarning convnet
  7. gfx.js
  8. Torch7 Cheat sheet
  9. Misc from MIT’s ‘Advanced Natural Language Processing’ course
  10. Misc from MIT’s ‘Machine Learning’ course
  11. Misc from MIT’s ‘Networks for Learning: Regression and Classification’ course
  12. Misc from MIT’s ‘Neural Coding and Perception of Sound’ course
  13. Implementing a Distributed Deep Learning Network over Spark
  14. A chess AI that learns to play chess using deep learning.
  15. Reproducing the results of “Playing Atari with Deep Reinforcement Learning” by DeepMind
  16. Wiki2Vec. Getting Word2vec vectors for entities and word from Wikipedia Dumps
  17. The original code from the DeepMind article + tweaks
  18. Google deepdream – Neural Network art
  19. An efficient, batched LSTM.
  20. A recurrent neural network designed to generate classical music.
  21. Memory Networks Implementations – Facebook
  22. Face recognition with Google’s FaceNet deep neural network.
  23. Basic digit recognition neural network
  24. Emotion Recognition API Demo – Microsoft
  25. Proof of concept for loading Caffe models in TensorFlow
  26. YOLO: Real-Time Object Detection
  27. AlphaGo – A replication of DeepMind’s 2016 Nature publication, “Mastering the game of Go with deep neural networks and tree search”
  28. Machine Learning for Software Engineers
  29. Machine L