【MindSpore产品】GPU下训练好的模型,直接推理结果nan,没有相关log指示错误

问题描述:

配置GPU :context.set_context(device_target="GPU")得到下图nan推理结果

我目前模型在CPU下训练,推理都没问题。

在GPU环境一下可以正常训练,但是推理阶段出来的结果都是nan。

与CPU 唯一不同的是‘CPU’改成‘GPU’: context.set_context(device_target="GPU")

关键是也不报错,pycharm中 debug时在 模型的def construct里加断点,但是没用断不住,实在没招了,求助各位大佬~

解答:

1. 需要设置pynative模式

context.set_context(mode=context.PYNATIVE_MODE)

参考 https://www.mindspore.cn/tutorials/zh-CN/r1.6/intermediate/pynative_mode_and_graph_mode.html?highlight=%E6%96%AD%E7%82%B9

  1. 你是通过做分batch的操作自己解决了吧, 一般CPU上训练的CPU上做测试, GPU上训练的GPU上做测试

训练前,要做分batch的操作:ds_train = ds_train.batch(10)。 ds_train = ds.GeneratorDataset(source = generator, column_names = ['data','label'] ) 其中generator是我定义的一个随机样本生成器函数。 GPU环境下训练前,要做一个把训练集分batch的操作: ds_train = ds_train.batch(10)

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值