Converting the CIFAR-10 dataset

The binary files of the CIFAR-10 dataset need to be converted to HDF5 as that is the format recognised by Mocha. To do this, I will use the Julia script convert.jl provided by pluskid. First, in Julia used the package manager to install HDF5: Pkg.add(“HDF5”). Then ran the conversion script. I get the following error:

UndefVarError: h5open not defined
in macro expansion; at ./REPL[9]:2 [inlined]
in anonymous at ./<missing>:?

Installing Caffee on Docker

Downloaded the Docker image from BVLC’s repository. First time I tried, the pull failed with a Docker i/o error: “failed to register layer” Then reset Docker to factory defaults. Then the pull worked: dowboaded newer image for bvlc/caffee: cpu.

“Cold-brewed” Caffee

I’m going to install Caffee on a system that doesn’t have a GPU. This MacBook Air 2014 only has Intel integrated graphics… no dedicated graphics chip. Is it possible to install and run Caffee without a GPU?  Yes, according to their docs. Caffee can be configured to use only the CPU. Uncomment CPU_ONLY := 1 in MakeFile.config to get “cold-brewed” Caffee.

Of course, the deep learning algorithms required for image classification would run much faster with GPU support, as the parallel architecture of a GPU is ideally suited to those algorithms. But they can still run on the CPU alone. So I’m going to try the deep learning tutorial without a GPU. Something may be learned by starting from the minimum and working up.

Installing Caffee on OS X

I found out yesterday that I’d have to install Caffee first before I could start the demo in  Mocha. Caffee is a CNN (Convolutional Neural Network) developed by Berkely Vison and Learning Center. The tutorial I’m following (at  requires using Caffee’s API to export the Caffee model parameters to HDF5 format. After that, the exported file can be input to Mocha. To sum up, I have to install Caffee first. That’s next…

Setting up Julia locally

Setting up Julia locally first, before trying the cloud environment. Running OS X, El Capitan. Python and iPython weee already installed. So I first installed Julia, then installed IJulia.jl from the Julia REPL (Read Eval Print Loop). IJulia is an interface between Julia and Jupyter notebooks. Then installed Images.jl, also from the Julia REPL. Then Gadfly, a visualization  tool written in Julia. Will continue tomorrow night.

Starting Julia & Mocha

Since my last post, I discovered the Julia language. Like Lua, it is a high-performance programming language ideally suited to numeric analysis. Depending on how I get on with Julia, I may decide to run Mocha (a machine learning library for Julia) on an AWS instance instead of Torch. 

String searching algorithms

Objective:  compare two algorithms by inputting the same data to both. The two algorithms are the naive exact matching algorithm and the Boyer-Moore algorithm. They are implemented in Python code. The data consists of a pattern (P) and text (T). 

Starting points

My starting point was an online course in genomic data science, which requires some coding in Python. In this blog, I’ll write about my experience of learning Python and Julia, and deep learning frameworks built for them. I’ll tell the story exactly as it happens, in raw and arduous detail.