tf.nn.conv3d和tf.nn.max_pool3d这两个tensorflow函数的功能和参数

记一下,防止自己忘记了。
3D卷积和池化一般用在视频上,就是在图像的长和宽的卷积、池化的基础上加上视频帧也就是时间这一维上的卷积,具体怎么回事可以去看3D Convolutional Neural Networks for Human Action Recognition这篇论文,这里就只是记一个函数功能。
tf.nn.conv3d
conv3d(
input,
filter,
strides,
padding,
data_format='NDHWC',
name=None
)
input:就是输入的数据必须是float32
, float64类型的
. Shape 是[batch, in_depth, in_height, in_width, in_channels]
batch:是每次输入的视频样本数,批次训练比较有用,其他时候都是1;
in_depth:每个视频样本有多少帧;
in_height,in_width:视频每个帧的长和宽,类似图像的分辨率,不知道的可以在电脑上右击图片属性查详细信息;
in_channels:就是指输入的视频的通道数,一般模型第一层初次输入取决于视频类型,flow就是2,RGB就是3,中间层取决于上一层的输出通道数。
懒得翻了,写完再改
filter
: 是一个张量,必须和input有一样的形状
. Shape[filter_depth, filter_height, filter_width, in_channels, out_channels]
.in_channels
.strides
: 长度>= 5的整数数列列
.是长度为5的一维张量。是输入张量每一维的滑动窗口跨度大小.strides[0] = strides[4] = 1
.padding
:参数有"SAME", "VALID",代表不同的填充算法
.data_format
: 代表的是输入数据和输出数据每一维度指代的参数,有"NDHWC", "NCDHW",默认值是
"NDHWC"
. 比如, "NDHWC", 数据存储的顺序是 [batch, in_depth, in_height, in_width, in_channels]; "NCDHW",则是 [batch, in_channels, in_depth, in_height, in_width].name
: 操作代表的名字(可选)
Returns:和输入参数一样的张量
f.nn.max_pool3d
max_pool3d(
input,
ksize,
strides,
padding,
data_format='NDHWC',
name=None
)
Defined in tensorflow/python/ops/gen_nn_ops.py
.
See the guide: Neural Network > Pooling
Performs 3D max pooling on the input.
参数和conv3d一样




更多推荐



所有评论(0)