new contributors! • Easy interface to trained networks • Bring deep nets into sklearn pipelines • Includes examples from this talk https://github.com/sklearn-theano/sklearn-theano
models OverFeat (NYU)[4] DeCAF (UCB) Canny Not pictured: Weeks of expert time and compute time Cross-validation of entire networks! linear models SVM sklearn- theano
[5] • Trains two networks ◦ Generate examples from random input ◦ Discriminate whether generated or real Generation sklearn_theano/examples/plot_mnist_generator.py
but between layers ◦ Across channels, with certain size ◦ Maybe key piece (batch normalization very similar) • Inception Modules ◦ Parallel convolutions concatenated ◦ Naive version has huge parameter growth ◦ Use 1x1 convolution to project downwards ◦ Can tune to limit number of parameters
for your model ◦ If you trained it, you already have this! • Compile caffe.proto into caffe_pb2.py ◦ This uses protoc, which is part of Google’s protobuf ◦ Can apt-get install protobuf-compiler ◦ Use protobuf 2.4.x , NOT 3.x • Make a new directory ◦ sklearn-theano/sklearn-theano/models/mymodel
the new mymodel folder ◦ Every model has its own caffe_pb2.py • Modify the imports in caffe_pb2.py ◦ Need relative imports to use externals version ◦ ...externals.google instead of google • Try to parse the model using our tools ◦ feature_extraction/caffe/caffemodel.py • Build a new class wrapper ◦ See feature_extraction/caffe/googlenet.py
well, it is done! • If not, raise an issue on GitHub • Specialized nodes need Theano code • Send a PR • Currently testing this workflow with VGGNet • Want to add CIFAR10 NiN • Others?
deep nets) • Theano is a great package for {C,G}PU math in Python • Neural networks are powerful feature extractors • Use large neural nets easily in sklearn-theano ◦ Use them within sklearn pipelines ◦ Use them as building blocks for your own Theano net
convolutional nets • Support other types of inputs, e.g. audio and text • Enable fine tuning to specific tasks • Help us bring powerful feature extractors into the scikit- learn and Theano worlds!
D. Eigen, X. Zhang, M. Mathieu, R. Fergus, Y. LeCun. OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks, International Conference on Learning Representations (ICLR 2014), April 2014. http://arxiv.org/abs/1406.2661 [5] I. Goodfellow, J. Pouget-Abadie, M. Mirza, B. Xu, D. Warde-Farley, S. Ozair, A. Courville, Y. Bengio. Generative Adversarial Networks, arXiV, June 2014. http://arxiv.org/abs/1406.2661 [6] Going Deeper With Convolutions, C. Szegedy