我试图从训练步骤中检索不同层的计算时间,我已经设法通过run_meta_data选项获取训练步骤信息,我可以在每层的Tensorboard中看到计算时间。我已经通过生成时间轴对象将元数据信息解析为json。而且我已经在tensorflow存储的事件中转换了protobuf。在两种情况下,当我计算图层的时间(聚合protobuf或json文件中的节点的持续时间)与图中显示的不同。我错过了什么吗?
更新将protobuf解析为字典。节点如下所述。
{“nodeName”:“Tower_0 / conv1 / Conv2D:Conv2D”,
“opEndRelMicros”:“585”,
“allEndRelMicros”:“585”,
“allStartMicros”:“1527330751389528”
},
{
“nodeName”:“Tower_0 / conv1 / Conv2D:Conv2D”,
“opEndRelMicros”:“1721”,
“allEndRelMicros”:“1721”,
“allStartMicros”:“1527330751390116”
},
{
“nodeName”:“Tower_0 / conv1 / Conv2D:Conv2D”,
“opEndRelMicros”:“10”,
“allEndRelMicros”:“10”,
“allStartMicros”:“1527330751391839”
},
我所做的是抽出时间,遍历整个文件并检索名称与图层名称匹配的节点,并添加opeEndRelMicros的时间。某些层的时间较长,而某些层的时间较低。