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

问题描述:

【背景信息】

整个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都在编译图,时间会大大增加。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值