【问题标题】:Tesorflow placeholder depends on other placeholderTensorFlow 占位符依赖于其他占位符
【发布时间】:2017-10-12 14:40:10
【问题描述】:

我有一个占位符,其形状取决于另一个占位符。 在占位符初始化期间如何连接它们?

nUsers = tf.placeholder(tf.float32, [None, 1])
p = tf.placeholder(tf.float32, [None, 10 , ???] )

...在 ???我需要将 nUsers 中存在的数字给定的大小用于该批次的该项目。

【问题讨论】:

    标签: tensorflow placeholder


    【解决方案1】:

    您可以使用x.get_shape()check the differencetf.shape(x) 之间)轻松获得张量的形状。所以你需要这样的东西:

    import tensorflow as tf
    import numpy as np
    nUsers = tf.placeholder(tf.float32, [None, 1])
    p = tf.placeholder(tf.float32, [None, 10 , nUsers.get_shape()[0]])
    
    with tf.Session() as sess:
        print sess.run(p, {nUsers: np.ones((2, 1)), p: np.ones((3, 10, 2))})
    

    【讨论】:

    • 在这段代码中,p 的形状由 nUser 的形状决定。但是如果 p 的形状是由 nUsers 的值决定的呢?
    • @D.Giunchi 这将是一个完全不同的问题,有不同的答案。同样在该问题中,您需要指定如何在此处使用张量的值。
    • 但是如果你检查我原来的问题,有人提到我需要来自 nUsers 的值,而不是用于确定另一个形状的形状。 nUsers 基本上是一个数字,在每批中我都有一个向量。对于批次的每个条目,我都有许多执行特定任务的用户,我使用这个数字来确定另一个占位符的大小。我继续尝试使用 None (因为它会有所不同),但我遇到了其他问题,让我认为我应该考虑使用恒定大小的占位符。所以我的解决方案是填充第二个数组并考虑它的恒定大小。
    • @D.Giunchi 我正在寻找和你一样的人。你解决了这个问题吗?可以分享一下解决方法吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多