以前每次看部落格總有大神貼出一大堆原始碼來解析,今天突然就想寫乙個關於怎麼找tensorflow原始碼的文章,這裡的原始碼我覺得是**於呼叫的庫,而呼叫的庫肯定是在本地有存檔,所以,找原始碼就是找tensorflow中的目錄~
論找函式原始碼的作用的話,我覺得首先就是原始碼中的注釋很清晰,可以幫助搞懂函式引數的意義
比如我要找實現rnn中乙個函式的原始碼
進入安裝tensorflow的路徑,如果對tensorflow設定了環境,anaconda裡會有乙個envs的資料夾,
1. 比如要找dynamic_rnn的實現原始碼
進入這個資料夾以後,有這些檔案
開啟rnn.py,搜尋dynamic_rnn就有下面的這個,解釋了函式的引數
2.找tf.contrib.rnn.basiclstmcell的實現原始碼
在rnn_cell_impl.py檔案中,路徑同上
分割線最近看了很多大神的部落格和知乎,哇,深覺分享真是一種美德。
之前手動找原始碼,實在找的太痛苦,主要痛苦在於不知道那個函式的實現在哪個檔案當中,搞得我想要ctrl+f都不行,因此從網上找了一點**,又自己加工了一小下,成功成為了找原始碼的好工具。
#或許還有其他更簡便的方法我不知道的,請別見怪-_-
import os
import sys
findcount = 0
findid = "bidirectional_dynamic_rnn"
finddir = "c:/users/dell/anaconda3/envs/tensorflow1/lib"
resultdir = "" #自己寫乙個目錄
resultfile = os.path.join(resultdir,"bilstm.txt")
def writeresultandprint(fullpath):
file = open(resultfile,'a')
file.write(fullpath)
file.write("\n")
print "write ok!\n"
file.close()
def findkey(findid,fullpath):
file = open(fullpath,'r')
content = file.read()
file.close()
i***ist = content.find(findid)
if i***ist > 0:
global findcount
findcount = findcount + 1
writeresultandprint(fullpath)
def findfiles():
clean()
for dirpath,dirnames,filenames in os.walk(finddir):
for file in filenames:
fullpath = os.path.join(dirpath,file)
findkey(findid,fullpath)
print "has the string!!:" + str(findcount)
def clean():
if os.path.exists(resultfile):
os.remove(resultfile)
if __name__ == '__main__':
# a = sys.argv[1:]
# findid += a[0]
# finddir += a[1]
# resultdir += a[2]
findfiles()
findid就是要找的函式,finddir是你預計檔案會在的目錄,resultdir是結果存放的目錄。
成功的截圖:
雖然仍然是個笨方法,但還是比手動找簡單多了,勞動工具解放生產力-_-
TensorFlow 資訊理論 資訊熵2
tensorflow 資訊理論 資訊熵2 flyfish tensorflow 資訊理論 資訊熵1 熵是接收的每條訊息中包含的資訊的平均量,又被稱為資訊熵 信源熵 平均自資訊量 自資訊量已經知道它的意思,平均自資訊量就是加權平均 在資訊理論裡 熵,資訊熵 信源熵 平均自資訊量都是乙個意思 乙個系統的...
如何找客戶?
開始幾天,發現找客戶還真難。突發奇想,如果乙個人發現他的單位有erp或者資訊化的需求,那麼他又發現我可以提供這方面的服務,或者提供基於用友erp的解決方案,或者能幫助提供sap的產品,並且,他還能獲得一定的報酬,而且報酬還不低,那麼,他會不會主動來聯絡我呢?也許他只提供給我乙個他所在單位的相關人員的...
如何列印tensorflow 的dataset
有時,為了除錯資料,需要將資料列印打出來,可以用interator來遍歷資料 首先定義兩個遍歷函式,def print dataset self,data set iterator data set.make one shot iterator next element iterator.get n...