ConvTranspose¶
ConvTranspose - 22¶
版本¶
網域:
main
since_version:
22
函式:
False
支援層級:
SupportType.COMMON
形狀推論:
True
此運算子的版本自版本 22 起可用。
摘要¶
卷積轉置運算子會取用輸入張量和篩選器,並計算輸出。
如果提供 pads 參數,則輸出的形狀會透過下列方程式計算
output_shape[i] = stride[i] * (input_size[i] - 1) + output_padding[i] + ((kernel_shape[i] - 1) * dilations[i] + 1) - pads[start_i] - pads[end_i]
也可以明確指定 output_shape,在這種情況下,會使用這些方程式自動產生 pads 值
total_padding[i] = stride[i] * (input_size[i] - 1) + output_padding[i] + ((kernel_shape[i] - 1) * dilations[i] + 1) - output_shape[i] If (auto_pads == SAME_UPPER): pads[start_i] = total_padding[i]/2; pads[end_i] = total_padding[i] - (total_padding[i]/2) Else: pads[start_i] = total_padding[i] - (total_padding[i]/2); pads[end_i] = (total_padding[i]/2)。
屬性¶
auto_pad - STRING (預設值為
'NOTSET'
)auto_pad 必須是 NOTSET、SAME_UPPER、SAME_LOWER 或 VALID。預設值為 NOTSET,表示使用明確填補。SAME_UPPER 或 SAME_LOWER 表示填補輸入,使每個軸
i
的output_shape[i] = input_shape[i] * strides[i]
。填補會在兩側平均或幾乎平均分割 (取決於它是偶數還是奇數)。如果填補是奇數,則額外的填補會新增至 SAME_UPPER 的結尾,以及 SAME_LOWER 的開頭。dilations - INTS :
沿篩選器的每個空間軸的 dilation 值。如果不存在,則 dilation 預設為沿每個空間軸 1。
group - INT (預設值為
'1'
)輸入通道和輸出通道所分割成的群組數。
kernel_shape - INTS :
卷積核心的形狀。如果不存在,應從輸入 W 推斷。
output_padding - INTS :
新增至輸出中具有較高座標索引的側邊的其他元素。「output_padding」中的每個填補值都必須小於對應的 stride/dilation 維度。依預設,此屬性是零向量。請注意,此屬性不會直接影響計算的輸出值。它只會控制計算值的選取,因此變更此屬性只會新增或移除輸出元素。如果明確提供「output_shape」,則「output_padding」不會為「output_shape」新增額外的大小,但會參與計算所需的填補量。在某些架構中,這也稱為 adjs 或調整。
output_shape - INTS :
可以明確設定輸出的形狀,這會導致自動產生 pads 值。如果指定 output_shape,則會忽略 pads 值。如需產生 pads 的方程式詳細資訊,請參閱文件。請注意,output_shape 屬性值不應包含批次大小和通道的維度,這些維度會自動推斷。
pads - INTS :
沿每個空間軸的開頭和結尾的填補,它可以採用任何大於或等於 0 的值。該值表示新增至對應軸的開頭和結尾部分的像素數。
pads
格式應如下:[x1_begin, x2_begin…x1_end, x2_end,…],其中 xi_begin 是新增至軸i
開頭的像素數,而 xi_end 是新增至軸i
結尾的像素數。此屬性不能與 auto_pad 屬性同時使用。如果不存在,則填補預設為沿每個空間軸的開頭和結尾 0。strides - INTS :
沿每個空間軸的步幅。如果不存在,則步幅預設為沿每個空間軸 1。
輸入¶
介於 2 和 3 個輸入之間。
X (異質) - T
來自先前層的輸入資料張量;大小為 (N x C x H x W),其中 N 是批次大小,C 是通道數,而 H 和 W 是高度和寬度。請注意,這是針對 2D 影像。否則,大小為 (N x C x D1 x D2 ... x Dn)
W (異質) - T
將用於卷積的權重張量;大小為 (C x M/group x kH x kW),其中 C 是通道數,而 kH 和 kW 是核心的高度和寬度,而 M 是特徵地圖的數量。對於超過 2 個維度,權重形狀會是 (C x M/group x k1 x k2 x ... x kn),其中 (k1 x k2 x ... x kn) 是核心的維度。輸出的通道數應該等於 W.shape[1] * group (假設形狀陣列是以零為基礎的索引)
B (選用,異質) - T
要新增至卷積的選用 1D 偏差,大小為 M。
輸出¶
Y (異質) - T
包含卷積結果的輸出資料張量。輸出維度是核心大小、步幅大小、填補長度和群組計數的函式。輸出的通道數應該等於 W.shape[1] * group (假設形狀陣列是以零為基礎的索引)
類型限制¶
T in (
tensor(bfloat16)
,tensor(double)
,tensor(float)
,tensor(float16)
)限制輸入和輸出類型為浮點數張量。
ConvTranspose - 11¶
版本¶
網域:
main
since_version:
11
函式:
False
支援層級:
SupportType.COMMON
形狀推論:
True
此運算符的版本自版本 11 起可用。
摘要¶
卷積轉置運算子會取用輸入張量和篩選器,並計算輸出。
如果提供 pads 參數,則輸出的形狀會透過下列方程式計算
output_shape[i] = stride[i] * (input_size[i] - 1) + output_padding[i] + ((kernel_shape[i] - 1) * dilations[i] + 1) - pads[start_i] - pads[end_i]
也可以明確指定 output_shape,在這種情況下,會使用這些方程式自動產生 pads 值
total_padding[i] = stride[i] * (input_size[i] - 1) + output_padding[i] + ((kernel_shape[i] - 1) * dilations[i] + 1) - output_shape[i] If (auto_pads == SAME_UPPER): pads[start_i] = total_padding[i]/2; pads[end_i] = total_padding[i] - (total_padding[i]/2) Else: pads[start_i] = total_padding[i] - (total_padding[i]/2); pads[end_i] = (total_padding[i]/2)。
屬性¶
auto_pad - STRING (預設值為
'NOTSET'
)auto_pad 必須是 NOTSET、SAME_UPPER、SAME_LOWER 或 VALID。預設值為 NOTSET,表示使用明確填補。SAME_UPPER 或 SAME_LOWER 表示填補輸入,使每個軸
i
的output_shape[i] = input_shape[i] * strides[i]
。填補會在兩側平均或幾乎平均分割 (取決於它是偶數還是奇數)。如果填補是奇數,則額外的填補會新增至 SAME_UPPER 的結尾,以及 SAME_LOWER 的開頭。dilations - INTS :
沿篩選器的每個空間軸的 dilation 值。如果不存在,則 dilation 預設為沿每個空間軸 1。
group - INT (預設值為
'1'
)輸入通道和輸出通道所分割成的群組數。
kernel_shape - INTS :
卷積核心的形狀。如果不存在,應從輸入 W 推斷。
output_padding - INTS :
新增至輸出中具有較高座標索引的側邊的其他元素。「output_padding」中的每個填補值都必須小於對應的 stride/dilation 維度。依預設,此屬性是零向量。請注意,此屬性不會直接影響計算的輸出值。它只會控制計算值的選取,因此變更此屬性只會新增或移除輸出元素。如果明確提供「output_shape」,則「output_padding」不會為「output_shape」新增額外的大小,但會參與計算所需的填補量。在某些架構中,這也稱為 adjs 或調整。
output_shape - INTS :
可以明確設定輸出的形狀,這會導致自動產生 pads 值。如果指定 output_shape,則會忽略 pads 值。如需產生 pads 的方程式詳細資訊,請參閱文件。請注意,output_shape 屬性值不應包含批次大小和通道的維度,這些維度會自動推斷。
pads - INTS :
沿每個空間軸的開頭和結尾的填補,它可以採用任何大於或等於 0 的值。該值表示新增至對應軸的開頭和結尾部分的像素數。
pads
格式應如下:[x1_begin, x2_begin…x1_end, x2_end,…],其中 xi_begin 是新增至軸i
開頭的像素數,而 xi_end 是新增至軸i
結尾的像素數。此屬性不能與 auto_pad 屬性同時使用。如果不存在,則填補預設為沿每個空間軸的開頭和結尾 0。strides - INTS :
沿每個空間軸的步幅。如果不存在,則步幅預設為沿每個空間軸 1。
輸入¶
介於 2 和 3 個輸入之間。
X (異質) - T
來自先前層的輸入資料張量;大小為 (N x C x H x W),其中 N 是批次大小,C 是通道數,而 H 和 W 是高度和寬度。請注意,這是針對 2D 影像。否則,大小為 (N x C x D1 x D2 ... x Dn)
W (異質) - T
將用於卷積的權重張量;大小為 (C x M/group x kH x kW),其中 C 是通道數,而 kH 和 kW 是核心的高度和寬度,而 M 是特徵地圖的數量。對於超過 2 個維度,權重形狀會是 (C x M/group x k1 x k2 x ... x kn),其中 (k1 x k2 x ... x kn) 是核心的維度。輸出的通道數應該等於 W.shape[1] * group (假設形狀陣列是以零為基礎的索引)
B (選用,異質) - T
要新增至卷積的選用 1D 偏差,大小為 M。
輸出¶
Y (異質) - T
包含卷積結果的輸出資料張量。輸出維度是核心大小、步幅大小、填補長度和群組計數的函式。輸出的通道數應該等於 W.shape[1] * group (假設形狀陣列是以零為基礎的索引)
類型約束¶
T in (
tensor(double)
,tensor(float)
,tensor(float16)
)限制輸入和輸出類型為浮點數張量。
ConvTranspose - 1¶
版本¶
網域:
main
since_version:
1
函式:
False
支援層級:
SupportType.COMMON
形狀推論:
True
此運算符的版本自版本 1 起可用。
摘要¶
卷積轉置運算子會取用輸入張量和篩選器,並計算輸出。
如果提供 pads 參數,則輸出的形狀會透過下列方程式計算
output_shape[i] = stride[i] * (input_size[i] - 1) + output_padding[i] + ((kernel_shape[i] - 1) * dilations[i] + 1) - pads[start_i] - pads[end_i]
也可以明確指定 output_shape,在這種情況下,會使用這些方程式自動產生 pads 值
total_padding[i] = stride[i] * (input_size[i] - 1) + output_padding[i] + ((kernel_shape[i] - 1) * dilations[i] + 1) - output_shape[i] 如果 (auto_pads != SAME_UPPER): pads[start_i] = total_padding[i]/2; pads[end_i] = total_padding[i] - (total_padding[i]/2) 否則: pads[start_i] = total_padding[i] - (total_padding[i]/2); pads[end_i] = (total_padding[i]/2)。
屬性¶
auto_pad - STRING (預設值為
'NOTSET'
)auto_pad 必須是 NOTSET、SAME_UPPER、SAME_LOWER 或 VALID 其中之一。預設值為 NOTSET,表示使用明確的填充。SAME_UPPER 或 SAME_LOWER 表示填充輸入,使輸出空間大小與 input.In 相符。若為奇數,則為 SAME_UPPER 在末尾添加額外的填充,為 SAME_LOWER 在開頭添加。VALID 表示沒有填充。
dilations - INTS :
沿著濾波器每個空間軸的膨脹值。
group - INT (預設值為
'1'
)輸入通道和輸出通道所分割成的群組數。
kernel_shape - INTS :
卷積核心的形狀。如果不存在,應從輸入 W 推斷。
output_padding - INTS :
添加到輸出的一側的零填充。這在某些框架中也稱為 adjs/adjustment。
output_shape - INTS :
可以顯式設定輸出的形狀,這將導致自動產生 pads 值。如果指定 output_shape,則忽略 pads 值。有關產生 pads 的方程式的詳細資訊,請參閱文件。
pads - INTS :
沿每個空間軸的開頭和結尾的填補,它可以採用任何大於或等於 0 的值。該值表示新增至對應軸的開頭和結尾部分的像素數。
pads
格式應如下:[x1_begin, x2_begin…x1_end, x2_end,…],其中 xi_begin 是新增至軸i
開頭的像素數,而 xi_end 是新增至軸i
結尾的像素數。此屬性不能與 auto_pad 屬性同時使用。如果不存在,則填補預設為沿每個空間軸的開頭和結尾 0。strides - INTS :
沿著每個空間軸的步幅。
輸入¶
介於 2 和 3 個輸入之間。
X (異質) - T
來自先前層的輸入資料張量;大小為 (N x C x H x W),其中 N 是批次大小,C 是通道數,而 H 和 W 是高度和寬度。請注意,這是針對 2D 影像。否則,大小為 (N x C x D1 x D2 ... x Dn)
W (異質) - T
將用於卷積的權重張量;大小為 (C x M/group x kH x kW),其中 C 是通道數,而 kH 和 kW 是核心的高度和寬度,而 M 是特徵地圖的數量。對於超過 2 個維度,權重形狀會是 (C x M/group x k1 x k2 x ... x kn),其中 (k1 x k2 x ... x kn) 是核心的維度。輸出的通道數應該等於 W.shape[1] * group (假設形狀陣列是以零為基礎的索引)
B (選用,異質) - T
要新增至卷積的選用 1D 偏差,大小為 M。
輸出¶
Y (異質) - T
包含卷積結果的輸出資料張量。輸出維度是核心大小、步幅大小、填補長度和群組計數的函式。輸出的通道數應該等於 W.shape[1] * group (假設形狀陣列是以零為基礎的索引)
類型約束¶
T in (
tensor(double)
,tensor(float)
,tensor(float16)
)限制輸入和輸出類型為浮點數張量。