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一样
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)