当前位置:网站首页>Mindspore 1.5rcGraph Mode训练速度慢,这是为什么?

Mindspore 1.5rcGraph Mode训练速度慢,这是为什么?

2022-06-10 04:30:00 MSofficial

问题描述:

【背景信息】

整个Model是一个文字识别任务,包含CNN,Transformer,Loss只有一个CrossEntropy的分类loss。

【问题描述】

整个代码已经在PyNative模式下顺利运行,并且训练到了很高的性能。

训练输入是batchsize=64的160x48的图片。输出类别数为7000左右。

单卡单机,PyNative下训练,每个Batch平均需要3秒左右

现在拿在PyNative模式下训练好的Model,load进来以后切换成GRAPH Mode继续finetune,发现精度几乎一致,没有下降,但是速度慢了一大截!比PyNative模式,每个batch慢了10倍左右的时间!

解答:

应该是图重复编译了,dict,list,tuple都不要作为根图的入参,因为graph是有编译缓存的,tensor作为入参时,是把shape和type看做是key的,其他类型都是要看object的属性和value的,如果传入一个dict可能导致某些value一直在变,导致图缓存不下来,每个step都在编译图,时间会大大增加。

原网站

版权声明
本文为[MSofficial]所创,转载请带上原文链接,感谢
https://blog.csdn.net/Kenji_Shinji/article/details/125206929