簡體   English   中英

sess.run()的張量流值錯誤

[英]tensorflow value error with sess.run()

我嘗試了一下tensorflow,但似乎我做的小程序做錯了什么:

import tensorflow as tf

x = tf.placeholder(tf.float64)
y = tf.placeholder(tf.float64)

test = {"A":tf.Variable(tf.random_normal([20, 20])),
        "B":tf.Variable(tf.random_normal([20, 20]))}

math_stuff = tf.matmul(x,y)

with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    print(sess.run(math_stuff, feed_dict={x:test["A"], y:test["B"]}))

我想用兩個20x20隨機數組查看tf.matmul(x,y)的結果。 它拋出的錯誤是:

Traceback (most recent call last):
  File "C:\Users\Utilisateur\AppData\Local\Programs\Python\Python36\save\tensorflow_play.py", 
 line 15, in <module> print(sess.run(math_stuff, feed_dict={x:test["A"], y:test["B"]}))
  File "C:\Users\Utilisateur\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\client\session.py",
  line 889, in run run_metadata_ptr)
  File "C:\Users\Utilisateur\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\client\session.py", 
 line 1089, in _run np_val = np.asarray(subfeed_val, dtype=subfeed_dtype)
 File "C:\Users\Utilisateur\AppData\Local\Programs\Python\Python36\lib\site-packages\numpy\core\numeric.py", 
 line 531, in asarray return array(a, dtype, copy=False, order=order)
 ValueError: setting an array element with a sequence.

feed_dict應該包含數值, 而不是 tf.Variable test的定義替換為:

test = {"A":np.random.randn(20,20),
        "B":np.random.randn(20,20)}

當然,您也應該在開始時import numpy as np 然后,代碼將按照您希望的方式運行。

需要更多說明,您可以將feed_dict視為您提供給計算圖的數值 ,而不是計算圖的一部分 (就像tf.Variable一樣)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM