UniformQuantizedConvolutionHybrid

classe finale pubblica UniformQuantizedConvolutionHybrid

Esegui la convoluzione quantizzata ibrida del tensore float "lhs" e del tensore quantizzato "rhs".

Dato il float "lhs" e il "rhs" quantizzato, esegue internamente la quantizzazione su "lhs" e quindi esegue la convoluzione quantizzata su "lhs" e "rhs" quantizzati.

La quantizzazione interna su "lhs" è una quantizzazione su "Trhs", intervallo dinamico, per batch (per asse lungo l'asse "dimension_numbers.input_batch_dimension"), asimmetrica e con intervallo non ristretto (l'intervallo è [Trhs_MIN, Trhs_MAX]) .

"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

`rhs` deve essere un tensore quantizzato, dove il valore dei dati è quantizzato utilizzando la formula: quantized_data = clip(original_data / scale + zero_point, quantization_min_val, quantization_max_val).

Classi nidificate

classe UniformQuantizedConvolutionHybrid.Options Attributi facoltativi per UniformQuantizedConvolutionHybrid

Metodi pubblici

Uscita <V>
comeuscita ()
Restituisce la maniglia simbolica di un tensore.
static UniformQuantizedConvolutionHybrid.Options
batchGroupCount (batchGroupCount lungo)
static <V estende il numero, T estende il numero, U> UniformQuantizedConvolutionHybrid <V>
create ( Scope scope, Operando <T> lhs, Operando <U> rhs, Operando <Float> rhsScales, Operando <Integer> rhsZeroPoints, Class<V> Tout, String padding, Long rhsQuantizationMinVal, Long rhsQuantizationMaxVal, Opzioni... opzioni)
Metodo Factory per creare una classe che racchiude una nuova operazione UniformQuantizedConvolutionHybrid.
static UniformQuantizedConvolutionHybrid.Options
dimensionNumbers (Stringa dimensionNumbers)
static UniformQuantizedConvolutionHybrid.Options
esplicitoPadding (Lista<Long> esplicitoPadding)
static UniformQuantizedConvolutionHybrid.Options
featureGroupCount (funzionalitàGroupCount lunga)
static UniformQuantizedConvolutionHybrid.Options
lhsDilation (Elenco<Long> lhsDilation)
Uscita <V>
produzione ()
Il tensore di output di "Tout", stesso rango di "lhs" e "rhs".
static UniformQuantizedConvolutionHybrid.Options
rhsDilation (Lista<Long> rhsDilation)
static UniformQuantizedConvolutionHybrid.Options
rhsQuantizationAxis (rhsQuantizationAxis lungo)
static UniformQuantizedConvolutionHybrid.Options
windowStrides (Elenco<Long> windowStrides)

Metodi ereditati

Metodi pubblici

Uscita pubblica <V> 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 UniformQuantizedConvolutionHybrid.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 UniformQuantizedConvolutionHybrid <V> create ( Scope scope, Operando <T> lhs, Operando <U> rhs, Operando <Float> rhsScales, Operando <Integer> rhsZeroPoints, Class<V> Tout, String padding, Long rhsQuantizationMinVal, Long rhsQuantizationMaxVal, Opzioni... opzioni)

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

Parametri
scopo ambito attuale
sinistra Deve essere un tensore non quantizzato di `Tlhs`, rango >= 3.
ds Deve essere un tensore quantizzato di "Trhs", stesso rango di "lhs".
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 zero_point durante la quantizzazione dei dati originali rappresentati da "rhs". Stessa condizione di forma di "rhs_scales".
Tutto Il tipo di tensore di uscita.
imbottitura stringa da: `"SAME"`, `"VALID"`, o `"EXPLICIT"`, che indica il tipo di algoritmo di riempimento da utilizzare.
rhsQuantizzazioneMinVal Il valore minimo dei dati quantizzati memorizzati in "rhs". Ad esempio, se "Trhs" è qint8, questo deve essere impostato su -127 se quantizzato in intervallo ristretto o -128 in caso contrario.
rhsQuantizzazioneMaxVal Il valore massimo dei dati quantizzati memorizzati in "rhs". Ad esempio, se "Trhs" è qint8, questo deve essere impostato su 127.
opzioni trasporta valori di attributi opzionali
ritorna
  • una nuova istanza di UniformQuantizedConvolutionHybrid

public static UniformQuantizedConvolutionHybrid.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 proto tensorflow.UniformQuantizedConvolutionDimensionNumbersAttr. Se una stringa vuota, il valore predefinito è `("NCHW", "OIHW", "NCHW")` (per una convoluzione 2D).

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

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

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

public static UniformQuantizedConvolutionHybrid.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 UniformQuantizedConvolutionHybrid.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 a sinistra). Se l'elenco è vuoto, la dilatazione per ciascuna dimensione spaziale sinistra è impostata su 1.

uscita pubblica <V> uscita ()

Il tensore di output di "Tout", stesso rango di "lhs" e "rhs". I dati di output sono i dati di output non quantizzati.

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

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

public static UniformQuantizedConvolutionHybrid.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 attributo deve essere impostato su -1 o `dimension_numbers.kernel_output_feature_dimension`. Altri valori genereranno errori durante la costruzione di OpKernel.

public static UniformQuantizedConvolutionHybrid.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.