tensorflow學習筆記(1):sess.run()

原址:https://www.2cto.com/kf/201610/559887.html

session.run()

session.run([fetch1, fetch2])

import tensorflow as tf
state = tf.Variable(0.0,dtype=tf.float32)
one = tf.constant(1.0,dtype=tf.float32)
new_val = tf.add(state, one)
update = tf.assign(state, new_val)
init = tf.initialize_all_variables()
with tf.Session() as sess:sess.run(init)for _ in range(10):u,s = sess.run([update,state])print s

在我的電腦上輸出是 0.0, 2.0, 3.0, 4.0, 5.0, 5.0, 6.0, 8.0, 9.0, 10.0
是不是很奇怪為什么輸出的不是0.0–9.0, 或1.0–10.0
我的猜測是:底層在fectch這兩個值的時候,是并行運算的,第一次:程序先fetch “state”的值,然后fetch “update”(導致了assign op)。 第二次,程序先fetch “update”(導致了 assign op),然后fetch “state” . 所以導致了第一次輸出是0.0, 第二次輸出是2.0.
注:(update op 更新state的值, 而我在fetch update 的同時也fetch 了state, 只有在這種情況下才會出現上述的問題。 如果我不fetch state ,而去fetch add1的話, 就不會出現上述問題,可見底層是先更新了state的值,才去計算add1。這樣的話我們經常使用的代碼sess.run([train_op, loss]),獲取的loss就是train_op執行完之后的loss了)

執行sess.run()時,tensorflow是否計算了整個圖

我們在編寫代碼的時候,總是要先定義好整個圖,然后才調用sess.run()。那么調用sess.run()的時候,程序是否執行了整個圖

import tensorflow as tf
state = tf.Variable(0.0,dtype=tf.float32)
one = tf.constant(1.0,dtype=tf.float32)
new_val = tf.add(state, one)
update = tf.assign(state, new_val) #返回tensor, 值為new_val
update2 = tf.assign(state, 10000)  #沒有fetch,便沒有執行
init = tf.initialize_all_variables()
with tf.Session() as sess:sess.run(init)for _ in range(3):print sess.run(update)

和上個程序差不多,但我們這次僅僅是fetch “update”,輸出是1.0 , 2.0, 3.0,可以看出,tensorflow并沒有計算整個圖,只是計算了與想要fetch 的值相關的部分

sess.run() 中的feed_dict

我們都知道feed_dict的作用是給使用placeholder創建出來的tensor賦值。其實,他的作用更加廣泛:feed 使用一個 值(不能是tensor,可以是tensor.eval())臨時替換一個 op 的輸出結果. 你可以提供 feed 數據作為 run() 調用的參數. feed 只在調用它的方法內有效, 方法結束, feed 就會消失.

y = tf.Variable(1)
with tf.Session() as sess:tf.initialize_all_variables().run()print sess.run(y,feed_dict={y:3}) #使用3 替換掉tf.Variable(1)的輸出結果,所以打印出來3print sess.run(y)  #由于feed只在調用他的方法范圍內有效,所以這個打印的結果是 1

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/540126.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/540126.shtml
英文地址,請注明出處:http://en.pswp.cn/news/540126.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

關于MapReduce單詞統計的例子:

要統計的文件的文件名為hello hello中的內容如下 hello  you hello  me 通過MapReduce程序統計出文件中的各個單詞出現了幾次.(兩個單詞之間通過tab鍵進行的分割) 1 import java.io.IOException;2 3 import mapreduce.WordCountApp.WordCountMapper.WordCountReducer;4 5 i…

朵朵糖故事機器人怎么更新_“故事販賣機”專欄創始人溫酒的新作,奇幻世界的暖心物語很治愈...

我有酒,你有故事嗎?2015年,知乎上一個叫“故事販賣機”的專欄橫空出世,憑著一個個腦洞大開的故事,這個溫吞而又溫暖的專欄很快得到了讀者的認可。而其中的創始人兼主打寫手溫酒,更是被粉絲們親切地稱呼為“…

python3 通過百度地圖API獲取城市POI點并存于CSV格式

原文信息: 作者:WenWu_Both 出處:http://blog.csdn.net/wenwu_both/article/ 版權:本文版權歸作者和CSDN博客共有 轉載:歡迎轉載,但未經作者同意,必須保留此段聲明;必須在文章中…

使用dropwizard(3)-加入DI-dagger2

前言 習慣了Spring全家桶,對spring的容器愛不釋手。使用dropwizard,看起來確實很輕,然而,真正使用的時候不得不面臨一個問題。我們不可能一個resource就能把所有的業務邏輯囊括!那么,必然就要有負責處理邏輯…

日歷對象導哪個包_微信新表情瞬間炸裂,文物表情包永恒萌呆!

11月18日晚微信上架了6個全新表情瞬間炸裂網友一天時間閱讀達16.2億,討論15.8萬次#微信新表情#話題翻白眼、666、讓我看看嘆氣、苦澀、裂開微信新表情雖然666但文物表情包的呆萌也能讓人瞬間裂開更能完全詮釋我的各(bu)種(wen ding)情緒先對比一下最新的6個表情[翻白…

Tensorflow一些常用基本概念與函數(1)

