summaryrefslogtreecommitdiff
path: root/docs/model_zoo.md
diff options
context:
space:
mode:
authorSergey Karayev <sergeykarayev@gmail.com>2014-09-04 01:08:19 +0100
committerSergey Karayev <sergeykarayev@gmail.com>2014-09-04 03:59:14 +0100
commitda715ea07af8ea42487d333e3441d138320da36a (patch)
tree67343cbf6e317d0ad4a50d0961db1d4e081911c4 /docs/model_zoo.md
parentd5e9739e5261de5f30832c06d849da5265bc95c6 (diff)
downloadcaffeonacl-da715ea07af8ea42487d333e3441d138320da36a.tar.gz
caffeonacl-da715ea07af8ea42487d333e3441d138320da36a.tar.bz2
caffeonacl-da715ea07af8ea42487d333e3441d138320da36a.zip
removed mention of getting_pretrained_models page and old paths
Diffstat (limited to 'docs/model_zoo.md')
-rw-r--r--docs/model_zoo.md68
1 files changed, 48 insertions, 20 deletions
diff --git a/docs/model_zoo.md b/docs/model_zoo.md
index b4cbeb1d..490bb68f 100644
--- a/docs/model_zoo.md
+++ b/docs/model_zoo.md
@@ -1,31 +1,59 @@
# Caffe Model Zoo
+Lots of people have used Caffe to train models of different architectures and applied to different problems, ranging from simple regression to AlexNet-alikes to Siamese networks for image similarity to speech applications.
+
+To lower the friction of sharing these models, we introduce the model zoo framework:
+
+- A standard format for packaging Caffe model info.
+- Tools to upload/download model info to/from Github Gists, and to download trained `.caffemodel` binaries.
+- A central wiki page for sharing model info Gists.
+
+## Where to get trained models
+
+First of all, we provide some trained models out of the box.
+Each one of these can be downloaded by running `scripts/download_model_binary.py <dirname>` where `<dirname>` is specified below:
+
+- **BVLC Reference CaffeNet** in `models/bvlc_reference_caffenet`: AlexNet trained on ILSVRC 2012, with a minor variation from the version as described in the NIPS 2012 paper.
+- **BVLC AlexNet** in `models/bvlc_alexnet`: AlexNet trained on ILSVRC 2012, almost exactly as described in NIPS 2012.
+- **BVLC Reference R-CNN ILSVRC-2013** in `models/bvlc_reference_rcnn_ilsvrc13`: pure Caffe implementation of [R-CNN](https://github.com/rbgirshick/rcnn).
+
+User-provided models are posted to a public-editable [wiki page](https://github.com/BVLC/caffe/wiki/Model-Zoo).
+
+## Model info format
+
A caffe model is distributed as a directory containing:
-- solver/model prototxt(s)
-- model binary file, with .caffemodel extension
-- readme.md, containing:
- - YAML header:
- - model file URL or (torrent magnet link) and MD5 hash
- - Caffe commit hash use to train this model
- - [optional] github gist id
- - license type or text
- - main body: free-form description/details
-- helpful scripts
-It is up to the user where to host the model file.
-Dropbox or their own server are both fine.
+- Solver/model prototxt(s)
+- Readme.md containing
+ - YAML frontmatter
+ - Caffe version used to train this model (tagged release or commit hash).
+ - [optional] file URL and SHA1 of the trained `.caffemodel`.
+ - [optional] github gist id.
+ - Information about what data the model was trained on, explanation of modeling choices, etc.
+ - License information.
+- [optional] Other helpful scripts.
+
+## Hosting model info
+
+Github Gist is a good format for model info distribution because it can contain multiple files, is versionable, and has in-browser syntax highlighting and markdown rendering.
+
+- `scripts/download_model_from_gist.sh <gist_id>`: downloads the non-binary files from a Gist into `<dirname>`
+- `scripts/upload_model_to_gist.sh <dirname>`: uploads non-binary files in the model directory as a Github Gist and prints the Gist ID. If `gist_id` is already part of the `<dirname>/readme.md` frontmatter, then updates existing Gist.
-We provide scripts:
+### Hosting trained models
-- publish_model_as_gist.sh: uploads non-binary files in the model directory as a Github Gist and returns the id. If gist id is already part of the readme, then updates existing gist.
-- download_model_from_gist.sh <gist_id>: downloads the non-binary files from a Gist.
-- download_model_binary.py: downloads the .caffemodel from the URL specified in readme.
+It is up to the user where to host the `.caffemodel` file.
+We host our BVLC-provided models on our own server.
+Dropbox also works fine (tip: make sure that `?dl=1` is appended to the end of the URL).
-The Gist is a good format for distribution because it can contain multiple files, is versionable, and has in-browser syntax highlighting and markdown rendering.
+- `scripts/download_model_binary.py <dirname>`: downloads the `.caffemodel` from the URL specified in the `<dirname>/readme.md` frontmatter and confirms SHA1.
-The existing models distributed with Caffe can stay bundled with Caffe, so I am re-working them all into this format.
-All relevant examples will be updated to start with `cd models/model_of_interest && ../scripts/download_model_binary.sh`.
## Tasks
-- get the imagenet example to work with the new prototxt location
+x get the imagenet example to work with the new prototxt location
+x make wiki page for user-submitted models
+- add flickr model to the user-submitted models wiki page
+x make docs section listing bvlc-distributed models
+- write the publish_model_as_gist script
+- write the download_model_from_gist script