W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
dequantize(
input,
min_range,
max_range,
mode=None,
name=None
)
參見(jiàn)指南:張量變換>分割和連接
上述代碼將 “input” 張量反量化為浮動(dòng)張量.
[min_range,max_range] 是指定 “input” 數(shù)據(jù)范圍的標(biāo)量浮點(diǎn)數(shù).'mode' 屬性精確地用于控制將浮點(diǎn)值轉(zhuǎn)換為其量化的等效項(xiàng)的計(jì)算.
在 “MIN_COMBINED” 模式下,張量的每個(gè)值將經(jīng)歷如下過(guò)程:
if T == qint8, in[i] += (range(T) + 1)/ 2.0
out[i] = min_range + (in[i]* (max_range - min_range) / range(T))
其中:range(T) = numeric_limits<T>::max() - numeric_limits<T>::min()
MIN_COMBINED 模式示例
如果輸入來(lái)自 QuantizedRelu6,則輸出類型為 quint8 (范圍為 0-255),但 QuantizedRelu6 的可能范圍為0-6.因此,min_range 和 max_range 值是0.0 和6.0.在 quint8 上取消量化將取每個(gè)值,轉(zhuǎn)換為浮點(diǎn)數(shù)并乘以 6 / 255.請(qǐng)注意,如果 quantizedtype 為 qint8,則操作將在強(qiáng)制轉(zhuǎn)換之前將每個(gè)值添加 128.
如果模式是 "MIN_FIRST", 則使用此方法:
number_of_steps = 1 << (# of bits in T)
range_adjust = number_of_steps / (number_of_steps - 1)
range = (range_max - range_min) * range_adjust
range_scale = range / number_of_steps
const double offset_input = static_cast<double>(input) - lowest_quantized;
result = range_min + ((input - numeric_limits<T>::min()) * range_scale)
返回類型為 float32 的張量.
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: