我在 Nvidia Digits 5 中训练了我的模型,现在我想提取在训练期间生成的准确度和损失图以生成报告。这些数据是否保存在某处,以便可以提取这些图的数据,以便我可以在 Python 中绘制它,并可能最终修改这些图以比较不同的模型等?
问问题
486 次
2 回答
3
我发现的最佳解决方案是查看 HTML 文件或扫描 Caffe 生成的文本文件 caffe_output.log。文本文件通常存储在 /var/digits/jobs/insert_your_job_id/ 但您也可以只在 linux 系统上运行:
locate caffe_output.log
于 2017-06-09T14:15:53.990 回答
2
转到您的 DIGITS 作业文件夹并找到您的作业的子文件夹。在里面你会找到一个文件status.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()
是你的朋友。
于 2017-07-24T07:36:51.613 回答