torch 变量_[错误汇总]torch.load加载模型报错;cuda数据类型报错
发布日期:2021-11-19 18:35:44 浏览次数:7 分类:技术文章

本文共 1301 字,大约阅读时间需要 4 分钟。

addd72895b77d5893836601c92082c14.png
  1. torch.load加载模型报错 :

UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 1124: ordinal not in range(128)

原因是:Pytorch在加载模型时候,如果训练保存模型的python环境是2.7,然而在python3的环境中去load模型,就会出现上面的错误。

解决办法:

ascii codec cant decode byte 0xc3 ..._人工智能_zhucuankuan2669的博客-CSDN博客​blog.csdn.net
14e98ef6a7acd7903cf289619affd690.png

cd831fe20c1d9157723bc0659a1198a1.png
from

加入上面这些代码即可,一招制敌!太感谢了!!!!

6690744f6e7662472ea09d832d03b944.png

另外:有的人使用 cPickle.load()加载模型,也会报这个错误,原因也是python2,python3版本问题。

解决方法:

ascii codec cant decode byte 0x90 in position 614: ordinal not in_Python_一个处女座的程序猿-CSDN博客​blog.csdn.net
ebdf5af857b910cac43704c2510b6479.png

将 training_data, validation_data, test_data = cPickle.load(f)

改为即可,training_data, validation_data, test_data = cPickle.load(f,encoding='bytes')

加上encoding='bytes'就行了

2.RuntimeError: Expected a Tensor of type torch.cuda.FloatTensor but found a type torch.FloatTensor for s

需要传入一个cuda类型数据,但是实际传入的却不是cuda类型。

RuntimeError: Expected object of type torch.cuda.FloatTensor but found type torch.FloatTensor for ar​blog.csdn.net
59675eb4cf4c541b9bc1c30ce484a9c6.png

意思是要求的目标类型是torch.cuda.FloatTensor,但是找到的数据类型是torch.FloatTensor,所以需要在数据类型后面加上.cuda()。将predict = model(Variable(x_train)) 改为predict = model(Variable(x_train.cuda()))

但是,我加上.cuda()依然报这个错,怎么办呢?就把传入的数据的.cuda()删掉就好了。因为这个参数之前加了.cuda(),可能检测到这一点,所以需要传入cuda类型,但不知道为什么它实际上不是cuda类型,所以把之前的.cuda()删了就不报错了,但是可能也慢了……但是主要不是为了不报错嘛,哈哈

后面我发现我在变量后面直接加 .cuda() —> var.cuda(),是没用的,但是

var = var.cuda() ,却可以!不知道为什么,可能我漏掉了什么细节吧

转载地址:https://blog.csdn.net/weixin_39927214/article/details/110287517 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:php 数组从后向前查找_数组内元素顺移
下一篇:python修改word文档的域_python修改word文件(doc)页眉页脚

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年03月22日 16时01分13秒