利用TensorFlow官方提供的debug工具tfdbg生成npy文件。详细的操作方法如下:
For more details, see help.. tfdbg> run
run命令执行完成后,获取第一个step的训练结果参数,可以依次执行lt命令查询已存储的张量,执行pt命令查看已存储的张量内容,保存数据为npy格式文件。
run命令执行完成后,需要收集npy文件,但由于tfdbg一次只能dump一个tensor,为了自动收集所有npy文件,具体执行操作如下:
Wrote output to tensor_name
timestamp=$[$(date +%s%N)/1000] ; cat gpu_dump | awk '{print "pt",$4,$4}' | awk '{gsub("/", "_", $3);gsub(":", ".", $3);print($1,$2,"-n 0 -w "$3".""'$timestamp'"".npy")}'
如果命令行界面无法粘贴文件内容,可以在tfdbg命令行中输入“mouse off”指令关闭鼠标模式后再进行粘贴。