【发布时间】:2016-11-16 09:54:00
【问题描述】:
我想在我的网络中使用conv2d_tranpose(或反卷积)而不是上采样。
这需要将output_shape 传递给函数调用。这不是问题,我可以计算出来。但我想对 batch_size 使用 None 以保持设置的灵活性。
这可能吗?
这是代码行:
tf.nn.conv2d_transpose(hd_conv1, Wd_conv1, [batch_size, 14,14,64], strides=[1,2,2,1], padding="SAME")
batch_size 只是我在脚本顶部设置的一个变量。这段代码运行良好,但如果我使用None 而不是batch_size:
TypeError:预期的二进制或 unicode 字符串,没有得到
如果我只省略第一个维度:
ValueError: output_shape must have shape (4,), got (3,)
我认为处理batch_size有不同的方法很奇怪。有些操作只是简单的忽略它,比如普通的conv2d,但是这里我需要明确指定。 无论如何,我想知道为什么我必须自己计算 output_shape 。使用给定的输入、步幅、填充,应该很容易计算。 有一个关于 output_shape 推断的 github issue,遗憾的是似乎没有任何后续。
我这样做对吗 - 在 output_shape 中传入明确的 batch_size ?
有没有办法省略显式的 batch_size ?
【问题讨论】:
-
github问题有一些解释。如果你不明白,就在那边跟进。
标签: python python-2.7 machine-learning tensorflow