Contenuto principale

La traduzione di questa pagina non è aggiornata. Fai clic qui per vedere l'ultima versione in inglese.

Quantizzazione, proiezione e sfoltimento

Comprimere una rete neurale profonda eseguendo la quantizzazione, la proiezione o lo sfoltimento

Utilizzare Deep Learning Toolbox™ insieme al pacchetto di supporto Deep Learning Toolbox Model Quantization Library per ridurre l’ingombro della memoria e i requisiti di calcolo di una rete neurale profonda tramite:

  • Sfoltimento dei filtri dai livelli convoluzionali utilizzando l'approssimazione di Taylor del primo ordine. È quindi possibile generare codice C/C++ o CUDA® da questa rete sfoltita.

  • Proiezione dei livelli eseguendo l'analisi dei componenti principali (PCA) sulle attivazioni del livello utilizzando un set di dati rappresentativo dei dati di addestramento e applicando le proiezioni lineari sui parametri apprendibili del livello. I passaggi in avanti di una rete neurale profonda proiettata sono in genere più rapidi quando si distribuisce la rete su hardware integrato utilizzando la generazione di codice C/C++ senza librerie.

  • Quantizzazione dei pesi, dei bias e attivazioni di livelli in tipi di dati interi scalati a precisione ridotta. È quindi possibile generare codice C/C++, CUDA o HDL da questa rete quantizzata per la distribuzione su GPU, FPGA o CPU.

Per una panoramica dettagliata delle tecniche di compressione disponibili in Deep Learning Toolbox Model Quantization Library, vedere Reduce Memory Footprint of Deep Neural Networks.

Funzioni

espandi tutto

taylorPrunableNetworkNeural network suitable for compression using Taylor pruning (Da R2022a)
forwardCompute deep learning network output for training
predictCompute deep learning network output for inference
updatePrunablesRemove filters from prunable layers based on importance scores (Da R2022a)
updateScoreCompute and accumulate Taylor-based importance scores for pruning (Da R2022a)
dlnetworkRete neurale di Deep Learning
compressNetworkUsingProjectionCompress neural network using projection (Da R2022b)
neuronPCAPrincipal component analysis of neuron activations (Da R2022b)
unpackProjectedLayersUnpack projected layers of neural network (Da R2023b)
ProjectedLayerCompressed neural network layer using projection (Da R2023b)
gruProjectedLayerGated recurrent unit (GRU) projected layer for recurrent neural network (RNN) (Da R2023b)
lstmProjectedLayerLong short-term memory (LSTM) projected layer for recurrent neural network (RNN) (Da 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 (Da R2024b)
calibrateSimulate and collect ranges of a deep neural network
quantizeQuantize deep neural network (Da R2022a)
validateQuantize and validate a deep neural network
quantizationDetailsDisplay quantization details for a neural network (Da R2022a)
estimateNetworkMetricsEstimate network metrics for specific layers of a neural network (Da R2022a)
equalizeLayersEqualize layer parameters of deep neural network (Da R2022b)
exportNetworkToSimulinkGenerate Simulink model that contains deep learning layer blocks and subsystems that correspond to deep learning layer objects (Da R2024b)

App

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

Argomenti

Panoramica

Sfoltimento

Proiezione e distillazione della conoscenza

Quantizzazione

Quantizzazione per il target GPU

Quantizzazione per il target FPGA

Quantizzazione per il target CPU

Esempi in primo piano