Main Content

量子化、投影、および枝刈り

量子化、投影、または枝刈りの実行による深層ニューラル ネットワークの圧縮

Deep Learning Toolbox™ を Deep Learning Toolbox Model Quantization Library サポート パッケージと共に使用し、以下を行うことで、深層ニューラル ネットワークのメモリ フットプリントの削減と計算要件の緩和を行います。

  • 1 次テイラー近似を使用して畳み込み層からフィルターを枝刈りします。その後、この枝刈りされたネットワークから、C/C++ コードまたは CUDA® コードを生成できます。

  • 層の活性化に対し、学習データの典型的なデータ セットを使用して主成分分析 (PCA) を実行して層を投影し、層の学習可能なパラメーターに対して線形投影を適用します。投影された深層ニューラル ネットワークのフォワード パスは、通常、ライブラリを使用せずに C/C++ コードを生成して組み込みハードウェアにネットワークを展開すると、より高速になります。

  • 層の重み、バイアス、および活性化を、低い精度にスケーリングされた整数データ型に量子化します。その後、この量子化ネットワークから、C/C++ コード、CUDA コード、または HDL コードを生成できます。

    このソフトウェアは、C/C++ および CUDA のコード生成のため、畳み込み層の重み、バイアス、および活性化を、8 ビットにスケーリングされた整数データ型に量子化することで、畳み込み深層ニューラル ネットワーク用のコードを生成します。この量子化は、関数 calibrate によって生成されたキャリブレーション結果ファイルを codegen (MATLAB Coder) コマンドに渡すことで行われます。

    コード生成では、関数 quantize によって生成された量子化済みの深層ニューラル ネットワークがサポートされません。

関数

すべて展開する

taylorPrunableNetworkNetwork that can be pruned by using first-order Taylor approximation
forward学習用の深層学習ネットワーク出力の計算
predict推論用の深層学習ネットワーク出力の計算
updatePrunablesRemove filters from prunable layers based on importance scores
updateScoreCompute and accumulate Taylor-based importance scores for pruning
dlnetworkカスタム学習ループ向けの深層学習ネットワーク
compressNetworkUsingProjectionCompress neural network using projection
neuronPCAPrincipal component analysis of neuron activations
dlquantizerQuantize a deep neural network to 8-bit scaled integer data types
dlquantizationOptionsOptions for quantizing a trained deep neural network
calibrate深層ニューラル ネットワークのシミュレーションと範囲の収集
quantizeQuantize deep neural network
validateQuantize and validate a deep neural network
quantizationDetailsDisplay quantization details for a neural network
estimateNetworkMetricsEstimate network metrics for specific layers of a neural network
equalizeLayersEqualize layer parameters of deep neural network

アプリ

ディープ ネットワーク量子化器Quantize a deep neural network to 8-bit scaled integer data types

トピック

枝刈り

投影

深層学習の量子化

GPU ターゲットの量子化

FPGA ターゲットの量子化

  • Quantize Network for FPGA Deployment (Deep Learning HDL Toolbox)
    Reduce the memory footprint of a deep neural network by quantizing the weights, biases, and activations of convolution layers to 8-bit scaled integer data types. This example shows how to use Deep Learning Toolbox Model Quantization Library and Deep Learning HDL Toolbox to deploy the int8 network to a target FPGA board.
  • Classify Images on FPGA Using Quantized Neural Network (Deep Learning HDL Toolbox)
    This example shows how to use Deep Learning HDL Toolbox™ to deploy a quantized deep convolutional neural network (CNN) to an FPGA. In the example you use the pretrained ResNet-18 CNN to perform transfer learning and quantization. You then deploy the quantized network and use MATLAB ® to retrieve the prediction results.
  • Classify Images on FPGA by Using Quantized GoogLeNet Network (Deep Learning HDL Toolbox)
    This example show how to use the Deep Learning HDL Toolbox™ to deploy a quantized GoogleNet network to classify an image. The example uses the pretrained GoogLeNet network to demonstrate transfer learning, quantization, and deployment for the quantized network. Quantization helps reduce the memory requirement of a deep neural network by quantizing weights, biases and activations of network layers to 8-bit scaled integer data types. Use MATLAB® to retrieve the prediction results.

CPU ターゲットの量子化