文章目录
自己的环境是 ubuntu20.04
+cuda11.5
+pytorch1.12.1
,在git上下载一些古老的代码时,requirements.txt
中的pytorch
版本基本是0.4以下,因此总报错,这里记录一下常见的错误,方便下次查找。
1. Expected a ‘cuda’ device type for generator but found ‘cpu’
在加载dataloader时候遇到的这个错误
self.dataloader = DataLoader(
dataset=self.dataset,
batch_size=self.batchsize,
shuffle=True,
num_workers=4
)
"""------------------>"""
self.dataloader = DataLoader(
dataset=self.dataset,
batch_size=self.batchsize,
shuffle=True,
num_workers=4,
generator=torch.Generator(device='cuda')
)
2. cannot re-initialize CUDA in forked subprocess…
将上面修改了以后,又遇到了这个问题…醉了
将num_workers = 0
3. 多个cuda device的问题
要么是模型分布在多个cuda上,要么是tensor在多个device上
将.cuda()
均修改成.to(device)
if config.n_gpu==1:
self.G = self.G.to(device)
self.D = self.D.to(device)
# self.G = torch.nn.DataParallel(self.G).cuda(device=0)
# self.D = torch.nn.DataParallel(self.D).cuda(device=0)
4. loss[0].item()
旧版本的很喜欢写这个,把0
去掉,--->
loss.item()
5. jupyter lab指定虚拟环境
# 第一步,切换到想要添加的虚拟环境:
conda activate pytorch1.7.0
# 第二步,安装ipykernel包
conda install ipykernel
# 第三部,执行如下命令,并确定环境的名称(此处设置为我需要的虚拟环境python37)
python -m ipykernel install --user --name pytorch1.7.0