The main focus for CW 7 was installation of ‘caffe’, which had been chosen as a solution to extract the input image features. The main reason for choosing caffe was because it has been used in one of the projects by Insight, mentioned in a previous post. This gives me opportunity to seek advice and help from people who have gained practical knowledge and experience with caffe along with the online resources available. Another important reason for choosing this framework is because it provides pre-trained models that can be modified to suit specific needs and it also provides a model that I will need to extract image features from the query image.
The installation of caffe is very difficult as it requires many pre-requisites such as CUDA driver and libraries, BLAS, Boost, OpenCV, IO Libraries, Python, Python libraries and Python caffe module and some others. Some versions of these do not work well with others or they need to be configured in different ways. I have been trying to install caffe on Ubuntu in CW7 and I have not managed to do it. I asked Dian for help in CW 8, and after many failed installations and corrected errors, caffe still fails some of the tests after compiling it. In a worst case scenario I would get access to caffe on one of the lab machines in Insight.
While Dian was still trying to install caffe on his own machine (CW 8), with final success at the end of the week (and promised to give it another try on my laptop) I have concentrated on learning Python basics. Caffe is written in C++ and provides two interfaces: Matlab and Python, to access the libraries and we have selected Python as this would be easier for me to learn from basics because of similarity to Java, than Matlab, but also because ‘Annoy’ that I am planning to use for indexing of the dataset, can also be accessed with Python interface.
The past two weeks brought many technical challenges (and there is many more to come) and installation of caffe, which is much more difficult than I would ever expect, have delayed my schedule which I will try to get back on during the next two weeks.