Python 张量流训练层时间计算
我试图从一个训练步骤中检索不同层的计算时间,我已经通过run_meta_data选项获得了训练步骤信息,我可以在每个层的Tensorboard中看到计算时间。我已经通过生成timeline对象将元数据信息解析为json。我还转换了tensorflow存储的事件中的protobuf。在这两种情况下,当我计算一个层的时间(聚合protobuf或json文件中节点的持续时间)时,与图中所示的时间不同。我错过什么了吗 更新将protobuf解析到字典中。节点描述如下 {“nodeName”:“Tower_0/conv1/Conv2D:Conv2D”, “opEndRelMicros”:“585”, “allEndRelMicros”:“585”, “allStartMicros”:“1527330751389528” },Python 张量流训练层时间计算,python,parsing,tensorflow,time,profiling,Python,Parsing,Tensorflow,Time,Profiling,我试图从一个训练步骤中检索不同层的计算时间,我已经通过run_meta_data选项获得了训练步骤信息,我可以在每个层的Tensorboard中看到计算时间。我已经通过生成timeline对象将元数据信息解析为json。我还转换了tensorflow存储的事件中的protobuf。在这两种情况下,当我计算一个层的时间(聚合protobuf或json文件中节点的持续时间)时,与图中所示的时间不同。我错过什么了吗 更新将protobuf解析到字典中。节点描述如下 {“nodeName”:“Tower
{ “节点名称”:“塔0/conv1/Conv2D:Conv2D”, “opEndRelMicros”:“1721”, “allEndRelMicros”:“1721”, “allStartMicros”:“1527330751390116” },
{ “节点名称”:“塔0/conv1/Conv2D:Conv2D”, “opEndRelMicros”:“10”, “allEndRelMicros”:“10”, “allStartMicros”:“1527330751391839” },
为了获得时间,我所做的是,遍历整个文件,检索名称与层名称匹配的节点,并添加opeEndRelMicros的时间。某些层的时间较高,而某些层的时间较低 是的,您缺少一些示例代码。您可以使用探查器查看每一层的培训时间:@KathyWu我已设法从这个json文件中提取此信息,当我搜索每一层的时间时,它与tensorboard中表示的时间不匹配。这次提取的方法是搜索args.name,如果它与层匹配,则添加该过程的持续时间<代码>如果(项目['args']['name'].startswith('Tower_0/layer1')dur=dur+项目['dur']