文章轉至 作者:林海山波出處:https://me.csdn.net/lenbow版權:本文版權歸作者和CSDN博客共有 寫這篇博客只為自己學習路上做個筆記,方便自己學習記憶,大家如果想看詳細文章可以去原作者主頁去看,同時他…

Lineageos14 20180525更新

一、ROM注意事項 拒絕任何無意義二次打包! C大停止更新Lineageos14,我來接力。 二、ROM更新日志 20180525更新: 1、常規更新 2、安全補丁2018年5月5日 20180406更新: 1、增加通話錄音,常規更新 2、安全補丁2018年3月…

藍牙連接不上車要hfp_如何正確使用車載藍牙播放器呢?

車載藍牙是以無線藍牙技術為基礎而設計研發的車內無線免提系統。可以連接我們設計進行聽歌和打電話十分方便,下面諾金小編帶大家一起來看看!下面諾金小編帶大家一起來看看一、首先是把手機和車載藍牙播放器打開,搜索車載藍牙播放器“809”&am…

使用Eclipse+PyDev創建Django項目一windows下

開發條件:eclipsepydev插件django editor插件 關于eclipse安裝小編就不多做介紹,我自己用的版本如下 1.安裝pydev插件 啟動Eclipse, 點擊Help->Install New Software 彈出如下框 點擊add 分別在 Name中填:Pydev, Location中填http://pydev.org/up…

如何避免踩坑--初創技術團隊組建風險預估

閑來無事翻翻微信,發現有不少朋友公司在招技術負責人,跟他們聊了幾句,發現大多數認知都是技術部門的效率與進度達不到要求,機緣巧合下,有幸到了Y公司跟其Boss會面,得知其技術團隊效率低下,總是不…

查詢空缺_攜程旅行2021校招開啟,9大類職位,1000+崗位空缺,本科及以上學歷...

攜程旅行2021秋季校招正式開啟!攜程集團(納斯達克股票代碼:TCOM)是一家領先的在線旅游服務提供商,旗下品牌包括攜程、Trip.com、天巡和去哪兒。攜程集團能夠整合復雜的旅游相關信息并通過其先進的移動端App、網站以及24小時無間斷的免費客戶服…

Django web開發筆記

一、Django開發環境搭建: 1.安裝python:django可運行于版本python 2.7、3.x 2.安裝相應的IDE 3.安裝pip:sudo apt-get install python-pip(linux為例) 4.安裝django:1)pip安裝:sudo pip ins…

android 前置攝像頭預覽時 鏡像翻轉_全面屏時代,原來手機前置攝像頭都隱藏著一些缺點,你發現了嗎?...

隨著真全面屏時代的到來,人們已經不再滿足于劉海屏、水滴屏以及挖孔屏等,越來越多的手機廠商和消費者開始追求"100%全面屏"。于是如何解決手機前置攝像頭便成了最大的難題,畢竟只要在屏幕上放置攝像頭必然會影響屏占比,…

Java 調用 Python 方法學習筆記

文章轉載自: 作者:IT_xiao_bai 來源:CSDN 原文:https://blog.csdn.net/IT_xiao_bai/article/details/79074988 前一陣自剛好用python做了一個sae的算法模型,結果公…

catia怎么將特征參數化_VSLAM中特征點的參數化表示

VSLAM中特征點的參數化表示有很多,最直接的是用三維坐標XYZ來表示,但通常大家更喜歡用逆深度表示,因為逆深度優勢在于能夠建模無窮遠點。Open VINS文檔中給出了五種特征參數化表示:Global XYZ,Global Inverse Depth&am…

【廣州】Web前端工程師

互聯網公司找人咯~ 我們公司:道樂科技(Dollar Tech)成立于2013年11月,是一家致力于為資產管理和財富管理行業提供技術、產品和運營服務的科技金融企業。三年來,道樂人始終堅持“以客戶為中心,為客戶提供高品…

Java 調用 Python 方法學習筆記---之---java調用python深度學習模型運算并返回運算結果給前端(2)

上一章寫到Java 調用 Python 方法學習的三種方法,這里強調第三種方法。第三種方法本質上和第二種方法是一樣的,都是應用到 Runtime.getRuntime().exec() 去執行文件。要深度理解這種方法,首先要先理解一下Runtime.getRuntime().exec() 。 R…

tbslog亂碼轉換_日文游戲亂碼怎么辦 亂碼轉換工具LocaleEmulator

by Nicho Feb.23,2017許多日文游戲有諸多地區限制,在 win7、win8、win10 上玩時候會經常遇到日文游戲亂碼的情況,這時候就得用到亂碼轉換工具了,下面我們就來詳細說明下使用方法。常用的有 microsoft locale、applocale、NTLEA 等&…

haarcascades---各種分類器xml文件下載地址

安裝好opencv想找個人臉識別的小實驗做做,后來發現沒有配置文件,于是乎就找到了這個,所以就轉載過來了。 下載地址:https://github.com/opencv/opencv/tree/master/data/haarcascades 轉載地址:https://blog.csdn.ne…

vue 組件屬性監聽_vuejs組件內的對象屬性監聽問題

跟數據類型是有關的。當你把一個普通的 JavaScript 對象傳給 Vue 實例的 data 選項,Vue 將遍歷此對象所有的屬性,并使用 Object.defineProperty 把這些屬性全部轉為 getter/setter。但是不是所有的變動都可以通過set/get捕捉到,比如一個數組l…