1. 程式人生 > >tf.nn.conv3d和tf.nn.max_pool3d這兩個tensorflow函式的功能和引數

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:就是輸入的資料必須是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.

Performs 3D max pooling on the input.

引數和conv3d一樣