二维卷积
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')
输入
4 维张量 [批次大小, 高度, 宽度, 输入通道数]。
输出
4 维张量 [批次大小, 新高度, 新宽度, 卷积核数量]。
参数
- incoming:
Tensor
。输入的 4 维张量。 - nb_filter:
int
。卷积核的数量。 - filter_size:
int
或int 列表
。卷积核的大小。 - strides: 'int
或
int 列表`。卷积操作的步长。默认值: [1 1 1 1]。 - padding:
str
,取值范围为"same", "valid"
。使用的填充算法。默认值: 'same'。 - activation:
str
(名称) 或函数
(返回一个Tensor
) 或 None。应用于该层的激活函数 (参见 tflearn.activations)。默认值: 'linear'。 - bias:
bool
。如果为 True,则使用偏置。 - weights_init:
str
(名称) 或Tensor
。权重初始化方法。(参见 tflearn.initializations) 默认值: 'truncated_normal'。 - bias_init:
str
(名称) 或Tensor
。偏置初始化方法。(参见 tflearn.initializations) 默认值: 'zeros'。 - regularizer:
str
(名称) 或Tensor
。向该层权重添加正则化器 (参见 tflearn.regularizers)。默认值: None。 - weight_decay:
float
。正则化器衰减参数。默认值: 0.001。 - trainable:
bool
。如果为 True,则权重将是可训练的。 - restore:
bool
。如果为 True,则在加载模型时将恢复该层的权重。 - reuse:
bool
。如果为 True 且提供了 'scope',则将重用 (共享) 该层变量。 - scope:
str
。定义该层的范围 (可选)。范围可用于在层之间共享变量。请注意,范围将覆盖名称。 - name: 该层的名称 (可选)。默认值: 'Conv2D'。
属性
- scope:
Scope
。该层的范围。 - W:
Variable
。表示卷积核权重的变量。 - b:
Variable
。表示偏置的变量。
二维反卷积
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
的转置 (梯度),而不是真正的反卷积。
输入
4 维张量 [批次大小, 高度, 宽度, 输入通道数]。
输出
4 维张量 [批次大小, 新高度, 新宽度, 卷积核数量]。
参数
- incoming:
Tensor
。输入的 4 维张量。 - nb_filter:
int
。卷积核的数量。 - filter_size:
int
或int 列表
。卷积核的大小。 - output_shape:
int 列表
。输出张量的维度。可以选择性地包含卷积核的数量。[新高度, 新宽度, 卷积核数量] 或 [新高度, 新宽度]。 - strides:
int
或int 列表
。卷积操作的步长。默认值: [1 1 1 1]。 - padding:
str
,取值范围为"same", "valid"
。使用的填充算法。默认值: 'same'。 - activation:
str
(名称) 或函数
(返回一个Tensor
)。应用于该层的激活函数 (参见 tflearn.activations)。默认值: 'linear'。 - bias:
bool
。如果为 True,则使用偏置。 - weights_init:
str
(名称) 或Tensor
。权重初始化方法。(参见 tflearn.initializations) 默认值: 'truncated_normal'。 - bias_init:
str
(名称) 或Tensor
。偏置初始化方法。(参见 tflearn.initializations) 默认值: 'zeros'。 - regularizer:
str
(名称) 或Tensor
。向该层权重添加正则化器 (参见 tflearn.regularizers)。默认值: None。 - weight_decay:
float
。正则化器衰减参数。默认值: 0.001。 - trainable:
bool
。如果为 True,则权重将是可训练的。 - restore:
bool
。如果为 True,则在加载模型时将恢复该层的权重。 - reuse:
bool
。如果为 True 且提供了 'scope',则将重用 (共享) 该层变量。 - scope:
str
。定义该层的范围 (可选)。范围可用于在层之间共享变量。请注意,范围将覆盖名称。 - name: 该层的名称 (可选)。默认值: 'Conv2DTranspose'。
属性
- scope:
Scope
。该层的范围。 - W:
Variable
。表示卷积核权重的变量。 - b:
Variable
。表示偏置的变量。
二维空洞卷积
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')
(又名带孔卷积或扩张卷积)。
给定 4 维值张量和卷积核张量,计算二维空洞卷积,也称为带孔卷积或扩张卷积。如果速率参数等于 1,则执行常规的二维卷积。如果速率参数大于 1,则执行带孔卷积,在高度和宽度维度上每隔 rate 个像素对输入值进行采样。这相当于对输入进行一组上采样卷积核的卷积,这些卷积核是通过在高度和宽度维度上的卷积核的每两个连续值之间插入 rate - 1 个零来生成的,因此称为空洞卷积或带孔卷积 (法语单词 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 提供了一种替代方案。它还允许我们在不增加参数数量或计算量的情况下有效地扩大卷积核的感受野。
输入
4 维张量 [批次大小, 高度, 宽度, 输入通道数]。
输出
4 维张量 [批次大小, 新高度, 新宽度, 卷积核数量]。
参数
- incoming:
Tensor
。输入的 4 维张量。 - nb_filter:
int
。卷积核的数量。 - filter_size:
int
或int 列表
。卷积核的大小。 - rate: 'int
。一个正 int32。我们在高度和宽度维度上对输入值进行采样的步长。等效地,我们通过在高度和宽度维度上插入零来对卷积核值进行上采样的速率。在文献中,相同的参数有时被称为 input
stride或
dilation`。 - padding:
str
,取值范围为"same", "valid"
。使用的填充算法。默认值: 'same'。 - activation:
str
(名称) 或函数
(返回一个Tensor
) 或 None。应用于该层的激活函数 (参见 tflearn.activations)。默认值: 'linear'。 - bias:
bool
。如果为 True,则使用偏置。 - weights_init:
str
(名称) 或Tensor
。权重初始化方法。(参见 tflearn.initializations) 默认值: 'truncated_normal'。 - bias_init:
str
(名称) 或Tensor
。偏置初始化方法。(参见 tflearn.initializations) 默认值: 'zeros'。 - regularizer:
str
(名称) 或Tensor
。向该层权重添加正则化器 (参见 tflearn.regularizers)。默认值: None。 - weight_decay:
float
。正则化器衰减参数。默认值: 0.001。 - trainable:
bool
。如果为 True,则权重将是可训练的。 - restore:
bool
。如果为 True,则在加载模型时将恢复该层的权重。 - reuse:
bool
。如果为 True 且提供了 'scope',则将重用 (共享) 该层变量。 - scope:
str
。定义该层的范围 (可选)。范围可用于在层之间共享变量。请注意,范围将覆盖名称。 - name: 该层的名称 (可选)。默认值: 'Conv2D'。
属性
- scope:
Scope
。该层的范围。 - W:
Variable
。表示卷积核权重的变量。 - b:
Variable
。表示偏置的变量。
二维分组卷积
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。
给定一个 4 维输入张量 ('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。
输入
4 维张量 [批次大小, 高度, 宽度, 输入通道数]。
输出
4 维张量 [批次大小, 新高度, 新宽度, 输入通道数 * 通道乘数]。
参数
- incoming:
Tensor
。输入的 4 维张量。 - channel_multiplier:
int
。要扩展到的通道数。 - filter_size:
int
或int 列表
。卷积核的大小。 - strides: 'int
或
int 列表`。卷积操作的步长。默认值: [1 1 1 1]。 - padding:
str
,取值范围为"same", "valid"
。使用的填充算法。默认值: 'same'。 - activation:
str
(名称) 或函数
(返回一个Tensor
) 或 None。应用于该层的激活函数 (参见 tflearn.activations)。默认值: 'linear'。 - bias:
bool
。如果为 True,则使用偏置。 - weights_init:
str
(名称) 或Tensor
。权重初始化方法。(参见 tflearn.initializations) 默认值: 'truncated_normal'。 - bias_init:
str
(名称) 或Tensor
。偏置初始化方法。(参见 tflearn.initializations) 默认值: 'zeros'。 - regularizer:
str
(名称) 或Tensor
。向该层权重添加正则化器 (参见 tflearn.regularizers)。默认值: None。 - weight_decay:
float
。正则化器衰减参数。默认值: 0.001。 - trainable:
bool
。如果为 True,则权重将是可训练的。 - restore:
bool
。如果为 True,则在加载模型时将恢复该层的权重。 - reuse:
bool
。如果为 True 且提供了 'scope',则将重用 (共享) 该层变量。 - scope:
str
。定义该层的范围 (可选)。范围可用于在层之间共享变量。请注意,范围将覆盖名称。 - name: 该层的名称 (可选)。默认值: 'Conv2D'。
属性
- scope:
Scope
。该层的范围。 - W:
Variable
。表示卷积核权重的变量。 - b:
Variable
。表示偏置的变量。
二维最大池化
tflearn.layers.conv.max_pool_2d (incoming, kernel_size, strides=None, padding='same', name='MaxPool2D')
输入
4 维张量 [批次大小, 高度, 宽度, 输入通道数]。
输出
4 维张量 [批次大小, 池化后高度, 池化后宽度, 输入通道数]。
参数
- incoming:
Tensor
。输入的 4 维层。 - kernel_size:
int
或int 列表
。池化核大小。 - strides:
int
或int 列表
。卷积操作的步长。默认值: 与 kernel_size 相同。 - padding:
str
,取值范围为"same", "valid"
。使用的填充算法。默认值: 'same'。 - name: 该层的名称 (可选)。默认值: 'MaxPool2D'。
属性
- scope:
Scope
。该层的范围。
二维平均池化
tflearn.layers.conv.avg_pool_2d (incoming, kernel_size, strides=None, padding='same', name='AvgPool2D')
输入
4 维张量 [批次大小, 高度, 宽度, 输入通道数]。
输出
4 维张量 [批次大小, 池化后高度, 池化后宽度, 输入通道数]。
参数
- incoming:
Tensor
。输入的 4 维层。 - kernel_size:
int
或int 列表
。池化核大小。 - strides:
int
或int 列表
。卷积操作的步长。默认值: 与 kernel_size 相同。 - padding:
str
,取值范围为"same", "valid"
。使用的填充算法。默认值: 'same'。 - name: 该层的名称 (可选)。默认值: 'AvgPool2D'。
属性
- scope:
Scope
。该层的范围。
二维上采样
tflearn.layers.conv.upsample_2d (incoming, kernel_size, name='UpSample2D')
输入
4 维张量 [批次大小, 高度, 宽度, 输入通道数]。
输出
4 维张量 [批次大小, 池化后高度, 池化后宽度, 输入通道数]。
参数
- incoming:
Tensor
。要上采样的输入 4 维层。 - kernel_size:
int
或int 列表
。上采样核大小。 - 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] 中使用的上采样层。上采样层初始化为双线性上采样滤波器。
输入
4 维张量 [批次大小, 高度, 宽度, 输入通道数]。
输出
4 维张量 [批次大小, 池化后高度, 池化后宽度, 输入通道数]。
参数
- incoming:
Tensor
。要上采样的输入 4 维层。 - num_classes:
int
。输出特征图的数量。 - shape:
int 列表
。输出图的维度 [批次大小, 新高度, 新宽度]。为了方便起见,允许使用四个值 [批次大小, 新高度, 新宽度, X],其中 X 被忽略。 - kernel_size:
int
或int 列表
。上采样核大小。 - 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]
一维卷积
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')
输入
3 维张量 [批次大小, 时间步长, 输入通道数]。
输出
3 维张量 [批次大小, 新时间步长, 卷积核数量]。
参数
- incoming:
Tensor
。输入的 3 维张量。 - nb_filter:
int
。卷积核的数量。 - filter_size:
int
或int 列表
。卷积核的大小。 - strides:
int
或int 列表
。卷积操作的步长。默认值: [1 1 1 1]。 - padding:
str
,取值范围为"same", "valid"
。使用的填充算法。默认值: 'same'。 - activation:
str
(名称) 或函数
(返回一个Tensor
)。应用于该层的激活函数 (参见 tflearn.activations)。默认值: 'linear'。 - bias:
bool
。如果为 True,则使用偏置。 - weights_init:
str
(名称) 或Tensor
。权重初始化方法。(参见 tflearn.initializations) 默认值: 'truncated_normal'。 - bias_init:
str
(名称) 或Tensor
。偏置初始化方法。(参见 tflearn.initializations) 默认值: 'zeros'。 - regularizer:
str
(名称) 或Tensor
。向该层权重添加正则化器 (参见 tflearn.regularizers)。默认值: None。 - weight_decay:
float
。正则化器衰减参数。默认值: 0.001。 - trainable:
bool
。如果为 True,则权重将是可训练的。 - restore:
bool
。如果为 True,则在加载模型时将恢复该层的权重 - reuse:
bool
。如果为 True 且提供了 'scope',则将重用 (共享) 该层变量。 - scope:
str
。定义该层的范围 (可选)。范围可用于在层之间共享变量。请注意,范围将覆盖名称。 - name: 该层的名称 (可选)。默认值: 'Conv1D'。
属性
- scope:
Scope
。该层的范围。 - W:
Variable
。表示卷积核权重的变量。 - b:
Variable
。表示偏置的变量。
一维最大池化
tflearn.layers.conv.max_pool_1d (incoming, kernel_size, strides=None, padding='same', name='MaxPool1D')
输入
3 维张量 [批次大小, 时间步长, 输入通道数]。
输出
3 维张量 [批次大小, 池化后时间步长, 输入通道数]。
参数
- incoming:
Tensor
。输入的 3 维层。 - kernel_size:
int
或int 列表
。池化核大小。 - strides:
int
或int 列表
。卷积操作的步长。默认值: 与 kernel_size 相同。 - padding:
str
,取值范围为"same", "valid"
。使用的填充算法。默认值: 'same'。 - name: 该层的名称 (可选)。默认值: 'MaxPool1D'。
属性
- scope:
Scope
。该层的范围。
一维平均池化
tflearn.layers.conv.avg_pool_1d (incoming, kernel_size, strides=None, padding='same', name='AvgPool1D')
输入
3 维张量 [批次大小, 时间步长, 输入通道数]。
输出
3 维张量 [批次大小, 池化后时间步长, 输入通道数]。
参数
- incoming:
Tensor
。输入的 3 维层。 - kernel_size:
int
或int 列表
。池化核大小。 - strides:
int
或int 列表
。卷积操作的步长。默认值: 与 kernel_size 相同。 - padding:
str
,取值范围为"same", "valid"
。使用的填充算法。默认值: 'same'。 - name: 该层的名称 (可选)。默认值: 'AvgPool1D'。
属性
- scope:
Scope
。该层的范围。
三维卷积
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')
输入
5 维张量 [批次大小, 输入深度, 输入高度, 输入宽度, 输入通道数]。
输出
5 维张量 [卷积核深度, 卷积核高度, 卷积核宽度, 输入通道数, 输出通道数]。
参数
- incoming:
Tensor
。输入的 5 维张量。 - nb_filter:
int
。卷积核的数量。 - filter_size:
int
或int 列表
。卷积核的大小。 - strides: 'int
或
int 列表`。卷积操作的步长。默认值: [1 1 1 1 1]。必须有 strides[0] = strides[4] = 1。 - padding:
str
,取值范围为"same", "valid"
。使用的填充算法。默认值: 'same'。 - activation:
str
(名称) 或函数
(返回一个Tensor
)。应用于该层的激活函数 (参见 tflearn.activations)。默认值: 'linear'。 - bias:
bool
。如果为 True,则使用偏置。 - weights_init:
str
(名称) 或Tensor
。权重初始化方法。(参见 tflearn.initializations) 默认值: 'truncated_normal'。 - bias_init:
str
(名称) 或Tensor
。偏置初始化方法。(参见 tflearn.initializations) 默认值: 'zeros'。 - regularizer:
str
(名称) 或Tensor
。向该层权重添加正则化器 (参见 tflearn.regularizers)。默认值: None。 - weight_decay:
float
。正则化器衰减参数。默认值: 0.001。 - trainable:
bool
。如果为 True,则权重将是可训练的。 - restore:
bool
。如果为 True,则在加载模型时将恢复该层的权重。 - reuse:
bool
。如果为 True 且提供了 'scope',则将重用 (共享) 该层变量。 - scope:
str
。定义该层的范围 (可选)。范围可用于在层之间共享变量。请注意,范围将覆盖名称。 - name: 该层的名称 (可选)。默认值: 'Conv3D'。
属性
- scope:
Scope
。该层的范围。 - W:
Variable
。表示卷积核权重的变量。 - b:
Variable
。表示偏置的变量。
三维反卷积
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')
此操作有时被称为“反卷积”,出自 (Deconvolutional Networks)[http://www.matthewzeiler.com/pubs/cvpr2010/cvpr2010.pdf],但实际上是 conv_3d
的转置 (梯度),而不是真正的反卷积。
输入
5 维张量 [批次大小, 深度, 高度, 宽度, 输入通道数]。
输出
5-D 张量 [批次大小, 新深度, 新高度, 新宽度, 过滤器数量].
参数
- incoming:
Tensor
。输入的 5 维张量。 - nb_filter:
int
。卷积核的数量。 - filter_size:
int
或int 列表
。卷积核的大小。 - output_shape:
int 列表
. 输出张量的维度。可以可选地包含卷积过滤器的数量。[新深度, 新高度, 新宽度, 过滤器数量] 或 [新深度, 新高度, 新宽度]。 - strides:
int
或int 列表
。卷积操作的步幅。默认值: [1 1 1 1 1]。 - padding:
str
,取值范围为"same", "valid"
。使用的填充算法。默认值: 'same'。 - activation:
str
(名称) 或函数
(返回一个Tensor
)。应用于该层的激活函数 (参见 tflearn.activations)。默认值: 'linear'。 - bias:
bool
。如果为 True,则使用偏置。 - weights_init:
str
(名称) 或Tensor
。权重初始化方法。(参见 tflearn.initializations) 默认值: 'truncated_normal'。 - bias_init:
str
(名称) 或Tensor
。偏置初始化方法。(参见 tflearn.initializations) 默认值: 'zeros'。 - regularizer:
str
(名称) 或Tensor
。向该层权重添加正则化器 (参见 tflearn.regularizers)。默认值: None。 - weight_decay:
float
。正则化器衰减参数。默认值: 0.001。 - trainable:
bool
。如果为 True,则权重将是可训练的。 - restore:
bool
。如果为 True,则在加载模型时将恢复该层的权重。 - reuse:
bool
。如果为 True 且提供了 'scope',则将重用 (共享) 该层变量。 - scope:
str
。定义该层的范围 (可选)。范围可用于在层之间共享变量。请注意,范围将覆盖名称。 - name: 该层的名称 (可选)。默认值: 'Conv2DTranspose'。
属性
- scope:
Scope
。该层的范围。 - W:
Variable
。表示卷积核权重的变量。 - b:
Variable
。表示偏置的变量。
三维最大池化
tflearn.layers.conv.max_pool_3d (incoming, kernel_size, strides=1, padding='same', name='MaxPool3D')
输入
5-D 张量 [批次大小, 深度, 行数, 列数, 通道数]。
输出
5-D 张量 [批次大小, 池化后的深度, 池化后的行数, 池化后的列数, 输入通道数]。
参数
- incoming:
张量
。输入的 5-D 层。 - kernel_size:
int
或int 列表
。池化核大小。必须满足 kernel_size[0] = kernel_size[1] = 1 - strides:
int
或int 列表
。卷积操作的步幅。必须满足 strides[0] = strides[4] = 1。默认值: [1 1 1 1 1]。 - padding:
str
,取值范围为"same", "valid"
。使用的填充算法。默认值: 'same'。 - name: 此层的名称(可选)。默认值: 'MaxPool3D'。
属性
- scope:
Scope
。该层的范围。
三维平均池化
tflearn.layers.conv.avg_pool_3d (incoming, kernel_size, strides=1, padding='same', name='AvgPool3D')
输入
5-D 张量 [批次大小, 深度, 行数, 列数, 通道数]。
输出
5-D 张量 [批次大小, 池化后的深度, 池化后的行数, 池化后的列数, 输入通道数]。
参数
- incoming:
张量
。输入的 5-D 层。 - kernel_size:
int
或int 列表
。池化核大小。必须满足 kernel_size[0] = kernel_size[1] = 1 - strides:
int
或int 列表
。卷积操作的步幅。必须满足 strides[0] = strides[4] = 1。默认值: [1 1 1 1 1] - padding:
str
,取值范围为"same", "valid"
。使用的填充算法。默认值: 'same'。 - name: 此层的名称(可选)。默认值: 'AvgPool3D'。
属性
- scope:
Scope
。该层的范围。
全局最大池化
tflearn.layers.conv.global_max_pool (incoming, name='GlobalMaxPool')
输入
4 维张量 [批次大小, 高度, 宽度, 输入通道数]。
输出
2-D 张量 [批次大小, 池化后的维度]
参数
- incoming:
Tensor
。输入的 4 维张量。 - name: 此层的名称(可选)。默认值: 'GlobalMaxPool'。
全局平均池化
tflearn.layers.conv.global_avg_pool (incoming, name='GlobalAvgPool')
输入
4 维张量 [批次大小, 高度, 宽度, 输入通道数]。
输出
2-D 张量 [批次大小, 池化后的维度]
参数
- incoming:
Tensor
。输入的 4 维张量。 - name: 此层的名称(可选)。默认值: 'GlobalAvgPool'。
残差块
tflearn.layers.conv.residual_block (incoming, nb_blocks, 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='ResidualBlock')
如微软亚洲研究院的深度残差网络论文中所述的残差块。这里使用的是完全预激活架构。
输入
4 维张量 [批次大小, 高度, 宽度, 输入通道数]。
输出
4 维张量 [批次大小, 新高度, 新宽度, 卷积核数量]。
参数
- incoming:
Tensor
。输入的 4 维层。 - nb_blocks:
int
。层块的数量。 - out_channels:
int
。卷积层中卷积过滤器的数量。 - downsample:
bool
。如果为 True,则使用 'downsample_strides' 作为步幅进行下采样。 - downsample_strides:
int
。下采样时使用的步幅。 - activation:
str
(名称) 或函数
(返回一个Tensor
)。应用于该层的激活函数 (参见 tflearn.activations)。默认值: 'linear'。 - batch_norm:
bool
。如果为 True,则应用批归一化。 - bias:
bool
。如果为 True,则使用偏置。 - weights_init:
str
(名称) 或张量
。权重初始化。(参见 tflearn.initializations) 默认值: 'uniform_scaling'。 - bias_init:
str
(名称) 或tf.Tensor
。偏置初始化。(参见 tflearn.initializations) 默认值: 'zeros'。 - regularizer:
str
(名称) 或Tensor
。向该层权重添加正则化器 (参见 tflearn.regularizers)。默认值: None。 - weight_decay:
float
。正则化器衰减参数。默认值: 0.001。 - trainable:
bool
。如果为 True,则权重将是可训练的。 - restore:
bool
。如果为 True,则在加载模型时将恢复该层的权重。 - reuse:
bool
。如果为 True 且提供了 'scope',则将重用 (共享) 该层变量。 - scope:
str
。定义该层的范围 (可选)。范围可用于在层之间共享变量。请注意,范围将覆盖名称。 - 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')
如微软亚洲研究院的深度残差网络论文中所述的残差瓶颈块。这里使用的是完全预激活架构。
输入
4 维张量 [批次大小, 高度, 宽度, 输入通道数]。
输出
4 维张量 [批次大小, 新高度, 新宽度, 卷积核数量]。
参数
- incoming:
Tensor
。输入的 4 维层。 - nb_blocks:
int
。层块的数量。 - bottleneck_size:
int
。瓶颈卷积层中卷积过滤器的数量。 - out_channels:
int
。围绕瓶颈层的层的卷积过滤器的数量。 - downsample:
bool
。如果为 True,则使用 'downsample_strides' 作为步幅进行下采样。 - downsample_strides:
int
。下采样时使用的步幅。 - activation:
str
(名称) 或函数
(返回一个Tensor
)。应用于该层的激活函数 (参见 tflearn.activations)。默认值: 'linear'。 - batch_norm:
bool
。如果为 True,则应用批归一化。 - bias:
bool
。如果为 True,则使用偏置。 - weights_init:
str
(名称) 或张量
。权重初始化。(参见 tflearn.initializations) 默认值: 'uniform_scaling'。 - bias_init:
str
(名称) 或tf.Tensor
。偏置初始化。(参见 tflearn.initializations) 默认值: 'zeros'。 - regularizer:
str
(名称) 或Tensor
。向该层权重添加正则化器 (参见 tflearn.regularizers)。默认值: None。 - weight_decay:
float
。正则化器衰减参数。默认值: 0.001。 - trainable:
bool
。如果为 True,则权重将是可训练的。 - restore:
bool
。如果为 True,则在加载模型时将恢复该层的权重。 - reuse:
bool
。如果为 True 且提供了 'scope',则将重用 (共享) 该层变量。 - scope:
str
。定义该层的范围 (可选)。范围可用于在层之间共享变量。请注意,范围将覆盖名称。 - 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 论文中所述的 ResNeXt 块(图 2,c)。
输入
4 维张量 [批次大小, 高度, 宽度, 输入通道数]。
输出
4-D 张量 [批次大小, 新高度, 新宽度, 输出通道数]。
参数
- incoming:
Tensor
。输入的 4 维层。 - nb_blocks:
int
。层块的数量。 - out_channels:
int
。围绕瓶颈层的层的卷积过滤器的数量。 - cardinality:
int
。聚合残差变换的数量。 - downsample:
bool
。如果为 True,则使用 'downsample_strides' 作为步幅进行下采样。 - downsample_strides:
int
。下采样时使用的步幅。 - activation:
str
(名称) 或函数
(返回一个Tensor
)。应用于该层的激活函数 (参见 tflearn.activations)。默认值: 'linear'。 - batch_norm:
bool
。如果为 True,则应用批归一化。 - bias:
bool
。如果为 True,则使用偏置。 - weights_init:
str
(名称) 或张量
。权重初始化。(参见 tflearn.initializations) 默认值: 'uniform_scaling'。 - bias_init:
str
(名称) 或tf.Tensor
。偏置初始化。(参见 tflearn.initializations) 默认值: 'zeros'。 - regularizer:
str
(名称) 或Tensor
。向该层权重添加正则化器 (参见 tflearn.regularizers)。默认值: None。 - weight_decay:
float
。正则化器衰减参数。默认值: 0.001。 - trainable:
bool
。如果为 True,则权重将是可训练的。 - restore:
bool
。如果为 True,则在加载模型时将恢复该层的权重。 - reuse:
bool
。如果为 True 且提供了 'scope',则将重用 (共享) 该层变量。 - scope:
str
。定义该层的范围 (可选)。范围可用于在层之间共享变量。请注意,范围将覆盖名称。 - name: 此层的名称(可选)。默认值: 'ResNeXtBlock'。
参考文献
用于深度神经网络的聚合残差变换。谢赛宁,Ross Girshick,Piotr Dollar,屠卓文,何恺明。2016 年。
链接
https://arxiv.org/pdf/1611.05431.pdf
二维高速公路卷积
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')
输入
4 维张量 [批次大小, 高度, 宽度, 输入通道数]。
输出
4 维张量 [批次大小, 新高度, 新宽度, 卷积核数量]。
参数
- incoming:
Tensor
。输入的 4 维张量。 - nb_filter:
int
。卷积核的数量。 - filter_size:
int
或int 列表
。卷积核的大小。 - strides:
int
或int 列表
。卷积操作的步长。默认值: [1 1 1 1]。 - padding:
str
,取值范围为"same", "valid"
。使用的填充算法。默认值: 'same'。 - activation:
str
(名称) 或函数
(返回一个Tensor
)。应用于该层的激活函数 (参见 tflearn.activations)。默认值: 'linear'。 - weights_init:
str
(名称) 或Tensor
。权重初始化方法。(参见 tflearn.initializations) 默认值: 'truncated_normal'。 - bias_init:
str
(名称) 或Tensor
。偏置初始化方法。(参见 tflearn.initializations) 默认值: 'zeros'。 - regularizer:
str
(名称) 或Tensor
。向该层权重添加正则化器 (参见 tflearn.regularizers)。默认值: None。 - weight_decay:
float
。正则化器衰减参数。默认值: 0.001。 - trainable:
bool
。如果为 True,则权重将是可训练的。 - restore:
bool
。如果为 True,则在加载模型时将恢复该层的权重 - reuse:
bool
。如果为 True 且提供了 'scope',则将重用 (共享) 该层变量。 - scope:
str
。定义该层的范围 (可选)。范围可用于在层之间共享变量。请注意,范围将覆盖名称。 - name: 该层的名称 (可选)。默认值: 'Conv2D'。
属性
- scope:
Scope
。该层的范围。 - W:
Variable
。表示卷积核权重的变量。 - W_T:
变量
。表示门控权重的变量。 - b:
Variable
。表示偏置的变量。 - b_T:
变量
。表示门控偏置的变量。
一维高速公路卷积
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')
输入
3 维张量 [批次大小, 时间步长, 输入通道数]。
输出
3 维张量 [批次大小, 新时间步长, 卷积核数量]。
参数
- incoming:
Tensor
。输入的 3 维张量。 - nb_filter:
int
。卷积核的数量。 - filter_size:
int
或int 列表
。卷积核的大小。 - strides:
int
或int 列表
。卷积操作的步长。默认值: [1 1 1 1]。 - padding:
str
,取值范围为"same", "valid"
。使用的填充算法。默认值: 'same'。 - activation:
str
(名称) 或函数
(返回一个Tensor
)。应用于该层的激活函数 (参见 tflearn.activations)。默认值: 'linear'。 - weights_init:
str
(名称) 或Tensor
。权重初始化方法。(参见 tflearn.initializations) 默认值: 'truncated_normal'。 - bias_init:
str
(名称) 或Tensor
。偏置初始化方法。(参见 tflearn.initializations) 默认值: 'zeros'。 - regularizer:
str
(名称) 或Tensor
。向该层权重添加正则化器 (参见 tflearn.regularizers)。默认值: None。 - weight_decay:
float
。正则化器衰减参数。默认值: 0.001。 - trainable:
bool
。如果为 True,则权重将是可训练的。 - restore:
bool
。如果为 True,则在加载模型时将恢复该层的权重。 - reuse:
bool
。如果为 True 且提供了 'scope',则将重用 (共享) 该层变量。 - scope:
str
。定义该层的范围 (可选)。范围可用于在层之间共享变量。请注意,范围将覆盖名称。 - name: 此层的名称(可选)。默认值: 'HighwayConv1D'。
属性
- scope:
Scope
。该层的范围。 - W:
Variable
。表示卷积核权重的变量。 - W_T:
变量
。表示门控权重的变量。 - b:
Variable
。表示偏置的变量。 - b_T:
变量
。表示门控偏置的变量。