W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
tf.nn.convolution(
input,
filter,
padding,
strides=None,
dilation_rate=None,
name=None,
data_format=None
)
定義在:tensorflow/python/ops/nn_ops.py.
請參閱指南:神經(jīng)網(wǎng)絡(luò)>卷積運算
計算ND卷積的總和(實際上是互相關(guān)).
這也支持通過可選的strides參數(shù)進行輸出跨步或者通過可選的dilation_rate參數(shù)(也稱為帶孔的卷積或擴張卷積).然而,目前不支持對異常卷積的輸出跨步.
具體地說,在data_format不以“NC”開頭的情況下,給出秩為(N + 2)的input張量,其形狀如下:
[num_batches, input_spatial_shape[0], ..., input_spatial_shape[N-1], num_input_channels]
秩為(N + 2)的filter張量,其形狀為:
[spatial_filter_shape[0], ..., spatial_filter_shape[N-1], num_input_channels, num_output_channels]
一個可選的dilation_rate張量,其形狀為[N](默認(rèn)為[1] N),指定濾波器上采樣/輸入下采樣率,以及一個N strides的可選列表(默認(rèn)[1] N),這計算每個N-D空間輸出位置(x[0], ..., x[N-1]):
output[b, x[0], ..., x[N-1], k] =
sum_{z[0], ..., z[N-1], q}
filter[z[0], ..., z[N-1], q, k] *
padded_input[b,
x[0]*strides[0] + dilation_rate[0]*z[0],
...,
x[N-1]*strides[N-1] + dilation_rate[N-1]*z[N-1],
q]
其中b是批次的索引,k是輸出通道編號,q是輸入通道編號,z是過濾器內(nèi)的N-D空間偏移.這里,padded_input通過使用一個形狀為(spatial_filter_shape-1) * dilation_rate + 1的有效的空間過濾器,和輸出跨步strides來對輸入進行零填充獲得的.
在這種情況下,data_format不以"NC"開頭,在input與輸出(但不是filter)被簡單地調(diào)換,如下所示:
convolution(input, data_format, kwargs) = tf.transpose(convolution(tf.transpose(input, [0] + range(2,N+2) + [1]), kwargs), [0, N+1] + range(1, N+1))
這要求:1 <= N <= 3.
參數(shù):
返回:
一個Tensor,與形狀如下的input具有相同的類型:
`[batch_size] + output_spatial_shape + [out_channels]`
如果data_format為None或者不以“NC”開頭,或者:
`[batch_size, out_channels] + output_spatial_shape`
如果data_format以“NC”開頭,則output_spatial_shape取決于值padding,padding值如下:
如果padding ==“SAME”:output_spatial_shape [i] = ceil(input_spatial_shape [i] / strides [i])
如果padding ==“VALID”:output_spatial_shape [i] = ceil((input_spatial_shape [i] - (spatial_filter_shape [i] -1)* dilation_rate [i])/ strides [i]).
可能引發(fā)的異常:
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: