Xey*_*yes 5 python layer neural-network conv-neural-network tensorflow
我想在我的网络中使用二维卷积层,并作为输入我想给它图片。所以我有一批图片,这意味着 ndim=3 矩阵,例如:
我输入的维度:
[10, 6, 7]
Run Code Online (Sandbox Code Playgroud)
该10值是 ,batch size另外两个值是图像大小。那么 2d 层需要的第四维是多少?
这是有趣的代码行:
[10, 6, 7]
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误:
Input 0 of layer conv2d_1 is incompatible with the layer: expected ndim=4, found ndim=3. Full shape received: [None, 6, 7]*
Run Code Online (Sandbox Code Playgroud)
以下是有关卷积二维层输入张量尺寸的简短说明。
tensor_shape = (BATCH_SIZE, WIDTH, HEIGHT, CHANNELS).
Run Code Online (Sandbox Code Playgroud)
第四个维度是通道(颜色)维度。
长答案是:
卷积二维层期望输入具有四个维度。张量流中有两种图像张量格式。
1.channels_last(NHWC) - 维度按 排序(BATCH_SIZE, HEIGHT, WIDTH, CHANNEL)。
2.channels_first(NCHW) - 维度按 排序BATCH_SIZE, CHANNELS, HEIGHT, WIDTH)。
在张量流(可能在其他机器学习库中)中,一旦定义了模型,您就有两种选择将数据提供给模型。第一个选项是一次输入一个数据点。第二个选项是N一次向模型提供数据点数量。这是可能的,因为批量大小维度
该尺寸指定图像的宽度。
该尺寸指定图像的高度
RGB 图像中的通道维度是 RGB 值维度。
要指定输入图像张量的数据格式,Conv2d 层接受 data_format 参数。默认值为“channels_last”。您可以在这里找到更多信息。以下代码显示了 channals_last 数据格式的输入
tensor_shape = (BATCH_SIZE, WIDTH, HEIGHT, CHANNELS).
Run Code Online (Sandbox Code Playgroud)
首先针对渠道
inputs_ = tf.placeholder(tf.float32, [None, 32, 32, 3])
conv1 = tf.layers.conv2d(inputs_,32, (3, 3), data_format="channals_last")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2491 次 |
| 最近记录: |