环境:Windows10,cpu,pytorch→mindspore
问题描述:
在训练模型的时候:

通过debug定位到,在模型model的construct中有这样一行代码:(备注:debug过程中发现,是for data in dataset.create_dict_iterator():训练第3次进入到该行代码才会卡住)

其中S和labels都是(64,16)的tensor,clamp是将1-S的元素控制在0~2之间,.t()是转置方法
迁移到mindspore中是这样

但是迁移过来后,debug或者运行的时候就卡在这里,debug第三次到该代码也会报错,而且这次和下次可能报的错不一样:



然而我用numpy作为中转,将Mindspore的tensor类型转为pytorch的tensor类型,然后再用pytorch的方法实现这个操作,训练过程又是可以跑的,转换如下:

但是这个操作其实就很简单,Mindpsore的API中也可以找到对应的方法,就是ops.clip_by_value()做元素大小控制,transpose做转置,为什么就会卡住。
环境:Windows10,cpu,pytorch→mindspore
问题描述:
在训练模型的时候:

通过debug定位到,在模型model的construct中有这样一行代码:(备注:debug过程中发现,是for data in dataset.create_dict_iterator():训练第3次进入到该行代码才会卡住)
其中S和labels都是(64,16)的tensor,clamp是将1-S的元素控制在0~2之间,.t()是转置方法
迁移到mindspore中是这样
但是迁移过来后,debug或者运行的时候就卡在这里,debug第三次到该代码也会报错,而且这次和下次可能报的错不一样:
然而我用numpy作为中转,将Mindspore的tensor类型转为pytorch的tensor类型,然后再用pytorch的方法实现这个操作,训练过程又是可以跑的,转换如下:
但是这个操作其实就很简单,Mindpsore的API中也可以找到对应的方法,就是ops.clip_by_value()做元素大小控制,transpose做转置,为什么就会卡住。