Main Content

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 generazione di codice C/C++ e CUDA, il software genera codice per una rete neurale profonda convoluzionale quantizzando i pesi, i bias e le attivazioni dei livelli convoluzionali in tipi di dati interi scalati a 8 bit. La quantizzazione viene eseguita fornendo il file del risultato della calibrazione prodotto dalla funzione calibrate al comando codegen (MATLAB Coder).

    La generazione di codice non supporta le reti neurali profonde quantizzate prodotte dalla funzione quantize.

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)
dlnetworkDeep learning neural network
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 (Da R2020a)
dlquantizationOptionsOptions for quantizing a trained deep neural network (Da R2020a)
calibrateSimulate and collect ranges of a deep neural network (Da R2020a)
quantizeQuantize deep neural network (Da R2022a)
validateQuantize and validate a deep neural network (Da R2020a)
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)

App

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

Argomenti

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