I am new to the machine learning field, but I wanted to try and implement a simple classification algorithm with Keras. Unfortunately, I have a very small set of data, so I thought to try to apply transfer learning to the problem; however, I couldn't find anything on this online, so I wanted to understand which are the best places to look for a pre-trained neural network. Do you have any suggestion in this regard? Which website is best for getting an idea on how to start a machine learning project?
Keras itself provides some of the successful image processing neural networks pretrained on the ImageNet: https://keras.io/applications/
Other deep learning libraries also offer some pretrained models, notably:
- TensorFlow: https://github.com/tensorflow/models
- caffe: https://github.com/BVLC/caffe/wiki/Model-Zoo
- caffe2: https://github.com/caffe2/caffe2/wiki/Model-Zoo
- pytorch: https://github.com/Cadene/pretrained-models.pytorch
- Lasagne: https://github.com/Lasagne/Recipes
Many pretrained models for various platforms can also be found at https://www.gradientzoo.com.
Moreover, if you are interested in some particular network architecture, authors sometimes provide pretrained models themselves, e.g. ResNeXt.
Since the question title is generic (and not specific to computer vision), I will give the NLP-related answer as well, in case it helps someone who stumbles upon looking for pretrained vector embeddings:
The two most popular pre-trained vector embeddings can be found on these links:
- GloVe- https://nlp.stanford.edu/projects/glove/
- Tensorflow Embeddings - https://code.google.com/archive/p/word2vec/
There are also a couple of less popular and/or more recent ones:
- LexVec - https://github.com/alexandres/lexvec
- FastText - https://github.com/icoxfog417/fastTextJapaneseTutorial
- Meta-Embeddings - http://cistern.cis.lmu.de/meta-emb/