2017-05-04 34 views
1

我有一个RGB彩色图像,我试图使用conv2d进行训练。根据CNN,每个过滤器应跨越所有输入通道。不过,虽然按照TF这个规则我得到一个错误如何在TensorFlow的conv2d中跨越多个通道?

InvalidArgumentError: Current implementation does not yet support strides in the batch and depth dimensions. 

this的讨论,似乎支持TF沿conv2d输入通道只有一个增量。所以我的问题是
1.有什么办法可以跨越TF中的多个通道?
2.在RGB图像上使用默认步幅(即1)是否正确?

回答

2

这是没有意义的跨越,一批深度。你的步伐应该像[1,m,n,1]。

首先,我们从,第一维开始。这些是你的样品,你的图像。跨越你的图像意味着你只会从训练或归纳中删除整个图像。

二,深度第四维。最初这是你的RGB。跨越RGB意味着你只需完全丢弃一整个颜色或两个。这没有意义。这将是巨大的信息损失。三,步伐的目的。当你的图像是在你正在分析的像素级别(而不是颜色级别)上进行过采样时,步幅可能非常有用,并且您只需扔掉信息即可。这是积极的数据破坏。它将高清图像变成中等清晰度,将中等清晰度变成低清晰度。

你不会想破坏RBG通道(深度)或全域图像(一批),即使你想你的下采样图像(步幅)。