Keras v1 到 v2 Convolution3D 层覆盖

问题描述

我正在尝试将 [Sports 1M C3D Network] (https://gist.github.com/albertomontesg/d8b21a179c1e6cca0480ebdf292c34d2) 中的模型复制到 Keras v2。我无法复制输入和输出形状。我通读了文档,但仍然对 subsample、stride、border_mode 和 filter 参数感到困惑。

凯拉斯 1.0

QWidgetTable

我的尝试 1:

Convolution3D(64,3,activation='relu',border_mode='same',name='conv1',subsample=(1,1,1),input_shape=(3,16,112,112))

我也尝试过,但不确定如何添加子样本。 Conv3D 不支持 subsample 参数。

我的尝试 2:

Conv3D(64,padding='same',activation= 'relu',name="conv1")

my implementation of layer 1 in keras v2

解决方法

这是正确的转换

Conv3D(64,(3,3,3),strides=(1,1,1),padding='same',activation='relu',name="conv1")

如果有人在寻找最大池化层。这是转换 Keras 1.0

MaxPooling3D(pool_size=(1,2,2),border_mode='valid',name='pool1')

Keras 2.0

MaxPool3D((2,strides=(2,padding='valid',name="pool1")