您好,登錄后才能下訂單哦!
這篇文章主要講解了TensorFlow如何打印輸出tensor的值,內(nèi)容清晰明了,對此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會有幫助。
在學(xué)習(xí)TensorFlow的過程中,我們需要知道某個tensor的值是什么,這個很重要,尤其是在debug的時候。也許你會說,這個很容易啊,直接print就可以了。其實不然,print只能打印輸出shape的信息,而要打印輸出tensor的值,需要借助class tf.Session, class tf.InteractiveSession。因為我們在建立graph的時候,只建立tensor的結(jié)構(gòu)形狀信息,并沒有執(zhí)行數(shù)據(jù)的操作。
一 class tf.Session
運行tensorflow操作的類,其對象封裝了執(zhí)行操作對象和評估tensor數(shù)值的環(huán)境。這個我們之前介紹過,在定義好所有的數(shù)據(jù)結(jié)構(gòu)和操作后,其最后運行。
import tensorflow as tf # Build a graph. a = tf.constant(5.0) b = tf.constant(6.0) c = a * b # Launch the graph in a session. sess = tf.Session() # Evaluate the tensor `c`. print(sess.run(c))
二 class tf.InteractiveSession
顧名思義,用于交互上下文的session,便于輸出tensor的數(shù)值。與上一個Session相比,其有默認的session執(zhí)行相關(guān)操作,比如:Tensor.eval(), Operation.run()。Tensor.eval()是執(zhí)行這個tensor之前的所有操作,Operation.run()也同理。
import tensorflow as tf a = tf.constant(5.0) b = tf.constant(6.0) c = a * b with tf.Session(): # We can also use 'c.eval()' here. print(c.eval())
打印輸出張量的值的方法
import tensorflow as tf zeros = tf.zeros([3,3]) # 方法1 with tf.Session(): print(zeros.eval()) # 方法2 sess = tf.Session() print(sess.run(zeros))
打印輸出tensor變量的值的方法
import tensorflow as tf ones=tf.Variable(tf.ones([3,3])) # 方法1 InteractiveSession + initializer inter_sess=tf.InteractiveSession() ones.initializer.run() print(inter_sess.run(ones)) # 方法2 inter_sess=tf.InteractiveSession() tf.global_variables_initializer().run() print(inter_sess.run(ones)) # 方法3 Session + global_variables_initializer sess=tf.Session() sess.run(tf.global_variables_initializer()) print(sess.run(ones)) # 方法4 with Session + global_variables_initializer with tf.Session() as sess: sess.run(tf.global_variables_initializer()) print(sess.run(ones))
看完上述內(nèi)容,是不是對TensorFlow如何打印輸出tensor的值有進一步的了解,如果還想學(xué)習(xí)更多內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。