2D 卷積
tflearn.layers.conv.conv_2d (incoming, nb_filter, filter_size, strides=1, padding='same', activation='linear', bias=True, weights_init='uniform_scaling', bias_init='zeros', regularizer=None, weight_decay=0.001, trainable=True, restore=True, reuse=False, scope=None, name='Conv2D')
輸入
4D 張量 [批次, 高度, 寬度, 輸入通道]。
輸出
4D 張量 [批次, 新高度, 新寬度, nb_filter]。
參數
- incoming:
張量
。輸入的 4D 張量。 - nb_filter:
int
。卷積濾波器的數量。 - filter_size:
int
或int 清單
。濾波器的尺寸。 - strides:
int
或int 清單
。卷積運算的步幅。預設值: [1 1 1 1]。 - padding:
字串
取自"same", "valid"
。要使用的填補演算法。預設值:'same'。 - activation:
字串
(名稱) 或函數
(傳回張量
) 或None
。應用於此層的啟用函數 (請參閱 tflearn.activations)。預設值:'linear'。 - bias:
布林值
。如果設為True
,則會使用偏差。 - weights_init:
字串
(名稱) 或張量
。權重初始化。(請參閱 tflearn.initializations) 預設值:'truncated_normal'。 - bias_init:
字串
(名稱) 或張量
。偏差初始化。(請參閱 tflearn.initializations) 預設值:'zeros'。 - regularizer:
str
(名稱) 或Tensor
。將 regularization 器新增到此層次權重 (請參閱 tflearn.regularizers)。預設值:None。 - weight_decay:
float
。Regularization 衰減參數。預設值:0.001。 - trainable:
bool
。如果為 True,權重會是可訓練的。 - restore:
bool
。如果為 True,載入模型時,此層次權重將會被還原。 - reuse:
bool
。如果為 True 且有提供 'scope',這層變數會被重複使用 (共享)。 - scope:
str
。定義此層次範圍 (選用)。範圍可用於在層次間共享變數。注意 scope 會覆寫名稱。 - name:此層次的名稱 (選用)。預設值:'Conv2D'。
屬性
- scope:
Scope
。此層次範圍。 - W:
Variable
。代表濾波器權重的變數。 - b:
Variable
。代表偏差的變數。
2D 轉置卷積
tflearn.layers.conv.conv_2d_transpose (incoming, nb_filter, filter_size, output_shape, strides=1, padding='same', activation='linear', bias=True, weights_init='uniform_scaling', bias_init='zeros', regularizer=None, weight_decay=0.001, trainable=True, restore=True, reuse=False, scope=None, name='Conv2DTranspose')
此作業有些時候會在 (Deconvolutional Networks)[http://www.matthewzeiler.com/pubs/cvpr2010/cvpr2010.pdf] 後稱為「去卷積」,但實際上,這是 conv_2d
的轉置 (梯度),而不是真正的去卷積。
輸入
4D 張量 [批次, 高度, 寬度, 輸入通道]。
輸出
4D 張量 [批次, 新高度, 新寬度, nb_filter]。
參數
- incoming:
張量
。輸入的 4D 張量。 - nb_filter:
int
。卷積濾波器的數量。 - filter_size:
int
或int 清單
。濾波器的尺寸。 - output_shape:
int 清單
。輸出張量的維度。可以選擇包含卷積濾波器的數量。[新高度、新寬度、nb_filter] 或 [新高度、新寬度]。 - strides:
int
或int
清單。卷積作業的步幅。預設值: [1 1 1 1]。 - padding:
字串
取自"same", "valid"
。要使用的填補演算法。預設值:'same'。 - activation:
str
(名稱) 或函式
(傳回Tensor
)。套用至此層次的啟用 (請參閱 tflearn.activations)。預設值:'linear'。 - bias:
布林值
。如果設為True
,則會使用偏差。 - weights_init:
字串
(名稱) 或張量
。權重初始化。(請參閱 tflearn.initializations) 預設值:'truncated_normal'。 - bias_init:
字串
(名稱) 或張量
。偏差初始化。(請參閱 tflearn.initializations) 預設值:'zeros'。 - regularizer:
str
(名稱) 或Tensor
。將 regularization 器新增到此層次權重 (請參閱 tflearn.regularizers)。預設值:None。 - weight_decay:
float
。Regularization 衰減參數。預設值:0.001。 - trainable:
bool
。如果為 True,權重會是可訓練的。 - restore:
bool
。如果為 True,載入模型時,此層次權重將會被還原。 - reuse:
bool
。如果為 True 且有提供 'scope',這層變數會被重複使用 (共享)。 - scope:
str
。定義此層次範圍 (選用)。範圍可用於在層次間共享變數。注意 scope 會覆寫名稱。 - name:此層次的名稱 (選用)。預設值:'Conv2DTranspose'。
屬性
- scope:
Scope
。此層次範圍。 - W:
Variable
。代表濾波器權重的變數。 - b:
Variable
。代表偏差的變數。
孔洞 2D 卷積
tflearn.layers.conv.atrous_conv_2d (incoming, nb_filter, filter_size, rate=1, padding='same', activation='linear', bias=True, weights_init='uniform_scaling', bias_init='zeros', regularizer=None, weight_decay=0.001, trainable=True, restore=True, reuse=False, scope=None, name='AtrousConv2D')
(a.k.a. 帶有孔洞的卷積或膨脹卷積)。
計算 2-D 多孔卷積,又稱為帶有孔洞的卷積或膨脹卷積,提供 4-D 值與濾波器張量。如果 rate 參數等於 1,將會執行正規的 2-D 卷積。如果 rate 參數大於 1,將會執行帶有孔洞的卷積,以高度和寬度維度在 every rate 中取樣輸入值。這等同於使用一組升頻濾波器與輸入卷積,產生的方法是在高度和寬度維度中濾波器兩個連續值間插入 rate - 1 個 0,因此才稱為多孔卷積或帶有孔洞的卷積 (法文字 trous 是英文中的洞之意)。
更具體來說
output[b, i, j, k] = sum_{di, dj, q} filters[di, dj, q, k] *
value[b, i + rate * di, j + rate * dj, q]
空洞卷積讓我們能夠明確的控制如何以密集的方式運算全卷積式網路中的特徵回應。它與雙線性插值法一起使用時,它提供了 conv2d_transpose 在如語意影像分割、光流計算或深度估計等密集預測任務中的替代方法。它也讓我們有效地擴大濾波器的視野,而無需增加參數數量或運算量。
輸入
4D 張量 [批次, 高度, 寬度, 輸入通道]。
輸出
4D 張量 [批次, 新高度, 新寬度, nb_filter]。
參數
- incoming:
張量
。輸入的 4D 張量。 - nb_filter:
int
。卷積濾波器的數量。 - filter_size:
int
或int 清單
。濾波器的尺寸。 - rate: 'int
. 正整數 32。由高度和寬度維度跨度採樣輸入值時的步幅。或等同於我們通過在高度和寬度維度中插入零來上採樣濾波器值速率。在文獻中,相同的參數有時稱作輸入
stride或
dilation`. - padding:
字串
取自"same", "valid"
。要使用的填補演算法。預設值:'same'。 - activation:
字串
(名稱) 或函數
(傳回張量
) 或None
。應用於此層的啟用函數 (請參閱 tflearn.activations)。預設值:'linear'。 - bias:
布林值
。如果設為True
,則會使用偏差。 - weights_init:
字串
(名稱) 或張量
。權重初始化。(請參閱 tflearn.initializations) 預設值:'truncated_normal'。 - bias_init:
字串
(名稱) 或張量
。偏差初始化。(請參閱 tflearn.initializations) 預設值:'zeros'。 - regularizer:
str
(名稱) 或Tensor
。將 regularization 器新增到此層次權重 (請參閱 tflearn.regularizers)。預設值:None。 - weight_decay:
float
。Regularization 衰減參數。預設值:0.001。 - trainable:
bool
。如果為 True,權重會是可訓練的。 - restore:
bool
。如果為 True,載入模型時,此層次權重將會被還原。 - reuse:
bool
。如果為 True 且有提供 'scope',這層變數會被重複使用 (共享)。 - scope:
str
。定義此層次範圍 (選用)。範圍可用於在層次間共享變數。注意 scope 會覆寫名稱。 - name:此層次的名稱 (選用)。預設值:'Conv2D'。
屬性
- scope:
Scope
。此層次範圍。 - W:
Variable
。代表濾波器權重的變數。 - b:
Variable
。代表偏差的變數。
群組 2D 卷積
tflearn.layers.conv.grouped_conv_2d (incoming, channel_multiplier, filter_size, strides=1, padding='same', activation='linear', bias=False, weights_init='uniform_scaling', bias_init='zeros', regularizer=None, weight_decay=0.001, trainable=True, restore=True, reuse=False, scope=None, name='GroupedConv2D')
深度卷積 2D。
有 4D 輸入張量(「NHWC」或「NCHW」資料格式)、一個 kernel_size 和一個 channel_multiplier,grouped_conv_2d 將一個不同的濾波器套用到每個輸入通道(從 1 個通道擴充到每個 channel_multiplier 通道),然後將結果串接在一起。輸出有 in_channels * channel_multiplier 通道。
詳細來說,
output[b, i, j, k * channel_multiplier + q] = sum_{di, dj}
filter[di, dj, k, q] * input[b, strides[1] * i + rate[0] * di, strides[2] * j + rate[1] * dj, k]
必須有 strides[0] = strides[3] = 1。對於最常見的等於水平及垂直步幅的情況,strides = [1, stride, stride, 1]。如果 rate 中的任何值大於 1,我們會執行空洞深度卷積,在這種情況下,strides 張量中的所有值都必須等於 1。
輸入
4D 張量 [批次, 高度, 寬度, 輸入通道]。
輸出
4D 張量 [批次大小,新高度,新寬度,in_channels * channel_multiplier]。
參數
- incoming:
張量
。輸入的 4D 張量。 - channel_multiplier:
整數
。通道數量擴充到。 - filter_size:
int
或int 清單
。濾波器的尺寸。 - strides:
int
或int 清單
。卷積運算的步幅。預設值: [1 1 1 1]。 - padding:
字串
取自"same", "valid"
。要使用的填補演算法。預設值:'same'。 - activation:
字串
(名稱) 或函數
(傳回張量
) 或None
。應用於此層的啟用函數 (請參閱 tflearn.activations)。預設值:'linear'。 - bias:
布林值
。如果設為True
,則會使用偏差。 - weights_init:
字串
(名稱) 或張量
。權重初始化。(請參閱 tflearn.initializations) 預設值:'truncated_normal'。 - bias_init:
字串
(名稱) 或張量
。偏差初始化。(請參閱 tflearn.initializations) 預設值:'zeros'。 - regularizer:
str
(名稱) 或Tensor
。將 regularization 器新增到此層次權重 (請參閱 tflearn.regularizers)。預設值:None。 - weight_decay:
float
。Regularization 衰減參數。預設值:0.001。 - trainable:
bool
。如果為 True,權重會是可訓練的。 - restore:
bool
。如果為 True,載入模型時,此層次權重將會被還原。 - reuse:
bool
。如果為 True 且有提供 'scope',這層變數會被重複使用 (共享)。 - scope:
str
。定義此層次範圍 (選用)。範圍可用於在層次間共享變數。注意 scope 會覆寫名稱。 - name:此層次的名稱 (選用)。預設值:'Conv2D'。
屬性
- scope:
Scope
。此層次範圍。 - W:
Variable
。代表濾波器權重的變數。 - b:
Variable
。代表偏差的變數。
最大值池化 2D
tflearn.layers.conv.max_pool_2d (incoming, kernel_size, strides=None, padding='same', name='MaxPool2D')
輸入
4D 張量 [批次, 高度, 寬度, 輸入通道]。
輸出
4D 張量 [批次大小,池化高度,池化寬度,in_channels]。
參數
- incoming:
張量
。輸入 4D 層。 - kernel_size:
整數
或整數清單
。池化 kernel 大小。 - strides:
整數
或整數清單
。conv 運算步幅。預設值:與 kernel_size 相同。 - padding:
字串
取自"same", "valid"
。要使用的填補演算法。預設值:'same'。 - name: 此層的名稱(選擇性)。預設值:'MaxPool2D'。
屬性
- scope:
Scope
。此層次範圍。
平均值池化 2D
tflearn.layers.conv.avg_pool_2d (incoming, kernel_size, strides=None, padding='same', name='AvgPool2D')
輸入
4D 張量 [批次, 高度, 寬度, 輸入通道]。
輸出
4D 張量 [批次大小,池化高度,池化寬度,in_channels]。
參數
- incoming:
張量
。輸入 4D 層。 - kernel_size:
整數
或整數清單
。池化 kernel 大小。 - strides:
整數
或整數清單
。conv 運算步幅。預設值:與 kernel_size 相同。 - padding:
字串
取自"same", "valid"
。要使用的填補演算法。預設值:'same'。 - name: 此層的名稱(選擇性)。預設值:'AvgPool2D'。
屬性
- scope:
Scope
。此層次範圍。
上採樣 2D
tflearn.layers.conv.upsample_2d (incoming, kernel_size, name='UpSample2D')
輸入
4D 張量 [批次, 高度, 寬度, 輸入通道]。
輸出
4D 張量 [批次大小,池化高度,池化寬度,in_channels]。
參數
- incoming:
張量
。要上採樣的輸入 4D 層。 - kernel_size:
整數
或整數清單
。上採樣 kernel 大小。 - name: 此層的名稱(選擇性)。預設值:'UpSample2D'。
屬性
- scope:
Scope
。此層次範圍。
上採分
tflearn.layers.conv.upscore_layer (incoming, num_classes, shape=None, kernel_size=4, strides=2, trainable=True, restore=True, reuse=False, scope=None, name='Upscore')
這實作為 (完整卷積網路)[http://arxiv.org/abs/1411.4038] 中使用的分數上調層。分數上調層初始化作為雙線性上採樣濾波器。
輸入
4D 張量 [批次, 高度, 寬度, 輸入通道]。
輸出
4D 張量 [批次大小,池化高度,池化寬度,in_channels]。
參數
- incoming:
張量
。要上採樣的輸入 4D 層。 - num_classes:
int
。輸出特徵地圖數量。 - shape:
int 列表
。輸出地圖 [batch_size, 新高度, 新寬度] 的維度。為方便起見,允許四個值 [batch_size, 新高度, 新寬度, X],其中 X 被忽略。 - kernel_size:
整數
或整數清單
。上採樣 kernel 大小。 - strides:
int
或int 列表
。卷積操作的步伐。預設值為 [1 2 2 1]。 - trainable:
bool
。如果為 True,權重會是可訓練的。 - restore:
bool
。如果為 True,載入模型時,此層次權重將會被還原。 - reuse:
bool
。如果為 True 且有提供 'scope',這層變數會被重複使用 (共享)。 - scope:
str
。定義此層範圍 (選用)。範圍可用於在層之間共享變數。注意範圍會覆寫名稱。 name: 此層的名稱 (選用)。預設值為 'Upscore'。
屬性
- scope:
Scope
。此層次範圍。
連結
(完整卷積網路)[http://arxiv.org/abs/1411.4038]
1D 卷積
tflearn.layers.conv.conv_1d (incoming, nb_filter, filter_size, strides=1, padding='same', activation='linear', bias=True, weights_init='uniform_scaling', bias_init='zeros', regularizer=None, weight_decay=0.001, trainable=True, restore=True, reuse=False, scope=None, name='Conv1D')
輸入
三維張量 [batch、步驟、輸入通道]。
輸出
三維張量 [batch、新步驟、nb_filter]。
參數
- incoming:
張量
。輸入的三維張量。 - nb_filter:
int
。卷積濾波器的數量。 - filter_size:
int
或int 清單
。濾波器的尺寸。 - strides:
int
或int 列表
。卷積操作的步伐。預設值為 [1 1 1 1]。 - padding:
字串
取自"same", "valid"
。要使用的填補演算法。預設值:'same'。 - activation:
str
(名稱) 或函式
(傳回Tensor
)。套用至此層次的啟用 (請參閱 tflearn.activations)。預設值:'linear'。 - bias:
布林值
。如果設為True
,則會使用偏差。 - weights_init:
字串
(名稱) 或張量
。權重初始化。(請參閱 tflearn.initializations) 預設值:'truncated_normal'。 - bias_init:
字串
(名稱) 或張量
。偏差初始化。(請參閱 tflearn.initializations) 預設值:'zeros'。 - regularizer:
str
(名稱) 或Tensor
。將 regularization 器新增到此層次權重 (請參閱 tflearn.regularizers)。預設值:None。 - weight_decay:
float
。Regularization 衰減參數。預設值:0.001。 - trainable:
bool
。如果為 True,權重會是可訓練的。 - restore:
bool
。如果是 True,此層權重將在載入模型時復原 - reuse:
bool
。如果為 True 且有提供 'scope',這層變數會被重複使用 (共享)。 - scope:
str
。定義此層次範圍 (選用)。範圍可用於在層次間共享變數。注意 scope 會覆寫名稱。 - name: 此層的名稱 (選用)。預設值為 'Conv1D'。
屬性
- scope:
Scope
。此層次範圍。 - W:
Variable
。代表濾波器權重的變數。 - b:
Variable
。代表偏差的變數。
最大值池化 1D
tflearn.layers.conv.max_pool_1d (incoming, kernel_size, strides=None, padding='same', name='MaxPool1D')
輸入
三維張量 [batch、步驟、輸入通道]。
輸出
三維張量 [batch, 池化步驟, 輸入通道]。
參數
- incoming:
張量
。輸入的三維層。 - kernel_size:
整數
或整數清單
。池化 kernel 大小。 - strides:
整數
或整數清單
。conv 運算步幅。預設值:與 kernel_size 相同。 - padding:
字串
取自"same", "valid"
。要使用的填補演算法。預設值:'same'。 - name: 此層的名稱 (選用)。預設值為 'MaxPool1D'。
屬性
- scope:
Scope
。此層次範圍。
平均值池化 1D
tflearn.layers.conv.avg_pool_1d (incoming, kernel_size, strides=None, padding='same', name='AvgPool1D')
輸入
三維張量 [batch、步驟、輸入通道]。
輸出
三維張量 [batch, 池化步驟, 輸入通道]。
參數
- incoming:
張量
。輸入的三維層。 - kernel_size:
整數
或整數清單
。池化 kernel 大小。 - strides:
整數
或整數清單
。conv 運算步幅。預設值:與 kernel_size 相同。 - padding:
字串
取自"same", "valid"
。要使用的填補演算法。預設值:'same'。 - name: 此層的名稱 (選用)。預設值為 'AvgPool1D'。
屬性
- scope:
Scope
。此層次範圍。
3D 卷積
tflearn.layers.conv.conv_3d (incoming, nb_filter, filter_size, strides=1, padding='same', activation='linear', bias=True, weights_init='uniform_scaling', bias_init='zeros', regularizer=None, weight_decay=0.001, trainable=True, restore=True, reuse=False, scope=None, name='Conv3D')
輸入
五維張量 [batch、輸入深度、輸入高度、輸入寬度、輸入通道]。
輸出
五維張量 [濾波器深度、濾波器高度、濾波器寬度、輸入通道、輸出通道]。
參數
- incoming:
張量
。輸入的五維張量。 - nb_filter:
int
。卷積濾波器的數量。 - filter_size:
int
或int 清單
。濾波器的尺寸。 - strides: 'int
或
int 列表`. 卷積操作的步伐。預設值為 [1 1 1 1 1]。必須有 strides[0] = strides[4] = 1。 - padding:
字串
取自"same", "valid"
。要使用的填補演算法。預設值:'same'。 - activation:
str
(名稱) 或函式
(傳回Tensor
)。套用至此層次的啟用 (請參閱 tflearn.activations)。預設值:'linear'。 - bias:
布林值
。如果設為True
,則會使用偏差。 - weights_init:
字串
(名稱) 或張量
。權重初始化。(請參閱 tflearn.initializations) 預設值:'truncated_normal'。 - bias_init:
字串
(名稱) 或張量
。偏差初始化。(請參閱 tflearn.initializations) 預設值:'zeros'。 - regularizer:
str
(名稱) 或Tensor
。將 regularization 器新增到此層次權重 (請參閱 tflearn.regularizers)。預設值:None。 - weight_decay:
float
。Regularization 衰減參數。預設值:0.001。 - trainable:
bool
。如果為 True,權重會是可訓練的。 - restore:
bool
。如果為 True,載入模型時,此層次權重將會被還原。 - reuse:
bool
。如果為 True 且有提供 'scope',這層變數會被重複使用 (共享)。 - scope:
str
。定義此層次範圍 (選用)。範圍可用於在層次間共享變數。注意 scope 會覆寫名稱。 - name: 此層的名稱 (選用)。預設值為 'Conv3D'。
屬性
- scope:
Scope
。此層次範圍。 - W:
Variable
。代表濾波器權重的變數。 - b:
Variable
。代表偏差的變數。
3D 轉置卷積
tflearn.layers.conv.conv_3d_transpose (incoming, nb_filter, filter_size, output_shape, strides=1, padding='same', activation='linear', bias=True, weights_init='uniform_scaling', bias_init='zeros', regularizer=None, weight_decay=0.001, trainable=True, restore=True, reuse=False, scope=None, name='Conv3DTranspose')
此操作有時在 (卷積解卷積網路)[http://www.matthewzeiler.com/pubs/cvpr2010/cvpr2010.pdf] 中稱為「解卷積」,但它實際上是 conv_3d
的轉置 (梯度),而不是實際的解卷積。
輸入
5 維 Tensor [批次、深度、高度、寬度、輸入通道]
輸出
5 維 Tensor [批次、新深度、新高度、新寬度、濾波器數量]
參數
- incoming:
張量
。輸入的五維張量。 - nb_filter:
int
。卷積濾波器的數量。 - filter_size:
int
或int 清單
。濾波器的尺寸。 - output_shape:
int 列表
。輸出 Tensor 的維度。可選擇包含卷積濾波器數量。[新深度、新高度、新寬度、濾波器數量] 或 [新深度、新高度、新寬度] - strides:
int
或int 列表
。卷積操作的步幅。預設值:[1 1 1 1 1] - padding:
字串
取自"same", "valid"
。要使用的填補演算法。預設值:'same'。 - activation:
str
(名稱) 或函式
(傳回Tensor
)。套用至此層次的啟用 (請參閱 tflearn.activations)。預設值:'linear'。 - bias:
布林值
。如果設為True
,則會使用偏差。 - weights_init:
字串
(名稱) 或張量
。權重初始化。(請參閱 tflearn.initializations) 預設值:'truncated_normal'。 - bias_init:
字串
(名稱) 或張量
。偏差初始化。(請參閱 tflearn.initializations) 預設值:'zeros'。 - regularizer:
str
(名稱) 或Tensor
。將 regularization 器新增到此層次權重 (請參閱 tflearn.regularizers)。預設值:None。 - weight_decay:
float
。Regularization 衰減參數。預設值:0.001。 - trainable:
bool
。如果為 True,權重會是可訓練的。 - restore:
bool
。如果為 True,載入模型時,此層次權重將會被還原。 - reuse:
bool
。如果為 True 且有提供 'scope',這層變數會被重複使用 (共享)。 - scope:
str
。定義此層次範圍 (選用)。範圍可用於在層次間共享變數。注意 scope 會覆寫名稱。 - name:此層次的名稱 (選用)。預設值:'Conv2DTranspose'。
屬性
- scope:
Scope
。此層次範圍。 - W:
Variable
。代表濾波器權重的變數。 - b:
Variable
。代表偏差的變數。
最大值池化 3D
tflearn.layers.conv.max_pool_3d (輸入、核大小、步幅=1、內部間距='same'、名稱='MaxPool3D')
輸入
5 維 Tensor [批次、深度、列、行、通道]
輸出
5 維 Tensor [批次、池化深度、池化列、池化行、輸入通道]
參數
- 輸入:
Tensor
。輸入 5 維層。 - 核大小:
int
或int 列表
。池化核大小。核大小[0] = 核大小[1] = 1 - 步幅:
int
或int 列表
。卷積操作的步幅。步幅[0] = 步幅[4] = 1。預設值:[1 1 1 1 1] - padding:
字串
取自"same", "valid"
。要使用的填補演算法。預設值:'same'。 - 名稱:此層的名稱 (選擇性)。預設值:'MaxPool3D'。
屬性
- scope:
Scope
。此層次範圍。
平均值池化 3D
tflearn.layers.conv.avg_pool_3d (輸入、核大小、步幅=1、內部間距='same'、名稱='AvgPool3D')
輸入
5 維 Tensor [批次、深度、列、行、通道]
輸出
5 維 Tensor [批次、池化深度、池化列、池化行、輸入通道]
參數
- 輸入:
Tensor
。輸入 5 維層。 - 核大小:
int
或int 列表
。池化核大小。核大小[0] = 核大小[1] = 1 - 步幅:
int
或int 列表
。卷積操作的步幅。步幅[0] = 步幅[4] = 1。預設值:[1 1 1 1 1] - padding:
字串
取自"same", "valid"
。要使用的填補演算法。預設值:'same'。 - 名稱:此層的名稱 (選擇性)。預設值:'AvgPool3D'。
屬性
- scope:
Scope
。此層次範圍。
全域最大值池化
tflearn.layers.conv.global_max_pool (輸入、名稱='GlobalMaxPool')
輸入
4D 張量 [批次, 高度, 寬度, 輸入通道]。
輸出
2 維 Tensor [批次、池化度量]
參數
- incoming:
張量
。輸入的 4D 張量。 - 名稱:此層的名稱 (選擇性)。預設值:'GlobalMaxPool'。
全域平均值池化
tflearn.layers.conv.global_avg_pool (輸入、名稱='GlobalAvgPool')
輸入
4D 張量 [批次, 高度, 寬度, 輸入通道]。
輸出
2 維 Tensor [批次、池化度量]
參數
- incoming:
張量
。輸入的 4D 張量。 - 名稱:此層的名稱 (選擇性)。預設值:'GlobalAvgPool'。
殘差區塊
tflearn.layers.conv.residual_block (輸入、區塊數量、輸出通道、是否降採樣=False、降採樣步長=2、啟動='relu'、批次標準化=True、偏倚=True、權重初始化='variance_scaling'、偏倚初始化='zeros'、正則化='L2'、權重衰減=0.0001、可訓練性=True、復原=True、重複使用=False、範圍=None、名稱='ResidualBlock')
殘留區塊,如 MSRA 的深度殘留網路論文中所描述。這裡使用完整的預啟動架構。
輸入
4D 張量 [批次, 高度, 寬度, 輸入通道]。
輸出
4D 張量 [批次, 新高度, 新寬度, nb_filter]。
參數
- incoming:
張量
。輸入 4D 層。 - 區塊數量:
int
。層區塊數量。 - 輸出通道:
int
。卷積層的卷積濾波器數量。 - 是否降採樣:
bool
。如果為 True,使用 'downsample_strides' for strides 進行降採樣。 - 降採樣步長:
int
。降採樣時使用的步幅。 - activation:
str
(名稱) 或函式
(傳回Tensor
)。套用至此層次的啟用 (請參閱 tflearn.activations)。預設值:'linear'。 - 批次標準化:
bool
。如果為 True,套用批次標準化。 - bias:
布林值
。如果設為True
,則會使用偏差。 - 權重初始化:
str
(名稱) 或Tensor
。權重初始化。(請參閱 tflearn.initializations) 預設值:'uniform_scaling'。 - bias_init:
str
(名稱)或tf.Tensor
。偏差初始化。(請參閱 tflearn.initializations)預設值:'zeros'。 - regularizer:
str
(名稱) 或Tensor
。將 regularization 器新增到此層次權重 (請參閱 tflearn.regularizers)。預設值:None。 - weight_decay:
float
。Regularization 衰減參數。預設值:0.001。 - trainable:
bool
。如果為 True,權重會是可訓練的。 - restore:
bool
。如果為 True,載入模型時,此層次權重將會被還原。 - reuse:
bool
。如果為 True 且有提供 'scope',這層變數會被重複使用 (共享)。 - scope:
str
。定義此層次範圍 (選用)。範圍可用於在層次間共享變數。注意 scope 會覆寫名稱。 - name:這一層的名稱(選用)。預設值:'ShallowBottleneck'。
參考文獻
- 圖像識別的深度剩餘學習。何凱明、張祥雨、任少卿、孫建。2015。
- 深度剩餘網路的身分對應。何凱明、張祥雨、任少卿、孫建。2015。
連結
殘差瓶頸
tflearn.layers.conv.residual_bottleneck (incoming, nb_blocks, bottleneck_size, out_channels, downsample=False, downsample_strides=2, activation='relu', batch_norm=True, bias=True, weights_init='variance_scaling', bias_init='zeros', regularizer='L2', weight_decay=0.0001, trainable=True, restore=True, reuse=False, scope=None, name='ResidualBottleneck')
MSRA 的深度剩餘網路論文中所述的剩餘瓶頸區塊。在此使用完整的預先激活架構。
輸入
4D 張量 [批次, 高度, 寬度, 輸入通道]。
輸出
4D 張量 [批次, 新高度, 新寬度, nb_filter]。
參數
- incoming:
張量
。輸入 4D 層。 - 區塊數量:
int
。層區塊數量。 - bottleneck_size:
int
。瓶頸卷積層的卷積濾波器數量。 - out_channels:
int
。包圍著瓶頸層的層的卷積濾波器數量。 - 是否降採樣:
bool
。如果為 True,使用 'downsample_strides' for strides 進行降採樣。 - 降採樣步長:
int
。降採樣時使用的步幅。 - activation:
str
(名稱) 或函式
(傳回Tensor
)。套用至此層次的啟用 (請參閱 tflearn.activations)。預設值:'linear'。 - 批次標準化:
bool
。如果為 True,套用批次標準化。 - bias:
布林值
。如果設為True
,則會使用偏差。 - 權重初始化:
str
(名稱) 或Tensor
。權重初始化。(請參閱 tflearn.initializations) 預設值:'uniform_scaling'。 - bias_init:
str
(名稱)或tf.Tensor
。偏差初始化。(請參閱 tflearn.initializations)預設值:'zeros'。 - regularizer:
str
(名稱) 或Tensor
。將 regularization 器新增到此層次權重 (請參閱 tflearn.regularizers)。預設值:None。 - weight_decay:
float
。Regularization 衰減參數。預設值:0.001。 - trainable:
bool
。如果為 True,權重會是可訓練的。 - restore:
bool
。如果為 True,載入模型時,此層次權重將會被還原。 - reuse:
bool
。如果為 True 且有提供 'scope',這層變數會被重複使用 (共享)。 - scope:
str
。定義此層次範圍 (選用)。範圍可用於在層次間共享變數。注意 scope 會覆寫名稱。 - name:這一層的名稱(選用)。預設值:'DeepBottleneck'。
參考文獻
- 圖像識別的深度剩餘學習。何凱明、張祥雨、任少卿、孫建。2015。
- 深度剩餘網路的身分對應。何凱明、張祥雨、任少卿、孫建。2015。
連結
ResNeXt 區塊
tflearn.layers.conv.resnext_block (incoming, nb_blocks, out_channels, cardinality, downsample=False, downsample_strides=2, activation='relu', batch_norm=True, weights_init='variance_scaling', regularizer='L2', weight_decay=0.0001, bias=True, bias_init='zeros', trainable=True, restore=True, reuse=False, scope=None, name='ResNeXtBlock')
ResNeXt 論文(圖 2, c)中所述的 ResNeXt 區塊。
輸入
4D 張量 [批次, 高度, 寬度, 輸入通道]。
輸出
4-D 張量 [批次、新高度、新寬度、輸出通道]。
參數
- incoming:
張量
。輸入 4D 層。 - 區塊數量:
int
。層區塊數量。 - out_channels:
int
。包圍著瓶頸層的層的卷積濾波器數量。 - cardinality:
int
。匯總的剩餘轉換數量。 - 是否降採樣:
bool
。如果為 True,使用 'downsample_strides' for strides 進行降採樣。 - 降採樣步長:
int
。降採樣時使用的步幅。 - activation:
str
(名稱) 或函式
(傳回Tensor
)。套用至此層次的啟用 (請參閱 tflearn.activations)。預設值:'linear'。 - 批次標準化:
bool
。如果為 True,套用批次標準化。 - bias:
布林值
。如果設為True
,則會使用偏差。 - 權重初始化:
str
(名稱) 或Tensor
。權重初始化。(請參閱 tflearn.initializations) 預設值:'uniform_scaling'。 - bias_init:
str
(名稱)或tf.Tensor
。偏差初始化。(請參閱 tflearn.initializations)預設值:'zeros'。 - regularizer:
str
(名稱) 或Tensor
。將 regularization 器新增到此層次權重 (請參閱 tflearn.regularizers)。預設值:None。 - weight_decay:
float
。Regularization 衰減參數。預設值:0.001。 - trainable:
bool
。如果為 True,權重會是可訓練的。 - restore:
bool
。如果為 True,載入模型時,此層次權重將會被還原。 - reuse:
bool
。如果為 True 且有提供 'scope',這層變數會被重複使用 (共享)。 - scope:
str
。定義此層次範圍 (選用)。範圍可用於在層次間共享變數。注意 scope 會覆寫名稱。 - name:這一層的名稱(選用)。預設值:'ResNeXtBlock'。
參考文獻
深度神經網路的匯總剩餘轉換。謝賽寧、羅斯·吉爾希克、皮奧特·多拉、屠卓文、何凱明。2016。
連結
https://arxiv.org/pdf/1611.05431.pdf
高速公路卷積 2D
tflearn.layers.conv.highway_conv_2d (incoming, nb_filter, filter_size, strides=1, padding='same', activation='linear', weights_init='uniform_scaling', bias_init='zeros', regularizer=None, weight_decay=0.001, trainable=True, restore=True, reuse=False, scope=None, name='HighwayConv2D')
輸入
4D 張量 [批次, 高度, 寬度, 輸入通道]。
輸出
4D 張量 [批次, 新高度, 新寬度, nb_filter]。
參數
- incoming:
張量
。輸入的 4D 張量。 - nb_filter:
int
。卷積濾波器的數量。 - filter_size:
int
或int 清單
。濾波器的尺寸。 - strides:
int
或int 列表
。卷積操作的步伐。預設值為 [1 1 1 1]。 - padding:
字串
取自"same", "valid"
。要使用的填補演算法。預設值:'same'。 - activation:
str
(名稱) 或函式
(傳回Tensor
)。套用至此層次的啟用 (請參閱 tflearn.activations)。預設值:'linear'。 - weights_init:
字串
(名稱) 或張量
。權重初始化。(請參閱 tflearn.initializations) 預設值:'truncated_normal'。 - bias_init:
字串
(名稱) 或張量
。偏差初始化。(請參閱 tflearn.initializations) 預設值:'zeros'。 - regularizer:
str
(名稱) 或Tensor
。將 regularization 器新增到此層次權重 (請參閱 tflearn.regularizers)。預設值:None。 - weight_decay:
float
。Regularization 衰減參數。預設值:0.001。 - trainable:
bool
。如果為 True,權重會是可訓練的。 - restore:
bool
。如果是 True,此層權重將在載入模型時復原 - reuse:
bool
。如果為 True 且有提供 'scope',這層變數會被重複使用 (共享)。 - scope:
str
。定義此層次範圍 (選用)。範圍可用於在層次間共享變數。注意 scope 會覆寫名稱。 - name:此層次的名稱 (選用)。預設值:'Conv2D'。
屬性
- scope:
Scope
。此層次範圍。 - W:
Variable
。代表濾波器權重的變數。 - W_T:
Variable
。代表閘門權重的變數。 - b:
Variable
。代表偏差的變數。 - b_T:
Variable
。代表閘門偏誤的變數。
高速公路卷積 1D
tflearn.layers.conv.highway_conv_1d (incoming, nb_filter, filter_size, strides=1, padding='same', activation='linear', weights_init='uniform_scaling', bias_init='zeros', regularizer=None, weight_decay=0.001, trainable=True, restore=True, reuse=False, scope=None, name='HighwayConv1D')
輸入
三維張量 [batch、步驟、輸入通道]。
輸出
三維張量 [batch、新步驟、nb_filter]。
參數
- incoming:
張量
。輸入的三維張量。 - nb_filter:
int
。卷積濾波器的數量。 - filter_size:
int
或int 清單
。濾波器的尺寸。 - strides:
int
或int 列表
。卷積操作的步伐。預設值為 [1 1 1 1]。 - padding:
字串
取自"same", "valid"
。要使用的填補演算法。預設值:'same'。 - activation:
str
(名稱) 或函式
(傳回Tensor
)。套用至此層次的啟用 (請參閱 tflearn.activations)。預設值:'linear'。 - weights_init:
字串
(名稱) 或張量
。權重初始化。(請參閱 tflearn.initializations) 預設值:'truncated_normal'。 - bias_init:
字串
(名稱) 或張量
。偏差初始化。(請參閱 tflearn.initializations) 預設值:'zeros'。 - regularizer:
str
(名稱) 或Tensor
。將 regularization 器新增到此層次權重 (請參閱 tflearn.regularizers)。預設值:None。 - weight_decay:
float
。Regularization 衰減參數。預設值:0.001。 - trainable:
bool
。如果為 True,權重會是可訓練的。 - restore:
bool
。如果為 True,載入模型時,此層次權重將會被還原。 - reuse:
bool
。如果為 True 且有提供 'scope',這層變數會被重複使用 (共享)。 - scope:
str
。定義此層次範圍 (選用)。範圍可用於在層次間共享變數。注意 scope 會覆寫名稱。 - name:這一層的名稱(選用)。預設值:'HighwayConv1D'。
屬性
- scope:
Scope
。此層次範圍。 - W:
Variable
。代表濾波器權重的變數。 - W_T:
Variable
。代表閘門權重的變數。 - b:
Variable
。代表偏差的變數。 - b_T:
Variable
。代表閘門偏誤的變數。