Overview¶
Welcome to neon! The typical workflow for a deep learning model is as follows:
Generate a backend
The backend defines where computations are executed in neon. We support CPU, MKL, and GPU (Pascal, Maxwell or Kepler architectures) backends.
See neon backend
Load data
Neon supports loading of both common and custom datasets. Data should be loaded as a python iterator, providing one minibatch of data at a time during training.
See Datasets, Data loaders,
Specify model architecture (layers, activation functions, weight initializers)
Create your model by providing a list of layers. For layers with weights, provide a function to initialize the weights prior to training.
Train model
To train a model, provide the training data (as an iterator), cost function, and an optimization algorithm for updating the model’s weights. To modify the learning rate over the training time, provide a learning schedule.
See Datasets, Costs and metrics, Optimizers, and Learning schedules
Evaluate
Evaluate a trained model based on a validation dataset and a provided Metric.
See Models, Costs and metrics
Neon Features¶
Neon currently supports the following:
- Backends -
NervanaGPU
,NervanaCPU
,NervanaCPU
- Datasets
- Images: MNIST, CIFAR-10, ImageNet 1K, PASCAL VOC, Mini-Places2
- Text: IMDB, Penn Treebank, Shakespeare Text, bAbI, Hutter-prize
- Video: UCF101
- Others: flickr8k, flickr30k, COCO
- Custom datasets
- Initializers -
Constant
,Uniform
,Gaussian
,Glorot Uniform
,Xavier
,Kaiming
,IdentityInit
,Orthonormal
- Optimizers -
Gradient Descent with Momentum
,RMSProp
,Adadelta
,Adam
,Adagrad
,MultiOptimizer
- Activations -
Rectified Linear
,Softmax
,Tanh
,Logistic
,Identity
,ExpLin
- Layers -
Linear
,Convolution
,Pooling
,Deconvolution
,Dropout
,Recurrent
,Long Short-Term Memory
,Gated Recurrent Unit
,BatchNorm
,LookupTable
,Local Response Normalization
,Bidirectional-RNN
,Bidirectional-LSTM
- Costs -
Binary Cross Entropy
,Multiclass Cross Entropy
,Sum of Squares Error
- Metrics - Misclassification (
Top1
,TopK
),LogLoss
,Accuracy
,PrecisionRecall
,ObjectDetection