Ricardo's Place Robotics, machine learning, or simply random thoughts!

Creating Singularity containers from local Docker images

TL; DR: Singularity containers are like Docker containers that don’t force you to be root to run them. Ok, if you want a better explanation, I suggest this presentation or just try searching for it.

Read more...

Interactively playing with MNIST

My interactive MNIST toy running on a Jupyter notebook

The very first example you use to introduce neural nets to students nowadays is always something based on MNIST handwritten numbers. Therefore, I decided to create an interactive notebook where you can directly draw your digits to test your brand new trained neural net.

Read more...

Loading code directly from git (or anywhere actually) inside a Jupyter cell

I may be getting used to short posts, but here it comes: this will be another zippy one! The other day, I realized something quite interesting about the Jupyter notebook (in fact, it comes from IPython…) magic %load. You can use it with an URL!

Read more...

Direct access to your webcam and microphone inside Google Colab notebook

Ok, this is a straight to the point post! In previous posts I explained how to save an image directly from your webcam. However, that method was using OpenCV and it can only access hardware connected to the host (where the Jupyter notebook server is running). One classic example where you can’t access a webcam directly is Google Colaboratory. As I said at the beginning, you can only access the hardware from host, so the microphone also will not be available. Javascript to the rescue!

Read more...

An UPDATED TensorFlow docker image to rule them all

TensorFlow+OpenCV+Access to local HD+docker

Read more...

Testing my new TensorFlow / OpenCV / etc. docker image

My last post was all about creating a TensorFlow docker image that would work with OpenCV, inside a Jupyter notebook, creating external windows, accessing the webcam, saving things using the current user from host, etc. All that hard work had a reason: use the newest version of TensorFlow for computer vision. So, let’s try it!

First results from my TensorFlow docker image
Without the hat and the measuring tape, it was 0.9 for mask :disappointed_relieved:.

Read more...

A TensorFlow docker image to rule them all

TensorFlow+OpenCV+Access to local HD+docker

Read more...

3D Printer Bed Leveling - The Blu-Tack way!

Last month, I decided to sell my good ol’ 3D printer, a HobbyKing incarnation (Turnigy Fabrikator Mini) of the TinyBoy V1, to buy a delta one.

Linear Delta 3D Printer
My new Linear Delta 3D Printer working and working and working...

Read more...

How to reset your Windows 7, 8 or 10 password without black magic

Currently, I’m a last year Robotics / Artificial Intelligence Ph.D candidate (don’t be shy, have a look at my publications), father of a 7-yrs-old boy and I’m living abroad with my family since 2013. So, life is quite busy, a little bit stressful and it happens that, sometimes, I simply forget things. The other day, I was setting up a new Dell laptop (I’ve bought it really, really cheap from their UK outlet, free delivery and I even got an extra student discount!) that came with Windows 10 and, as always, I created a very hard to guess password. It was so hard to guess that I forgot it after a week! And that’s how the idea for this post began.

How to recover your windows password
This webpage was not helpful in my situation.

Read more...

Easy-peasy Deep Learning and Convolutional Networks with Keras - Part 2

This is the continuation (finally!), or the Part 2, of the “Easy-peasy Deep Learning and Convolutional Networks with Keras”. This post should be something self-contained, but you may enjoy reading Part 1 and Part 1½… it’s up to you.

Around one week ago, I’d attended a CUDA workshop presented (or should I say conducted?) by my friend Anthony Morse and I’m still astounded by DIGITS. So, during the workshop, I had some interesting ideas to use on this post!

The first thing I thought when I read (or heard?) for the first time the name Convolutional Neural Network was a bunch of filters (Gimp would agree with me). I’m an Electrical Engineer and, for most of us (Electrical Engineers), convolutions start as nightmares and, gradually, become our almighty super weapon after a module like Signal and Systems.

Let’s start with something easy… a video! Below, you can observe, step-by-step, what happens when a 2D convolution (think about a filter that detects, or enhances, edges) is applied to an image:


Read more...