Predict responses using a trained deep learning neural network
You can make predictions using a trained neural network for deep learning on
either a CPU or GPU. Using a GPU requires
Parallel Computing Toolbox™ and a supported GPU device. For information on supported devices, see GPU Support by Release (Parallel Computing Toolbox). Specify the hardware requirements using the
ExecutionEnvironment
name-value pair argument.
[YPred1,...,YPredM] = predict(___)
predicts
responses for the M
outputs of a multi-output network using
any of the previous syntaxes. The output YPredj
corresponds
to the network output net.OutputNames(j)
. To return
categorical outputs for the classification output layers, set the 'ReturnCategorical'
option to true
.
___ = predict(___,
predicts responses with additional options specified by one or more name-value
pair arguments.Name,Value
)
Tip
When making predictions with sequences of different lengths, the mini-batch size can impact the amount of padding added to the input data which can result in different predicted values. Try using different values to see which works best with your network. To specify mini-batch size and padding options, use the 'MiniBatchSize'
and 'SequenceLength'
options, respectively.
If the image data contains NaN
s, predict
propagates them through the network. If the network has ReLU
layers, these layers ignore NaN
s. However, if the network does not
have a ReLU layer, then predict
returns NaNs as
predictions.
When you train a network using the trainNetwork
function, or when you use prediction or validation functions
with DAGNetwork
and
SeriesNetwork
objects, the software performs these computations using single-precision, floating-point
arithmetic. Functions for training, prediction, and validation include trainNetwork
, predict
,
classify
, and
activations
.
The software uses single-precision arithmetic when you train networks using both CPUs and
GPUs.
You can compute the predicted scores and the predicted classes from a trained network
using classify
.
You can also compute the activations from a network layer using activations
.
For sequence-to-label and sequence-to-sequence classification networks (for example,
LSTM networks), you can make predictions and update the network state using classifyAndUpdateState
and predictAndUpdateState
.
[1] M. Kudo, J. Toyama, and M. Shimbo. "Multidimensional Curve Classification Using Passing-Through Regions." Pattern Recognition Letters. Vol. 20, No. 11–13, pages 1103–1111.
[2] UCI Machine Learning Repository: Japanese Vowels Dataset. https://archive.ics.uci.edu/ml/datasets/Japanese+Vowels
activations
| classify
| classifyAndUpdateState
| predictAndUpdateState