All Projects → johannesu → Nasnet Keras

johannesu / Nasnet Keras

Licence: mit
Keras implementation of NASNet-A

Projects that are alternatives of or similar to Nasnet Keras

Google It Automation
google it automation with python professional certificate
Stars: ✭ 81 (-1.22%)
Mutual labels:  jupyter-notebook
H3 Py Notebooks
Jupyter notebooks for h3-py, a hierarchical hexagonal geospatial indexing system
Stars: ✭ 82 (+0%)
Mutual labels:  jupyter-notebook
Cs231n
Stanford cs231n'18 assignment
Stars: ✭ 82 (+0%)
Mutual labels:  jupyter-notebook
Ergo
A Python library for integrating model-based and judgmental forecasting
Stars: ✭ 82 (+0%)
Mutual labels:  jupyter-notebook
Dareblopy
Data Reading Blocks for Python
Stars: ✭ 82 (+0%)
Mutual labels:  jupyter-notebook
Malwaredatascience
Malware Data Science Reading Diary / Notes
Stars: ✭ 82 (+0%)
Mutual labels:  jupyter-notebook
Juliaopt Notebooks
A collection of IJulia notebooks related to optimization
Stars: ✭ 81 (-1.22%)
Mutual labels:  jupyter-notebook
Nbconflux
nbconflux converts Jupyter Notebooks to Atlassian Confluence pages
Stars: ✭ 82 (+0%)
Mutual labels:  jupyter-notebook
Sequence Jacobian
Interactive guide to Auclert, Bardóczy, Rognlie, and Straub (2019): "Using the Sequence-Space Jacobian to Solve and Estimate Heterogeneous-Agent Models".
Stars: ✭ 82 (+0%)
Mutual labels:  jupyter-notebook
Intro To Text Analytics
introduction to text analytics in python training for odsc west 2018
Stars: ✭ 82 (+0%)
Mutual labels:  jupyter-notebook
Cs231n Assignment2019
CS231n 2019年春季学期课程作业
Stars: ✭ 82 (+0%)
Mutual labels:  jupyter-notebook
Ant Learn Recsys
推荐系统从入门到实战
Stars: ✭ 79 (-3.66%)
Mutual labels:  jupyter-notebook
Voice Conversion Gan
Voice Conversion using Cycle GAN's For Non-Parallel Data
Stars: ✭ 82 (+0%)
Mutual labels:  jupyter-notebook
Jupyter to medium
Python package for publishing Jupyter Notebooks as Medium blogposts
Stars: ✭ 82 (+0%)
Mutual labels:  jupyter-notebook
Yolo resnet
Implementing YOLO using ResNet as the feature extraction network
Stars: ✭ 82 (+0%)
Mutual labels:  jupyter-notebook
Openml R
R package to interface with OpenML
Stars: ✭ 81 (-1.22%)
Mutual labels:  jupyter-notebook
Credit card fraud
This repository includes the code used in my corresponding Medium post.
Stars: ✭ 82 (+0%)
Mutual labels:  jupyter-notebook
Articles
Papers I read
Stars: ✭ 82 (+0%)
Mutual labels:  jupyter-notebook
Fonduer Tutorials
A collection of simple tutorials for using Fonduer
Stars: ✭ 82 (+0%)
Mutual labels:  jupyter-notebook
Deterministic Variational Inference
Sample code for running deterministic variational inference to train Bayesian neural networks
Stars: ✭ 82 (+0%)
Mutual labels:  jupyter-notebook

Build Status

NASNetA-Keras

Keras implementation of NASNet-A. The best performing model from the paper Learning Transferable Architectures for Scalable Image Recognition [1]. An extension of AutoML [2].

Demo

demo.ipynb shows how to load a pretrained model and use it to classify an image.

Other versions

As of version 2.1.3 keras includes two versions of NASNet.

If you are

  • Only interested in NASNet-mobile (4 @ 1056) and/or NASNet-large (6 @ 4032).

  • Only interested in using channel last data format.

I would recommend upgrading keras and using the built in version.

This version

Even after the addition of the built in models, there are still some uses for this project, since it is more general.

  • It allows you to create any NASNet-A model. If you want something faster than large and more accurate than mobile.

  • It allows you to load pretrained models using either channel last or channel first data format.

  • It allows you to load any model trained with Googles' implementation (the weights will be converted).

Install

System requirements on Ubuntu 16.04

sudo apt-get install python3-pip python3-tk

Install python requirements and the package

pip3 install https://github.com/johannesu/NASNet-keras/archive/master.zip

You can now use the package in python

from nasnet import mobile
model = mobile()
model.summary()

Reference implementation

Googles' tensorflow-slim implementation: https://github.com/tensorflow/models/tree/master/research/slim/nets/nasnet.

Pretrained weights

Models trained with the reference implementation can be convert to this model. This includes the two trained models provided by Google https://github.com/tensorflow/models/tree/master/research/slim/nets/nasnet.

  • Setup models, download tensorflow checkpoints and convert them to Keras.
import nasnet

# NASNet-A_Mobile_224
model = nasnet.mobile(weights='imagenet')

# NASNet-A_Large_331
model = nasnet.large(weights='imagenet')

Converting the checkpoints can take a few minutes, the work is cached and will be fast the second call.

Model visualization

NASNet-A (6 @ 768) from the paper, visualized in tensorboard:

NASNet-A (6 @ 768)

References

[1] Learning Transferable Architectures for Scalable Image Recognition. https://arxiv.org/abs/1707.07012 Barret Zoph, Vijay Vasudevan, Jonathon Shlens, Quoc V. Le.

[2] AutoML for large scale image classification and object detection https://research.googleblog.com/2017/11/automl-for-large-scale-image.html Barret Zoph, Vijay Vasudevan, Jonathon Shlens, Quoc V. Le.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].