論如何找tensorflow的原始碼

2021-08-27 20:26:53 字數 2248 閱讀 8976

以前每次看部落格總有大神貼出一大堆原始碼來解析,今天突然就想寫乙個關於怎麼找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...