我需要一些关于张量流中分离3D卷积的帮助

时间:2019-03-14 09:18:33

标签: python tensorflow deep-learning convolution

我是学生,正在学习深度神经网络。

我看到了一篇标题为

的论文

3D深度卷积:减少3D视觉任务中的模型参数

我需要实现本文介绍的3D可分离卷积。

我希望你指出我的消息来源。

separable_conv3d.py

def separable_conv3d(input, output_dim, depth_filter_channel=1, strides=1, padding='SAME', name=None):
    input_tensor_channel = input.get_shape().as_list()[-1]
    kernel1 = tf.Variable(tf.truncated_normal(shape=[batch_frame, 3, 3, input_tensor_channel, depth_filter_channel], stddev=0.1))
    feature_list = []
    for c in range(0, len(input_tensor_channel)):
        feature1 = conv3d(input.shape[:, :, c], weight=kernel1, strides=strides, padding=padding, name=name)
        feature_list.append(feature1)

    total_feature = tf.concat(feature_list, axis=-1)
    total_tensor_channel = total_feature.get_shape().as_list()[-1]
    kernel3 = tf.Variable(tf.truncated_normal(shape=[1, 1, 1, total_tensor_channel, output_dim]))
    pw1 = conv3d(input=total_feature, weight=kernel3, strides=strides, padding=padding, name=name)

return pw1

这是我引用的图片。

enter image description here

欢迎提出任何批评。这是真实的。

1 个答案:

答案 0 :(得分:0)

我没有测试您的代码,但是据我了解,在for循环中选择功能时,您使用3维并将c置于3维,但据我所知3D卷积是4D,所以如果添加附加尺寸。 我将尽快测试和编辑您的代码。