【问题标题】:Tensorflow placeholder errorTensorFlow 占位符错误
【发布时间】:2017-03-21 22:32:43
【问题描述】:

我一直在玩 tensorflow,我已经设法训练模式并为其提供服务,但是当我尝试运行客户端发送数据进行分类时,我得到了这个错误

grpc.framework.interfaces.face.face.AbortionError: AbortionError(code=StatusCode.INVALID_ARGUMENT, details="你必须喂 具有 dtype 浮点数的占位符张量“Placeholder_1”的值
[[节点:Placeholder_1 = Placeholder_output_shapes=[[]], dtype=DT_FLOAT,形状=[], _device="/job:localhost/replica:0/task:0/cpu:0"]]")

我不太明白这个错误,这是我的占位符

X = tf.placeholder(tf.float32,[None,n_dim])
y = tf.placeholder(tf.float32,[None,n_classes])

我使用了文档中的构建器,编写了 prediction_signature 以及分类签名。

如果有人知道为什么会这样,我将非常感激

【问题讨论】:

    标签: python audio machine-learning tensorflow tensorflow-serving


    【解决方案1】:

    您需要实际设置您的值。占位符只是一个占位符,必须使用 feed_dict 设置为实际值。

    类似这样,注意 sess.run 行:

    import tensorflow as tf
    
    X_vals = 1
    X = tf.placeholder(tf.float32)
    
    sess = tf.Session()
    
    # sess.run(X) # This will throw the error you see
    sess.run(X, feed_dict={X: X_vals}) # This works
    

    【讨论】:

    • Hey SuperTetelman,我已经向它提供数据,_,cost = sess.run([train_step,cross_entropy],feed_dict={x:training_features,y:training_labels}) 当我尝试从客户端发布时出现错误,我如何确保占位符提供数据?
    • 您刚刚发布的代码是实际代码吗?如果是这样,您使用 X 作为占位符并使用 x 作为输入,这可能会导致问题。
    • 嘿 SuperTetelman 我已将小写 x 用作我用作输入的占位符,但错误出现在我的 y 占位符中,以及稍后在代码中如何引用它并设法修复它现在可以了。
    猜你喜欢
    • 2018-05-14
    • 1970-01-01
    • 2020-07-20
    • 2016-08-19
    • 2017-11-12
    • 2016-04-20
    • 2017-10-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多