UniformQuantizedConvolution

classe finale pubblica UniformQuantizedConvolution

Esegui la convoluzione quantizzata del tensore quantizzato "lhs" e del tensore quantizzato "rhs". per creare un "output" quantizzato.

Dato "lhs" quantizzato e "rhs" quantizzato, esegue il punto quantizzato su "lhs" e "rhs" per creare un "output" quantizzato.

"lhs" e "rhs" devono essere tensori dello stesso rango e soddisfare le seguenti condizioni di forma. - `lhs_feature` % `feature_group_count` == 0 - `lhs_feature` % `rhs_input_feature` == 0 - `lhs_feature` / `feature_group_count` == `rhs_input_feature` - `rhs_output_feature` % `feature_group_count` == 0 - `lhs_batch` % `batch_group_count` == 0 - `rhs_output_feature` % `batch_group_count` == 0

`lhs` e `rhs` devono essere quantizzati Tensore, dove il valore dei dati viene quantizzato utilizzando la formula: anche

quantized_data = clip(original_data / scale + zero_point, quantization_min_val, quantization_max_val)
 
`output` viene quantizzato, utilizzando la stessa formula. Se "rhs" è quantizzato per tensore, anche "output" deve essere quantizzato per tensore.

Classi nidificate

classe UniformQuantizedConvolution.Options Attributi facoltativi per UniformQuantizedConvolution

Metodi pubblici

Uscita <U>
comeuscita ()
Restituisce la maniglia simbolica di un tensore.
static UniformQuantizedConvolution.Options
batchGroupCount (batchGroupCount lungo)
static <U, T> UniformQuantizedConvolution <U>
create ( Scope scope, Operando <T> lhs, Operando <T> rhs, Operando <Float> lhsScales, Operando <Integer> lhsZeroPoints, Operando <Float> rhsScales, Operando <Integer> rhsZeroPoints, Operando <Float> outputScales, Operando <Integer > outputZeroPoints, Class<U> Tout, String padding, Lungo lhsQuantizationMinVal, Lungo lhsQuantizationMaxVal, Lungo rhsQuantizationMinVal, Lungo rhsQuantizationMaxVal, Lungo outputQuantizationMinVal, Lungo outputQuantizationMaxVal, Opzioni... opzioni)
Metodo Factory per creare una classe che racchiude una nuova operazione UniformQuantizedConvolution.
static UniformQuantizedConvolution.Options
dimensionNumbers (Stringa dimensionNumbers)
static UniformQuantizedConvolution.Options
esplicitoPadding (Lista<Long> esplicitoPadding)
static UniformQuantizedConvolution.Options
featureGroupCount (funzionalitàGroupCount lunga)
static UniformQuantizedConvolution.Options
lhsDilation (Elenco<Long> lhsDilation)
static UniformQuantizedConvolution.Options
lhsQuantizationAxis (LhsQuantizationAxis lungo)
Uscita <U>
produzione ()
Il tensore quantizzato in uscita di "Tout", stesso rango di "lhs" e "rhs".
static UniformQuantizedConvolution.Options
outputQuantizationAxis (outputQuantizationAxis lungo)
static UniformQuantizedConvolution.Options
rhsDilation (Lista<Long> rhsDilation)
static UniformQuantizedConvolution.Options
rhsQuantizationAxis (rhsQuantizationAxis lungo)
static UniformQuantizedConvolution.Options
windowStrides (Elenco<Long> windowStrides)

Metodi ereditati

Metodi pubblici

Uscita pubblica <U> asOutput ()

Restituisce la maniglia simbolica di un tensore.

Gli input per le operazioni TensorFlow sono output di un'altra operazione TensorFlow. Questo metodo viene utilizzato per ottenere un handle simbolico che rappresenta il calcolo dell'input.

public static UniformQuantizedConvolution.Options batchGroupCount (Long batchGroupCount)

Parametri
batchGroupCount Il numero di gruppi batch. Utilizzato per i filtri raggruppati. Deve essere un divisore di "output_feature".

public static UniformQuantizedConvolution <U> create ( Scope scope, Operando <T> lhs, Operando <T> rhs, Operando <Float> lhsScales, Operando <Integer> lhsZeroPoints, Operando <Float> rhsScales, Operando <Integer> rhsZeroPoints, Operando <Float > outputScales, Operando <Integer> outputZeroPoints, Class<U> Tout, String padding, Lungo lhsQuantizationMinVal, Lungo lhsQuantizationMaxVal, Lungo rhsQuantizationMinVal, Lungo rhsQuantizationMaxVal, Lungo outputQuantizationMinVal, Lungo outputQuantizationMaxVal, Opzioni... opzioni)

