Main Content

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 la génération de code C/C++ et CUDA, le software génère du code pour un réseau de neurones profond à convolution en quantifiant les poids, biais et activations des couches de convolution sur des entiers mis à l'échelle sur 8 bits. La quantification est effectuée en fournissant le fichier de résultat de calibrage produit par la fonction calibrate à la commande codegen (MATLAB Coder).

    La génération de code ne supporte pas les réseaux de neurones profonds quantifiés produits par la fonction quantize.

Fonctions

développer tout

taylorPrunableNetworkNetwork that can be pruned by using first-order Taylor approximation (depuis R2022a)
forwardCompute deep learning network output for training (depuis R2019b)
predictCompute deep learning network output for inference (depuis R2019b)
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 (depuis R2019b)
compressNetworkUsingProjectionCompress neural network using projection (depuis R2022b)
neuronPCAPrincipal component analysis of neuron activations (depuis R2022b)
dlquantizerQuantize a deep neural network to 8-bit scaled integer data types (depuis R2020a)
dlquantizationOptionsOptions for quantizing a trained deep neural network (depuis R2020a)
calibrateSimulate and collect ranges of a deep neural network (depuis R2020a)
quantizeQuantize deep neural network (depuis R2022a)
validateQuantize and validate a deep neural network (depuis R2020a)
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)

Applications

Deep Network QuantizerQuantize deep neural network to 8-bit scaled integer data types (depuis R2020a)

Rubriques

Élagage

Projection

Quantification du Deep Learning

Quantification pour un GPU cible

Quantification pour un FPGA cible

Quantification pour un CPU cible