Melakukan konvolusi terkuantisasi hibrid dari Tensor float `lhs` dan Tensor terkuantisasi `rhs`.
Mengingat float `lhs` dan `rhs` yang terkuantisasi, secara internal melakukan kuantisasi pada `lhs`, dan kemudian melakukan konvolusi terkuantisasi pada `lhs` dan `rhs` yang terkuantisasi.
Kuantisasi internal pada `lhs` adalah kuantisasi ke `Trhs`, rentang dinamis, per batch (per sumbu sepanjang sumbu `angka_dimensi.input_batch_dimension`), asimetris, dan bukan rentang sempit (rentangnya adalah [Trhs_MIN, Trhs_MAX]) .
`lhs` dan `rhs` harus berupa Tensor dengan peringkat yang sama, dan memenuhi kondisi bentuk berikut. - 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` harus dikuantisasi Tensor, dimana nilai datanya dikuantisasi menggunakan rumus: quantized_data = clip(original_data / scale + zero_point, quantization_min_val, quantization_max_val).
Kelas Bersarang
kelas | UniformQuantizedConvolutionHybrid.Options | Atribut opsional untuk UniformQuantizedConvolutionHybrid |
Metode Publik
Keluaran <V> | sebagai Keluaran () Mengembalikan pegangan simbolik tensor. |
UniformQuantizedConvolutionHybrid.Options statis | batchGroupCount (BatchGroupCount panjang) |
statis <V memperluas Nomor, T memperluas Nomor, U> UniformQuantizedConvolutionHybrid <V> | buat ( Lingkup lingkup, Operand <T> lhs, Operand <U> rhs, Operand <Float> rhsScales, Operand <Integer> rhsZeroPoints, Class<V> Tout, String padding, Long rhsQuantizationMinVal, Long rhsQuantizationMaxVal, Pilihan... pilihan) Metode pabrik untuk membuat kelas yang membungkus operasi UniformQuantizedConvolutionHybrid baru. |
UniformQuantizedConvolutionHybrid.Options statis | DimensionNumbers (String DimensionNumbers) |
UniformQuantizedConvolutionHybrid.Options statis | eksplisitPadding (Daftar<Panjang> eksplisitPadding) |
UniformQuantizedConvolutionHybrid.Options statis | featureGroupCount (FiturGroupCount panjang) |
UniformQuantizedConvolutionHybrid.Options statis | lhsDilation (Daftar<Panjang> lhsDilation) |
Keluaran <V> | keluaran () Tensor keluaran `Tout`, peringkatnya sama dengan `lhs` dan `rhs`. |
UniformQuantizedConvolutionHybrid.Options statis | rhsDilation (Daftar<Panjang> rhsDilation) |
UniformQuantizedConvolutionHybrid.Options statis | rhsQuantizationAxis (Sumbu Kuantisasi rhs Panjang) |
UniformQuantizedConvolutionHybrid.Options statis | windowStrides (Daftar<Panjang> windowStrides) |
Metode Warisan
Metode Publik
Keluaran publik <V> sebagai Keluaran ()
Mengembalikan pegangan simbolik tensor.
Masukan ke operasi TensorFlow adalah keluaran dari operasi TensorFlow lainnya. Metode ini digunakan untuk mendapatkan pegangan simbolis yang mewakili perhitungan input.
UniformQuantizedConvolutionHybrid.Options batchGroupCount statis publik (BatchGroupCount panjang)
Parameter
batchGroupCount | Jumlah kelompok batch. Digunakan untuk filter yang dikelompokkan. Harus berupa pembagi fitur_output. |
---|
public static UniformQuantizedConvolutionHybrid <V> buat ( Ruang lingkup, Operan <T> lhs, Operan <U> rhs, Operan <Float> rhsScales, Operan <Integer> rhsZeroPoints, Kelas<V> Tout, Bantalan string, Panjang rhsQuantizationMinVal, Panjang rhsQuantizationMaxVal, Pilihan... pilihan)
Metode pabrik untuk membuat kelas yang membungkus operasi UniformQuantizedConvolutionHybrid baru.
Parameter
cakupan | ruang lingkup saat ini |
---|---|
lhs | Harus berupa Tensor `Tlhs` yang tidak terkuantisasi, dengan peringkat >= 3. |
rhs | Harus berupa Tensor terkuantisasi `Trhs`, dengan peringkat yang sama dengan `lhs`. |
rhsScales | Nilai float yang digunakan sebagai faktor skala saat mengkuantisasi data asli yang diwakili oleh `rhs`. Harus berupa Tensor skalar untuk kuantisasi per-tensor, atau Tensor 1D dengan ukuran `rhs.dim_size(kernel_output_feature_dimension)`, untuk kuantisasi per saluran. |
rhsZeroPoints | Nilai int32 digunakan sebagai titik_nol saat mengkuantisasi data asli yang diwakili oleh `rhs`. Kondisi bentuk yang sama dengan `rhs_scales`. |
Mengintip | Jenis Tensor keluaran. |
lapisan | string dari: `"SAME"`, `"VALID"`, atau `"EXPLICIT"`, yang menunjukkan jenis algoritma padding yang akan digunakan. |
rhsQuantizationMinVal | Nilai minimum data terkuantisasi yang disimpan dalam `rhs`. Misalnya, jika `Trhs` adalah qint8, ini harus disetel ke -127 jika rentang sempit dikuantisasi atau -128 jika tidak. |
rhsQuantizationMaxVal | Nilai maksimal data terkuantisasi yang disimpan di `rhs`. Misalnya, jika `Trhs` adalah qint8, ini harus disetel ke 127. |
pilihan | membawa nilai atribut opsional |
Kembali
- contoh baru dari UniformQuantizedConvolutionHybrid
UniformQuantizedConvolutionHybrid.Options DimensionNumbers (String DimensionNumbers)
Parameter
dimensiNomor | Struktur informasi dimensi untuk operasi konvolusi. Harus berupa string kosong (default) atau string serial proto tensorflow.UniformQuantizedConvolutionDimensionNumbersAttr. Jika string kosong, defaultnya adalah `("NCHW", "OIHW", "NCHW")` (untuk konvolusi 2D). |
---|
UniformQuantizedConvolutionHybrid.Options eksplisitPadding statis publik (Daftar<Panjang> eksplisitPadding)
Parameter
Padding eksplisit | Jika `padding` Attr adalah `"EXPLICIT"`, harus ditetapkan sebagai daftar yang menunjukkan padding eksplisit di awal dan akhir setiap dimensi spasial lhs. Jika tidak, Attr ini harus kosong. (Jika digunakan,) Harus berupa daftar berukuran 2 * (jumlah dimensi spasial lhs), di mana (explicit_padding[2 * i], eksplisit_padding[2 * i + 1]) menunjukkan spasial_dimension[i] (start_padding, end_padding). |
---|
UniformQuantizedConvolutionHybrid.Options featureGroupCount statis publik (FiturGroupCount panjang)
Parameter
featureGroupCount | Jumlah grup fitur. Digunakan untuk konvolusi yang dikelompokkan. Harus berupa pembagi lhs_feature dan output_feature. |
---|
UniformQuantizedConvolutionHybrid.Options lhsDilation statis publik (Daftar<Panjang> lhsDilation)
Parameter
lhsDilasi | Faktor dilatasi yang diterapkan pada setiap dimensi spasial `lhs`. Harus berupa daftar kosong (default) atau daftar ukuran (jumlah dimensi spasial lhs). Jika daftar kosong, dilatasi untuk setiap dimensi spasial lhs diatur ke 1. |
---|
Keluaran publik <V> keluaran ()
Tensor keluaran `Tout`, peringkatnya sama dengan `lhs` dan `rhs`. Data keluaran adalah data keluaran yang tidak terkuantisasi.
public static UniformQuantizedConvolutionHybrid.Options rhsDilation (Daftar<Panjang> rhsDilation)
Parameter
rhsDilasi | Faktor dilatasi yang diterapkan pada setiap dimensi spasial `rhs`. Harus berupa daftar kosong (default) atau daftar ukuran (jumlah dimensi spasial rhs). Jika daftar kosong, dilatasi untuk setiap dimensi spasial rhs diatur ke 1. |
---|
Seragam statis publikQuantizedConvolutionHybrid.Options rhsQuantizationAxis (Long rhsQuantizationAxis)
Parameter
rhsQuantizationAxis | Menunjukkan indeks dimensi tensor tempat kuantisasi per sumbu diterapkan untuk irisan sepanjang dimensi tersebut. Jika disetel ke -1 (default), ini menunjukkan kuantisasi per tensor. Untuk `rhs`, hanya kuantisasi per tensor atau kuantisasi per saluran sepanjang kernel_output_feature_dimension yang didukung. Oleh karena itu, atribut ini harus disetel ke -1 atau `dimension_numbers.kernel_output_feature_dimension`. Nilai lain akan menimbulkan kesalahan pada konstruksi OpKernel. |
---|
public static UniformQuantizedConvolutionHybrid.Options windowStrides (Daftar<Panjang> windowStrides)
Parameter
jendelaLangkah | Langkah jendela geser untuk setiap dimensi spasial `lhs`. Harus berupa daftar kosong (default) atau daftar ukuran (jumlah dimensi spasial). Jika daftar kosong disediakan, langkah untuk setiap dimensi spasial diatur ke 1. |
---|