1. 程式人生 > >Tensorflow API ------tf.layers.conv2d

Tensorflow API ------tf.layers.conv2d

conv2d(inputs, filters, kernel_size, 
	strides=(1, 1), 
	padding='valid', 
	data_format='channels_last', 
	dilation_rate=(1, 1),
	activation=None, 
	use_bias=True, 
	kernel_initializer=None,
	bias_initializer=<tensorflow.python.ops.init_ops.Zeros object
                                          at 0x000002596A1FD898>, 
	kernel_regularizer=None,
	bias_regularizer=None, 
	activity_regularizer=None, 
	kernel_constraint=None, 
	bias_constraint=None, 
	trainable=True, 
	name=None,
	reuse=None)

##作用
2D 卷積層的函式介面
這個層建立了一個卷積核,將輸入進行卷積來輸出一個 tensor。如果 use_biasTrue(且提供了 bias_initializer),則一個偏差向量會被加到輸出中。最後,如果 activation 不是 None,啟用函式也會被應用到輸出中。
##引數
inputs:Tensor 輸入

filters:整數,表示輸出空間的維數(即卷積過濾器的數量)

kernel_size:一個整數,或者包含了兩個整數的元組/佇列,表示卷積窗的高和寬。如果是一個整數,則寬高相等。

strides:一個整數,或者包含了兩個整數的元組/佇列,表示卷積的縱向和橫向的步長。如果是一個整數,則橫縱步長相等。另外, strides

不等於1 和 dilation_rate 不等於1 這兩種情況不能同時存在。

padding"valid" 或者 "same"(不區分大小寫)。"valid" 表示不夠卷積核大小的塊就丟棄,"same"表示不夠卷積核大小的塊就補0。
"valid" 的輸出形狀為

L_{new}=ceil(\frac{L-F+1}{S})
"same" 的輸出形狀為

L_{new}=\frac{L}{S}
其中,L 為輸入的 size(高或寬),F為 filter 的 size,S為 strides 的大小, ceil() 為向上取整。

data_formatchannels_last 或者 channels_first,表示輸入維度的排序。

`channels_last` corresponds to inputs with shape;
`(batch, height, width, channels)` while `channels_first` corresponds to inputs with shape `(batch, channels, height, width)`.

dilation_rate:一個整數,或者包含了兩個整數的元組/佇列,表示使用擴張卷積時的擴張率。如果是一個整數,則所有方向的擴張率相等。另外, strides 不等於1 和 dilation_rate 不等於1 這兩種情況不能同時存在。

activation:啟用函式。如果是None則為線性函式。

use_biasBoolean型別,表示是否使用偏差向量。

kernel_initializer:卷積核的初始化。

bias_initializer:偏差向量的初始化。如果是None,則使用預設的初始值。

kernel_regularizer:卷積核的正則項

bias_regularizer:偏差向量的正則項

activity_regularizer:輸出的正則函式

kernel_constraint:對映函式,當核被Optimizer更新後應用到核上。Optimizer 用來實現對權重矩陣的範數約束或者值約束。對映函式必須將未被影射的變數作為輸入,且一定輸出對映後的變數(有相同的大小)。做非同步的分散式訓練時,使用約束可能是不安全的。

bias_constraint:對映函式,當偏差向量被Optimizer更新後應用到偏差向量上。

trainableBoolean型別。

name:字串,層的名字。

reuseBoolean型別,表示是否可以重複使用具有相同名字的前一層的權重。
##返回值
輸出 Tensor
##異常丟擲
ValueError:if eager execution is enabled.