关键日志说明
NPU上的单卡训练将很快完成,下面对执行日志的关键位置进行说明。
关键日志1:NPU及初始化配置项及初始化成功打印
这部分日志可以看到NPU初始化时的配置项(如果您修改了npu.global_options,详细参数可参见简介,这里也会有所体现)以及初始化成功信息,由于我们调用npu.open时没有传入任何参数,所以默认在NPU:0上进行了初始化。
关键日志2:数据预处理H2D线程开启及HDC通道创建
这部分日志只有在您使用了Dataset作为预处理Pipeline,并且function的入参是Iterator时才会打印。
从这两条日志上可以看出,TF Adapter启动了预处理H2D线程,同时创建了名为AnonymousIterator0的HDC数据传输通道(该名称与TF2中Iterator的shared_name一致)。
关键日志3:NPU检测到循环下沉逻辑,以循环下沉方式执行训练
这个日志的打印内容取决于您是否采用了循环下沉的编码方式,本次迁移中,我们采用了该编码方式,所以Graph xxx can loop的判定结果是true,同时设置了NPU上的训练循环大小为32。后两行日志可以看出,开启了总共32次的异步数据传输,然后向NPU设备下发了执行32次训练的请求。
关键日志4:训练执行过程
这部分日志表示训练过程正在执行。
其中,下面的日志表示32次异步的数据传输成功完成,如果数据传输过程中出现错误,您也将看到相关打印。
关键日志5:训练进程退出
训练结束后,进程退出,会依次销毁HDC数据传输线程(如果存在),关闭Graph Engine引擎。
父主题: 手工迁移与训练