DEEP OC Conus Classification (Theano)

By DEEP-Hybrid-DataCloud Consortium | Created: - Updated:

deprecated/services, library/theano, library/lasagne, docker

License: Apache License 2.0

Build Status

This service is deprecated. Please refer to the newer Tensorflow version

Citizen science has become a powerful force for scientific inquiry, providing researchers with access to a vast array of data points while connecting non scientists to the real process of science. This citizen-researcher relationship creates a very interesting synergy, allowing for the creation, execution, and analysis of research projects. With this in mind, a Convolutional Neural Network using ResNet50 has been trained to identify conus marine snails at species level [1] in collaboration with the Museo de Ciencias Naturales in Madrid 2. The taxonomy of these snails has changed significantly several times during recent years and the introduction of Deep Learning techniques allowing to classify them is a very valuable tool for the experts.

This Docker container contains a trained Convolutional Neural network optimized for conus snails identification using images. The architecture used is a Resnet50 [3] using Lasagne on top of Theano.

The training dataset has been provided by the Museo de Ciencias Naturales de Madrid and it consists on a dataset containing images of 68 species of conus covering three different regions: Panamic region South African region Western atlantic and mediterranean region.


[1]: Puillandre, N.; Duda, T.F.; Meyer, C.; Olivera, B.M.; Bouchet, P. (2014). "One, four or 100 genera? A new classification of the cone snails". Journal of Molluscan Studies. 81 (1): 1–23. doi:10.1093/mollus/eyu055. PMC 4541476. PMID 26300576.

[3]: He, K., Zhang, X., Ren, S., & Sun, J. (2016). Deep residual learning for image recognition. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 770-778)

Run locally on your computer

Using Docker

You can run this module directly on your computer, assuming that you have Docker installed, by following these steps:

$ docker pull deephdc/deep-oc-conus-classification
$ docker run -ti -p 5000:5000 deephdc/deep-oc-conus-classification

Using udocker

If you do not have Docker available or you do not want to install it, you can use udocker within a Python virtualenv:

$ virtualenv udocker
$ source udocker/bin/activate
$ git clone
$ cd udocker
$ pip install .
$ udocker pull deephdc/deep-oc-conus-classification
$ udocker create deephdc/deep-oc-conus-classification
$ udocker run -p 5000:5000  deephdc/deep-oc-conus-classification

Once running, point your browser to and you will see the API documentation, where you can test the module functionality, as well as perform other actions (such as training).

For more information, refer to the user documentation.