Pytorch采坑

1. 问题:Pytorch指定显卡无效,仍然只使用GPU 0

原因:Pytoch在加载与训练模型时会先把预训练模型放到GPU0上,如果此时GPU0被占满,则会提示显存不够而报错
解决:在程序开头加一句os.environ["CUDA_VISIBLE_DEVICES"] = "2,3" 强制指定2,3号显卡

2. 问题:Pytorch加载模型时出现…xxx.pth is a zip archive (did you mean to use torch.jit.load()?)

原因:Pytorch版本与当时存储的版本不一致
解决:回到当时可以读取的版本,读取后再保存并加上_use_new_zipfile_serialization=False注意开头有下划线,如下:

import torch
checkpoint = torch.load(r'A.pth.tar')
torch.save(checkpoint, r'B.pth.tar', _use_new_zipfile_serialization=False)

3.设置CUDA时一直出现UnicodeDecodeError: ‘utf-8’ codec can’t decode bytes in position 1748-1749: invalid continuation byte错误

原因:多半是数据集文件路径有问题
解决:检查数据集文件,特别是需要读取使,检查文件路径是否正确

4.使用torchvision.transform时出现’‘builtin_function_or_method’ object is not iterable’错误

原因:再使用Compose时将ToTensor写在了修改图片之前
解决:在裁剪图片之后使用ToTensor,如图:
在这里插入图片描述

5.pytorch TypeError: array() takes 1 positional argument but 2 were given

原因:pillow版本不对
解决:pip install pillow==8.2.0 对pillow版本降级

6.为什么pytorch做分类时写网络结构最后加上F.softmax(x)后loss会变高

原因:pytorch的交叉熵损失函数nn.CrossEntropyLoss()内部自带了softmax函数,不需要在网络最后再写
解决:网络最后直接return全连接层的输出即可

7.pytorch报错OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.以及OMP: Hint This means that multiple copies of the OpenMP runtime have been linked into the program.

原因:不明
解决:加入

import os
os.environ["KMP_DUPLICATE_LIB_OK"]="TRUE"

参考https://lizhifun.blog.csdn.net/article/details/113326333

8.pip安装出现ERROR: Cannot unpack file C:\Users\zn\AppData\Local\Temp\pip-unpack-j5gbuuja\simple.html

原因:不明
解决:这样写:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn 你要安装的包,比如opencv-python

参考:https://blog.csdn.net/hanhanwanghaha/article/details/108237819

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

锌a

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值