gpt4 book ai didi

python - PyTorch找不到名字?? (名称错误: name 'device' is not defined)

转载 作者:行者123 更新时间:2023-12-02 18:51:34 24 4
gpt4 key购买 nike

抱歉 - 我是一个完全的初学者!

我正在尝试使用 https://kaiyangzhou.github.io/deep-person-reid/index.html# 中的 Torchreid 库构建一个“迷你系统”

在他们的版本中,他们使用 CUDA,但我的 Mac 与 CUDA 不兼容,并且没有CUDA 启用了 GPU,因此我安装了仅 CPU 版本的 PyTorch - 因此我将 model = model.cuda() 更改为 model = model.to(device) 并添加在 device = torch.device('cuda' if torch.cuda.is_available() else 'cpu') 中,如下所示。我认为这会起作用,但我不断收到 NameError: name 'device' is not Defined 并且我不知道该怎么办。请帮忙!

(我还尝试将 device = torch.device('cuda' if torch.cuda.is_available() else 'cpu') 放在顶部而不是底部,看看是否有任何效果区别,但我刚刚收到另一个错误 - NameError: name 'torch' is not Defined)

model = torchreid.models.build_model(
name='resnet50',
num_classes=datamanager.num_train_pids,
loss='softmax',
pretrained=True
)

model = model.to(device)

optimizer = torchreid.optim.build_optimizer(
model,
optim='adam',
lr=0.0003
)

scheduler = torchreid.optim.build_lr_scheduler(
optimizer,
lr_scheduler='single_step',
stepsize=20
)

device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')

最佳答案

在使用之前定义device变量:

import torch
...
model = torchreid.models.build_model(
name='resnet50',
num_classes=datamanager.num_train_pids,
loss='softmax',
pretrained=True
)

# Just right before the actual usage
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
model = model.to(device)
...

关于python - PyTorch找不到名字?? (名称错误: name 'device' is not defined),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66679163/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com