tf.nn.conv3d和tf.nn.max

xiaoxiao2021-02-28  31

记一下,防止自己忘记了。

3D卷积和池化一般用在视频上,就是在图像的长和宽的卷积、池化的基础上加上视频帧也就是时间这一维上的卷积,具体怎么回事可以去看3D Convolutional Neural Networks for Human Action Recognition这篇论文,这里就只是记一个函数功能。

 

tf.nn.conv3d

 

conv3d(     input,     filter,     strides,     padding,     data_format='NDHWC',     name=None )

input:就是输入的数据必须是float32float64类型的. 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一样

 

转载请注明原文地址: https://www.6miu.com/read-1950289.html

最新回复(0)