Package structure

Hello! During the first period of GSoC I have worked mostly on analyzing the Matlab structure of the net package in order to guarantee the compatibility throughout the whole project. The focus of the project is on the convolutional neural networks, about which I will write the next post.

Regarding the package structure, the core will be composed by three parts:

Layers:there are 11 types of layersthat I defined as Octave classes, using classdef. These layers can be concatenated in order to create a Layer object defining the architecture of the network. This will be the input for the training function. Training: the core of the project is the training function, which takes as input the data, the layers and some options and returns the network as output. Network:the network object has three methods (activations, classify and predict) that let the user compute the final classification and prediction. 

I have already implemented a draft for the first point, the layers classes [1]. Every l…


05/05 - 30/05 (community bonding period)

Week 1Begin to stay in contact and familiarize with the community, using both the mailing list and the IRC channel. Improve expertise with tools like Mercurial and autotools. Install and run Pytave [3] Read Matlab doc of Neural Network Toolbox [2] classes and basic functions, with a focus on the deep learning part about CNNs.

Week 2 Test Pytave and figure out if there are some bugs or missing features in the specific part that we need to use. Figure out if we need some object programming in Octave (like classdef) and test it.

Week 3 Deeply analyze Python Tensorflow APIs [3] and read Stanford tutorial "Tensorflow for Deep Learning Research" [4].

30/05 - 30/06 (Phase 1)

Week 4,5 Work on the makefile in order to link TF in Python and test some basic nets with TF.

Week 6,7 Write all the Octave classes for every layer. Because of the focus on Matlab Nnet Toolbox, we will start to define the fundamental layers used for CNNs : Convolutional …

Introductory Post

Hello, I'm Enrico Bertino, and this is the blog I'll be using to track my work for Google Summer of Code 2017. The project will consist in rifare the neural network package with a focus on convolutional neural networks. Here my proposal.

Something about myself: I’m an Mathematical Engineering student and I live in Milan. After a BSc in Politecnico di Milano I did a master double degree both in Ecole Centrale de Nantes, France, and Politecnico di Milano. In the two years in France I attended engineering classes with spec in virtual reality and in Italy I am enrolled in the last year of MSc major Statistics and Big Data.

During my project, I will leverage on the Pytave project in order to exploit Python code for the implementation of the package. This is almost necessary because nowadays there is a strong tendency to open-researching in the deep learning field, where even the biggest companies release their frameworks and open their code. The level of this resources is very high…