【发布时间】:2019-09-18 10:07:47
【问题描述】:
我想在 单个 图像示例上使用函数 tf.nn.conv2d(),但 TensorFlow 文档似乎只提到将此转换应用于 batch 图像。
文档中提到输入图像的形状必须为[batch, in_height, in_width, in_channels],并且内核的形状必须为[filter_height, filter_width, in_channels, out_channels]。但是,用输入形状[in_height, in_width, in_channels] 实现二维卷积最直接的方法是什么?
这是当前方法的一个示例,其中img 具有形状(高度、宽度、通道):
img = tf.random_uniform((10,10,3)) # a single image
img = tf.nn.conv2d([img], kernel)[0] # creating a batch of 1, then indexing the single example
我正在按如下方式重塑输入:
[in_height, in_width, in_channels]->[1, in_height, in_width, in_channels]->[in_height, in_width, in_channels]
当我只对转换一个示例感兴趣时,这感觉像是一项不必要且成本高昂的操作。
是否有不涉及重塑的简单/标准方法?
【问题讨论】:
标签: python tensorflow conv-neural-network convolution