【问题标题】:How to deconve a None shape tf.placeholder?如何解除无形状 tf.placeholder?
【发布时间】:2017-08-19 16:02:38
【问题描述】:

这就是问题所在。:

我想去卷积一个形状不确定的张量(取决于输入)。所以我用

  tf.placeholder(dtype = tf.float32,shape=None)

作为张量并进行反卷积。

tf.nn.conv2d_transpose()

但是 tf.nn.conv2d_transpose() 需要一定的参数 output_shape。而且因为 tf.placeholder 的形状是 None .....Tensorflow 无法构建 Graph。

我真的不知道如何让它工作,已经尝试了所有的事情来找我一整天......请帮助(T.T)

【问题讨论】:

  • 在不明确定义输出形状的情况下,您希望转置卷积如何工作?
  • 因为输出形状取决于输入...而且我想我想出了一个解决方案。

标签: tensorflow


【解决方案1】:

我想我想出了一个解决方案。我使用 tensor.get_shape().as_list() 来获取输入形状并计算反卷积输出形状。但似乎 tensor.get_shape() 是获取形状的静态方法,无法处理 tf.placeholder 或从 tf.placeholder 派生的张量,然后无法构建图。所以我尝试了动态方法 tf.shape() 并且它有效!

但我只能使用 sess.run(tf.shape(), feed_dict={}) 来获取一个 numpy 数组。如果不是,它会返回一个 tf.Tensor ,我无法从中找出显式形状为 int 。在真正运行整个网络之前,在没有进程 sess.run() 的情况下获得确切的形状(类型为 int 或 numpy 数组)有什么想法吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-05
    • 2020-10-25
    • 1970-01-01
    • 1970-01-01
    • 2016-09-02
    • 1970-01-01
    相关资源
    最近更新 更多