Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 张量流训练层时间计算_Python_Parsing_Tensorflow_Time_Profiling - Fatal编程技术网

Python 张量流训练层时间计算

Python 张量流训练层时间计算,python,parsing,tensorflow,time,profiling,Python,Parsing,Tensorflow,Time,Profiling,我试图从一个训练步骤中检索不同层的计算时间,我已经通过run_meta_data选项获得了训练步骤信息,我可以在每个层的Tensorboard中看到计算时间。我已经通过生成timeline对象将元数据信息解析为json。我还转换了tensorflow存储的事件中的protobuf。在这两种情况下,当我计算一个层的时间(聚合protobuf或json文件中节点的持续时间)时,与图中所示的时间不同。我错过什么了吗 更新将protobuf解析到字典中。节点描述如下 {“nodeName”:“Tower

我试图从一个训练步骤中检索不同层的计算时间,我已经通过run_meta_data选项获得了训练步骤信息,我可以在每个层的Tensorboard中看到计算时间。我已经通过生成timeline对象将元数据信息解析为json。我还转换了tensorflow存储的事件中的protobuf。在这两种情况下,当我计算一个层的时间(聚合protobuf或json文件中节点的持续时间)时,与图中所示的时间不同。我错过什么了吗

更新将protobuf解析到字典中。节点描述如下

{“nodeName”:“Tower_0/conv1/Conv2D:Conv2D”, “opEndRelMicros”:“585”, “allEndRelMicros”:“585”, “allStartMicros”:“1527330751389528” },
{ “节点名称”:“塔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']