2017-06-08 46 views
1

我在Nvidia數字5中訓練了我的模型,現在我想提取在報告培訓期間生成的準確性和損失情節。這些數據是否保存在某個地方,以便可以提取這些圖的數據,以便我可以用Python繪製數據,並最終修改圖來比較不同的模型等等。Nvidia數字準確性和損失情節數據

+0

您可以隨時在每一步執行此操作,但無法找到清晰快捷的解決方案。 – Jan

回答

1

我發現的最佳解決方案是查看HTML文件或掃描由Caffe生成的文本文件caffe_output.log。文本文件通常存儲在/ var /數字/職位/ insert_your_job_id /但你也可以只在Linux系統上運行:

locate caffe_output.log 
1

轉到您的DIGITS的工作文件夾,找到你的工作的子文件夾。在裏面你會發現一個文件status.pickle,這是一個包含你所有工作信息的pickle對象。 您可以在python加載它,像這樣:

import digits 
import pickle 
data = pickle.load(open('status.pickle','rb')) 

這個對象是有些通用的,可以包含多個任務。對於典型的分類任務,它可能只是一個,但您仍然需要通過data.tasks[0]訪問它。從那裏,你可以抓住該地塊:

data.tasks[0].combined_graph_data() 

它返回一個有點令人費解dict(遺憾的是 - 因爲你的網絡可以產生許多精度/損失輸出,以及甚至是自定義的)。它包含了你需要的東西都在 - 我設法與繪製精度:

plt.plot(data.tasks[0].combined_graph_data()['columns'][2][1:])

,但它很可能是你必須編寫一些自定義代碼。一如既往,dir()是你的朋友。