Metodo Factory per creare una classe che racchiude una nuova operazione UniformQuantizedConvolution.

Parametri
scopo ambito attuale
sinistra Deve essere un tensore quantizzato, di rango >= 3.
ds Deve essere un tensore quantizzato, stesso rango di "lhs".
lhsScales I valori float utilizzati come fattori di scala durante la quantizzazione dei dati originali rappresentati da "lhs". Deve essere un `Tensore` scalare (`lhs` supporta solo la quantizzazione per tensore).
lhsZeroPoints I valori int32 utilizzati come punti zero durante la quantizzazione dei dati originali rappresentati da "lhs". Stessa condizione di forma di "lhs_scales".
rhsScales I valori float utilizzati come fattori di scala durante la quantizzazione dei dati originali rappresentati da "rhs". Deve essere un "Tensore" scalare per la quantizzazione per tensore o un "Tensore" 1D di dimensione "rhs.dim_size(kernel_output_feature_dimension)" per la quantizzazione per canale.
rhsZeroPoints I valori int32 utilizzati come punti zero durante la quantizzazione dei dati originali rappresentati da "rhs". Stessa condizione di forma di "rhs_scales".
outputScales I valori float da utilizzare come fattori di scala durante la quantizzazione dei dati originali rappresentati da "output". Deve essere un "Tensore" scalare per la quantizzazione per tensore o un "Tensore" 1D di dimensione "rhs.dim_size(kernel_output_feature_dimension)" - che è uguale a "output.dim_size(output_feature_dimension)" per la quantizzazione per canale. Se "rhs" è quantizzato per tensore, anche l'output deve essere quantizzato per tensore. Ciò significa che se `rhs_scales` e `rhs_zero_points` sono `Tensor` scalari, anche `output_scales` e `output_zero_points` devono essere `Tensor` scalari.
outputZeroPoints I valori int32 utilizzati come punti zero durante la quantizzazione dei dati originali rappresentati dall'output. Stessa condizione di forma di "output_scales".
Tutto Il tipo di "output" "Tensore".
imbottitura stringa da: `"SAME"`, `"VALID"`, o `"EXPLICIT"`, che indica il tipo di algoritmo di riempimento da utilizzare.
lhsQuantizzazioneMinVal Il valore minimo dei dati quantizzati memorizzati in "lhs". Ad esempio, se "Tin" è "qint8", deve essere impostato su -127 se quantizzato in intervallo ristretto o su -128 in caso contrario.
lhsQuantizzazioneMaxVal Il valore massimo dei dati quantizzati memorizzati in "lhs". Ad esempio, se "Tin" è "qint8", questo deve essere impostato su 127.
rhsQuantizzazioneMinVal Il valore minimo dei dati quantizzati memorizzati in "rhs". Ad esempio, se "Tin" è "qint8", deve essere impostato su -127 se quantizzato in intervallo ristretto o su -128 in caso contrario.
rhsQuantizzazioneMaxVal Il valore massimo dei dati quantizzati memorizzati in "rhs". Ad esempio, se "Tin" è "qint8", questo deve essere impostato su 127.
outputQuantizzazioneMinVal Il valore minimo dei dati quantizzati memorizzati in "output". Ad esempio, se "Tout" è "qint8", deve essere impostato su -127 se quantizzato in intervallo ristretto o -128 in caso contrario.
outputQuantizzazioneMaxVal Il valore massimo dei dati quantizzati memorizzati in "output". Ad esempio, se "Tout" è "qint8", questo deve essere impostato su 127.
opzioni trasporta valori di attributi opzionali
ritorna
  • una nuova istanza di UniformQuantizedConvolution

public static UniformQuantizedConvolution.Options dimensionNumbers (Stringa dimensionNumbers)

Parametri
dimensioneNumeri Struttura delle informazioni sulle dimensioni per la convoluzione op. Deve essere una stringa vuota (impostazione predefinita) o una stringa serializzata del protocollo `tensorflow.UniformQuantizedConvolutionDimensionNumbersAttr`. Se una stringa vuota, il valore predefinito è `("NCHW", "OIHW", "NCHW")` (per una convoluzione 2D).

