The purpose of this blog is to document my progress on the conditional image generation project. This project is part of the Deep Learning course offered by Université de Montréal .
The task at hand is to generate the middle region of images conditioned on the outside border of the image and a caption describing the image. An example of that can be seen below.
As a first step to tackle this task, I am familiarising myself with Theano. Theano is a numerical computation library for Python that is widely used in deep learning projects. Its main functionality is to efficiently evaluate mathematical expressions involving multi-dimensional array via the GPU.
On top of Theano, I am familiarising myself with Keras. Keras provides an abstraction on top of Theano. By abstracting low level tasks, Keras allows someone to perform fast experimentation and prototyping. This is ideal for this project, because since this task is novel we have to experiment with many different models and architectures!
There are several tutorials available online for both Theano and Keras. Introductory Theano Tutorial, Another Intro to Theano and finally an Advanced Theano Tutorial. Here is a good very basic intro to Keras. However, just like everything else I think the best way to master Theano and Keras is to start working and use their own documentation after you learn the basics!