深層学習のインポート、エクスポート、およびカスタマイズ

深層学習ネットワークのインポート、エクスポート、カスタマイズ、および層、学習ループ、損失関数のカスタマイズ

TensorFlow™ -Keras、Caffe、および ONNX™ (Open Neural Network Exchange) モデル形式からネットワークやネットワーク アーキテクチャをインポートします。学習済みの Deep Learning Toolbox™ ネットワークを ONNX モデル形式にエクスポートすることもできます。

問題に合わせて独自のカスタム深層学習層を定義できます。カスタム出力層を使用してカスタム損失関数を指定し、学習可能なパラメーターを含むカスタム層や含まないカスタム層を定義できます。たとえば、クラスの分布が不均衡な分類問題には、重み付き交差エントロピー損失を使用するカスタム重み付き分類層を使用できます。カスタム層を定義した後、その層の有効性、GPU 互換性、定義した勾配の出力の正しさをチェックできます。

タスクに必要な学習オプションが関数 trainingOptions に用意されていない場合、または必要な損失関数をカスタム出力層がサポートしていない場合、カスタム学習ループを定義できます。層グラフを使用して作成できないネットワークの場合、カスタム ネットワークを関数として定義できます。詳細については、Define Custom Training Loops, Loss Functions, and Networksを参照してください。

関数

すべて展開する

importKerasNetwork事前学習済みの Keras ネットワークおよび重みのインポート
importKerasLayersImport layers from Keras network
importCaffeNetwork事前学習済み畳み込みニューラル ネットワーク モデルを Caffe からインポート
importCaffeLayersCaffe からの畳み込みニューラル ネットワーク層のインポート
importONNXNetworkImport pretrained ONNX network
importONNXLayersImport layers from ONNX network
exportONNXNetworkExport network to ONNX model format
findPlaceholderLayersFind placeholder layers in network architecture imported from Keras or ONNX
replaceLayerReplace layer in layer graph
assembleNetworkAssemble deep learning network from pretrained layers
PlaceholderLayerLayer replacing an unsupported Keras layer, ONNX layer, or unsupported functionality from functionToLayerGraph
checkLayerCheck validity of custom layer
setLearnRateFactor層の学習可能なパラメーターの学習率係数を設定します。
setL2Factor層の学習可能なパラメーターの L2 正則化係数の設定
getLearnRateFactor層の学習可能なパラメーターの学習率係数の取得
getL2Factor層の学習可能なパラメーターの L2 正則化係数の取得
dlnetworkDeep learning network for custom training loops
forwardCompute deep learning network output for training
predictCompute deep learning network output for inference
adamupdate Update parameters using adaptive moment estimation (Adam)
rmspropupdate Update parameters using root mean squared propagation (RMSProp)
sgdmupdate Update parameters using stochastic gradient descent with momentum (SGDM)
dlupdate Update parameters using custom function
dlarrayDeep learning array for custom training loops
dlgradientCompute gradients for custom training loops using automatic differentiation
dlfevalEvaluate deep learning model for custom training loops
dimsDimension labels of dlarray
finddimFind dimensions with specified label
stripdimsRemove dlarray labels
extractdataExtract data from dlarray
functionToLayerGraphConvert deep learning model function to a layer graph
dlconvDeep learning convolution
dltranspconvDeep learning transposed convolution
lstmLong short-term memory
fullyconnectSum all weighted input data and apply a bias
reluApply rectified linear unit activation
leakyreluApply leaky rectified linear unit activation
batchnormNormalize each channel of input data
avgpoolPool data to average values over spatial dimensions
maxpoolPool data to maximum value
maxunpoolUnpool the output of a maximum pooling operation
softmaxApply softmax activation to channel dimension
crossentropyCategorical cross-entropy loss
sigmoidApply sigmoid activation
mseHalf mean squared error

トピック

カスタム層

カスタム深層学習層の定義

カスタム深層学習層の定義方法の学習

カスタム層の有効性のチェック

カスタム深層学習層の有効性のチェック方法の学習

学習可能なパラメーターを含むカスタム深層学習層の定義

この例では、PReLU 層を定義し、畳み込みニューラル ネットワークで使用する方法を説明します。

複数の入力があるカスタム深層学習層の定義

この例では、カスタム重み付き加算層を定義し、畳み込みニューラル ネットワークで使用する方法を説明します。

カスタム分類出力層の定義

この例では、残差平方和 (SSE) 損失を含むカスタム分類出力層を定義し、畳み込みニューラル ネットワークで使用する方法を説明します。

カスタム重み付き分類層の定義

この例では、重み付き交差エントロピー損失を含むカスタム重み付き分類出力層を定義し作成する方法を説明します。

カスタム回帰出力層の定義

この例では、平均絶対誤差 (MAE) 損失を含むカスタム回帰出力層を定義し、畳み込みニューラル ネットワークで使用する方法を説明します。

ネットワークの学習および組み立て

Train Generative Adversarial Network (GAN)

This example shows how to train a generative adversarial network (GAN) to generate images.

Train a Siamese Network for Dimensionality Reduction

This example shows how to train a Siamese network to compare handwritten digits using dimensionality reduction.

Train a Siamese Network to Compare Images

This example shows how to train a Siamese network to identify similar images of handwritten characters.

Define Custom Training Loops, Loss Functions, and Networks

Learn how to define and customize deep learning training loops, loss functions, and networks using automatic differentiation.

Specify Training Options in Custom Training Loop

Learn how to specify common training options in a custom training loop.

Train Network Using Custom Training Loop

This example shows how to train a network that classifies handwritten digits with a custom learning rate schedule.

Make Predictions Using dlnetwork Object

This example shows how to make predictions using a dlnetwork object by splitting data into mini-batches.

Train Network Using Model Function

This example shows how to create and train a deep learning network by using functions rather than a layer graph or a dlnetwork. The advantage of using functions is the flexibility to describe a wide variety of networks. The disadvantage is that you must complete more steps and prepare your data carefully. This example uses images of handwritten digits, with the dual objectives of classifying the digits and determining the angle of each digit from the vertical.

Make Predictions Using Model Function

This example shows how to make predictions using a model function by splitting data into mini-batches.

Specify Custom Weight Initialization Function

This example shows how to create a custom He weight initialization function for convolution layers followed by leaky ReLU layers.

事前学習済みの Keras 層からのネットワークの組み立て

この例では、事前学習済みの Keras ネットワークから層をインポートし、サポートされていない層をカスタム層に置き換え、予測の準備が整ったネットワークをこれらの層から組み立てる方法を説明します。

複数入力および複数出力ネットワーク

Multiple-Input and Multiple-Output Networks

Learn how to define and train deep learning networks with multiple inputs or multiple outputs.

Train Network with Multiple Outputs

This example shows how to train a deep learning network with multiple outputs that predict both labels and angles of rotations of handwritten digits.

Assemble Multiple-Output Network for Prediction

Instead of using the model function for prediction, you can assemble the network into a DAGNetwork ready for prediction using the functionToLayerGraph and assembleNetwork functions. This lets you use the predict function.

自動微分

Automatic Differentiation Background

Learn how automatic differentiation works.

Use Automatic Differentiation In Deep Learning Toolbox

How to use automatic differentiation in deep learning.

List of Functions with dlarray Support

View the list of functions that support dlarray objects.

Grad-CAM Reveals the Why Behind Deep Learning Decisions

Grad-CAM explains why a network makes a decision.

注目の例