溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

TensorFlow如何打印輸出tensor的值

發(fā)布時間:2020-08-01 14:54:59 來源:億速云 閱讀:1106 作者:小豬 欄目:開發(fā)技術(shù)

這篇文章主要講解了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è)資訊頻道。

向AI問一下細節(jié)

免責(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)容。

AI