日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python取中间值的函数_tensorflow实现在函数中用tf.Print输出中间值

發布時間:2025/3/21 python 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python取中间值的函数_tensorflow实现在函数中用tf.Print输出中间值 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

tensorflow由于其基于靜態圖的模式,導致寫代碼的時候很難調試,除了用官方的調試工具外,最直接的方法就是把中間結果輸出出來查看,然而,直接用print函數只能輸出tensor變量的形狀,而不是數值,想要輸出tensor的具體數值需要用tf.Print函數。網上有很多關于這個函數使用方法的說明,這里簡要介紹:

Print(

input_,

data,

message=None,

first_n=None,

summarize=None,

name=None

)

參數:

input_:通過這個操作的張量。 (流入的數據流)

data:計算 op 時要打印的張量列表。(用[ ]引起來的一串需要打印的東西,用逗號隔開)

message:一個字符串,錯誤消息的前綴。

first_n:只記錄 first_n 次數。負數日志,這是默認的。

summarize:只打印每個張量的固定數目的條目。如果沒有,則每個輸入張量最多打印3個元素。

name:操作的名稱(可選)

然而網上大部分資源都是介紹如何在主函數中先建立一個op,再開啟一個Session執行sess.run(op)的方法,但是如果想要輸出函數中的中間值而該值又未傳回主函數呢?這種情況下無法在函數中開啟一個新的Session,但是仍然可以用tf.Print建立op來實現。

import tensorflow as tf

import os

os.environ["CUDA_VISIBLE_DEVICES"] = "0"

def test():

a=tf.constant(0)

for i in range(10):

a_print = tf.Print(a,['a_value: ',a])

a=a_print+1

return a

if __name__=='__main__':

with tf.Session() as sess:

sess.run(test())

運行結果:

a_print可以理解為在圖中新增了一個節點,在后續代碼中當有別的變量使用了a_print時(如上例a=a_print+1),就會有數據從a_print節點上流過,就會輸出值,而究竟會輸出幾次值呢?這其實并不是看下文中a_print被使用了幾次,而是看數據流要從該節點上流經幾次,可以理解為a_print這個op被“定義”了幾次。

def test():

a=tf.constant(0)

a_print = tf.Print(a,['a_value: ',a])

for i in range(10):

a=a_print+1

return a

if __name__=='__main__':

with tf.Session() as sess:

sess.run(test())

如果把test()函數改成這樣,則運行結果為:

輸出僅被執行了一次,因為a_print這個op只被定義了一次,雖然后面在循環里不斷被a使用,但是數據只從它身上經過了一次,所以只會print一次,并且a_print的值永遠為0,最終返回的a的值也為1。

再把代碼改成下例:

def test():

a=tf.constant(0)

a_print = tf.Print(a,['a_value: ',a])

for i in range(10):

a_print=a_print+1

return a

if __name__=='__main__':

with tf.Session() as sess:

sess.run(test())

運行結果是什么也不會輸出,因為a_print這個op沒有和別的變量發生關系,它沒有被別的變量使用,在圖里為孤立的一個節點,沒有數據流過,就不會被執行。

而如果改成這樣

def test():

a=tf.constant(0)

a_print = tf.Print(a,['a_value: ',a])

for i in range(10):

a_print=a_print+1

return a_print

if __name__=='__main__':

with tf.Session() as sess:

sess.run(test())

運行結果

返回的a_print值為10也是正確的,因為a_print在下文被返回,所以有數據流流經,會被執行,而因為a_print的定義只執行一次,所以只會輸出一次。

以上這篇tensorflow實現在函數中用tf.Print輸出中間值就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持我們。

本文標題: tensorflow實現在函數中用tf.Print輸出中間值

本文地址: http://www.cppcns.com/jiaoben/python/298988.html

總結

以上是生活随笔為你收集整理的python取中间值的函数_tensorflow实现在函数中用tf.Print输出中间值的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 中日韩精品视频 | 鲁丝av| 一区二区精品 | 丰满少妇一区二区 | 欧美性猛交久久久乱大交小说 | 日韩成人在线观看视频 | 日本电影大尺度免费观看 | 日韩女人性猛交 | 国产毛片a| 黑人与日本少妇 | 免费网站观看www在线观看 | 男人天堂a在线 | 成人网色 | 精品一区二区免费看 | 亚洲中文字幕无码不卡电影 | 国产精品久久久久影院 | 国产福利社| 国产新婚疯狂做爰视频 | 亚洲少妇自拍 | 久久五月婷 | 麻豆视频免费看 | 中文字幕一区二区三区又粗 | 椎名由奈在线观看 | 欧美在线色视频 | 成人免费视频大全 | 夜夜撸av | 天天操妹子 | 日本伊人影院 | 男女做那个视频 | 免费超爽大片黄 | 国产精品美女主播 | 欧美成人手机在线视频 | 国产精品久久久久久 | 国产美女久久久久 | 亚洲精品va | 国产精品精东影业 | 特黄三级又爽又粗又大 | 日本道中文字幕 | av尤物在线 | 亚洲精品视频在线观看免费视频 | 天天超碰 | 日韩一级免费看 | www视频在线免费观看 | 亚洲特黄一级片 | 欧美挤奶吃奶水xxxxx | 精品国产一区一区二区三亚瑟 | 97久久国产亚洲精品超碰热 | 99爱视频 | 久草视频播放 | 中文字幕日日 | 日本免费黄网站 | 香蕉大久久 | 国产精品久久久网站 | 色噜噜视频 | 91麻豆精品一二三区在线 | 欧美日韩a v | 成人做爰www免费看视频网站 | 右手影院亚洲欧美 | 欧美一级夜夜爽 | 亚洲啪啪免费视频 | 国产精品v日韩精品v在线观看 | 激情拍拍拍 | 毛片网站网址 | 国产吞精囗交免费视频 | 在线观看9.1 | 色老头在线观看 | 久久这里只有精品国产 | 射黄视频 | 国产真人毛片 | 成人久久久 | 荷兰女人裸体性做爰 | 亚洲一级黄色片 | 亚洲卡一| 日本成人精品视频 | 精品久久久久久久久久久 | 国产精品色视频 | 日本一级片免费看 | 在线播放a | 亚洲男人天堂电影 | 五十路av | 国产精品欧美日韩 | 色桃网| 亚洲欧美网址 | 亚洲日本香蕉视频 | 成人免费毛片果冻 | 91色交| 青青啪啪 | 北条麻妃在线一区二区 | 制服丝袜第一页在线观看 | 日产毛片 | 91久久精品国产91性色tv | 成人手机看片 | 性欧美大战久久久久久久免费观看 | 国产精品丝袜黑色高跟鞋的设计特点 | 久久久久久久久久影院 | 我要看18毛片 | 欧美一区二区免费电影 | 亚洲天堂毛片 | 日韩视频在线免费播放 |