Contenu principal

La traduction de cette page n'est pas à jour. Cliquez ici pour voir la dernière version en anglais.

Quantification, projection et élagage

Compresser un réseau de neurones profond en effectuant une quantification, une projection ou un élagage

Utilisez Deep Learning Toolbox™ avec le support package Deep Learning Toolbox Model Quantization Library pour réduire l’empreinte mémoire et les exigences de calcul d’un réseau de neurones profond en :

  • Élaguant des filtres des couches de convolution avec une approximation de Taylor du premier ordre. Vous pouvez ensuite générer le code C/C++ ou CUDA® à partir de ce réseau élagué.

  • Projetant des couches en réalisant une analyse en composantes principales (PCA) sur les activations des couches en utilisant un jeu de données représentatif des données d’apprentissage et en appliquant des projections linéaires sur les paramètres entraînables des couches. Les passages vers l’avant d’un réseau de neurones profond projeté sont typiquement plus rapides lorsque vous déployez le réseau sur un hardware embarqué avec une génération de code C/C++ sans bibliothèque.

  • Quantifiant les poids, biais et activations des couches vers des types de données entiers mis à l’échelle à précision réduite. Vous pouvez ensuite générer du code C/C++, CUDA ou HDL à partir de ce réseau quantifié pour un déploiement GPU, FPGA ou CPU.

Pour consulter une présentation détaillée des techniques de compression disponibles dans Model Quantization Library de Deep Learning Toolbox, voir Reduce Memory Footprint of Deep Neural Networks.

Fonctions

développer tout

taylorPrunableNetworkNeural network suitable for compression using Taylor pruning (depuis R2022a)
forwardCompute deep learning network output for training
predictCompute deep learning network output for inference
updatePrunablesRemove filters from prunable layers based on importance scores (depuis R2022a)
updateScoreCompute and accumulate Taylor-based importance scores for pruning (depuis R2022a)
dlnetworkDeep learning neural network
compressNetworkUsingProjectionCompress neural network using projection (depuis R2022b)
neuronPCAPrincipal component analysis of neuron activations (depuis R2022b)
unpackProjectedLayersUnpack projected layers of neural network (depuis R2023b)
ProjectedLayerCompressed neural network layer using projection (depuis R2023b)
gruProjectedLayerGated recurrent unit (GRU) projected layer for recurrent neural network (RNN) (depuis R2023b)
lstmProjectedLayerLong short-term memory (LSTM) projected layer for recurrent neural network (RNN) (depuis R2022b)
dlquantizerQuantize a deep neural network to 8-bit scaled integer data types
dlquantizationOptionsOptions for quantizing a trained deep neural network
prepareNetworkPrepare deep neural network for quantization (depuis R2024b)
calibrateSimulate and collect ranges of a deep neural network
quantizeQuantize deep neural network (depuis R2022a)
validateQuantize and validate a deep neural network
quantizationDetailsDisplay quantization details for a neural network (depuis R2022a)
estimateNetworkMetricsEstimate network metrics for specific layers of a neural network (depuis R2022a)
equalizeLayersEqualize layer parameters of deep neural network (depuis R2022b)
exportNetworkToSimulinkGenerate Simulink model that contains deep learning layer blocks and subsystems that correspond to deep learning layer objects (depuis R2024b)

Applications

Deep Network QuantizerQuantize deep neural network to 8-bit scaled integer data types

Rubriques

Présentation générale

Élagage (pruning)

Projection et distillation des connaissances

Quantification

Quantification pour un GPU cible

Quantification pour un FPGA cible

Quantification pour un CPU cible

Sélection d՚exemples