pubblico statico UniformQuantizedConvolution.Options esplicitoPadding (List<Long> esplicitoPadding)

Parametri
esplicitoPadding Se `padding` è `"EXPLICIT"`, deve essere impostato come un elenco che indica i riempimenti espliciti all'inizio e alla fine di ciascuna dimensione spaziale `lhs`. Altrimenti, questo deve essere vuoto.

(Se utilizzato) Deve essere un elenco di dimensioni "2 * (numero di dimensioni spaziali a sinistra)", dove "(explicit_padding[2 * i], esplicitamente_padding[2 * i + 1])" indica "(start_padding, end_padding) " di "dimensioni_spaziali[i]".

public static UniformQuantizedConvolution.Options featureGroupCount (Long featureGroupCount)

Parametri
funzionalitàGroupCount Il numero di gruppi di funzionalità. Utilizzato per convoluzioni raggruppate. Deve essere un divisore sia di "lhs_feature" che di "output_feature".

public static UniformQuantizedConvolution.Options lhsDilation (List<Long> lhsDilation)

Parametri
lhsDilatazione Il fattore di dilatazione da applicare in ciascuna dimensione spaziale di "lhs". Deve essere un elenco vuoto (impostazione predefinita) o un elenco di dimensioni (numero di dimensioni spaziali `lhs`). Se l'elenco è vuoto, la dilatazione per ciascuna dimensione spaziale "lhs" è impostata su 1.

pubblico statico UniformQuantizedConvolution.Options lhsQuantizationAxis (Long lhsQuantizationAxis)

Parametri
lhsQuantizationAxis Indica l'indice della dimensione del tensore in cui viene applicata la quantizzazione per asse per le fette lungo quella dimensione. Se impostato su -1 (impostazione predefinita), indica la quantizzazione per tensore. Per "lhs" è supportata solo la quantizzazione per tensore. Pertanto, questo deve essere impostato su -1. Altri valori genereranno errori durante la costruzione di OpKernel.

Uscita pubblica <U> uscita ()

Il tensore quantizzato in uscita di "Tout", stesso rango di "lhs" e "rhs".

public static UniformQuantizedConvolution.Options outputQuantizationAxis (Long outputQuantizationAxis)

Parametri
outputQuantizationAxis Indica l'indice della dimensione del tensore in cui viene applicata la quantizzazione per asse per le fette lungo quella dimensione. Se impostato su -1 (impostazione predefinita), indica la quantizzazione per tensore. Per l'"output", è supportata solo la quantizzazione per tensore o la quantizzazione per canale lungo "output_feature_dimension". Pertanto, deve essere impostato su -1 o "dimension_numbers.output_feature_dimension". Altri valori genereranno errori durante la costruzione di OpKernel.

public static UniformQuantizedConvolution.Options rhsDilation (List<Long> rhsDilation)

Parametri
destraDilatazione Il fattore di dilatazione da applicare in ciascuna dimensione spaziale di "rhs". Deve essere un elenco vuoto (predefinito) o un elenco di dimensioni (numero di dimensioni spaziali `rhs`). Se l'elenco è vuoto, la dilatazione per ciascuna dimensione spaziale "rhs" è impostata su 1.

public static UniformQuantizedConvolution.Options rhsQuantizationAxis (Long rhsQuantizationAxis)

Parametri
rhsQuantizationAxis Indica l'indice della dimensione del tensore in cui viene applicata la quantizzazione per asse per le fette lungo quella dimensione. Se impostato su -1 (impostazione predefinita), indica la quantizzazione per tensore. Per "rhs", è supportata solo la quantizzazione per tensore o la quantizzazione per canale lungo "kernel_output_feature_dimension". Pertanto, questo deve essere impostato su -1 o `dimension_numbers.kernel_output_feature_dimension`. Altri valori genereranno errori durante la costruzione di OpKernel.

public static UniformQuantizedConvolution.Options windowStrides (List<Long> windowStrides)

Parametri
finestraStrides Il passo della finestra scorrevole per ciascuna dimensione spaziale di "lhs". Deve essere un elenco vuoto (impostazione predefinita) o un elenco di dimensioni (numero di dimensioni spaziali). Se viene fornito un elenco vuoto, il passo per ciascuna dimensione spaziale è impostato su 1.