【问题标题】:Processing 4D input with 2D Convolution in Tensorflow在 TensorFlow 中使用 2D 卷积处理 4D 输入
【发布时间】:2021-09-06 09:00:12
【问题描述】:

我无法理解如何在 4D 输入上进行 2D Conv 计算。基本上,情况就是这样,我有一个高度、宽度、通道 = 128、128、103 的图像。我希望这 103 个通道中的每一个都被单独处理,就好像我将它们一个一个地输入到网络中一样。以下行会起作用吗?

import tensorflow.keras
from tensorflow.keras.layers import Conv2D
model1 = tensorflow.keras.models.Sequential()
model1.add(Conv2D(1, kernel_size=(3,3), input_shape = (128, 128,103,1), padding='same'))

我想避免分割图像并将其作为 103 批 (128,128,1) 输入网络

【问题讨论】:

    标签: python tensorflow conv-neural-network convolution


    【解决方案1】:

    如文档中所述:https://www.tensorflow.org/api_docs/python/tf/keras/layers/Conv2D?version=nightly

    4+D 张量,形状为:batch_shape + (channels, rows, cols) if data_format='channels_first' or
    形状为 4+D 的张量:batch_shape + (rows, cols, channels) if data_format='channels_last'.

    (默认:data_format='channels_last'.)

    您正在传递一个形状为 (batch_shape, 128, 128, 103, 1) 的 5D 张量。 我建议你将你的张量重塑成可以产生类似(None, 128, 128, 103) 的形状。

    另外请将input_shape = (128, 128,103,1)改为input_shape = (128, 128,103)

    【讨论】:

    • 您好,感谢您的回答。如果我将 input_shape 更改为 (128,128,130),会单独处理 130 个通道吗?还是立方体?
    • 立方体是什么意思?
    猜你喜欢
    • 2019-09-18
    • 2018-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多