请使用 torch.load 和 map_location=torch.device('cpu')

elh*_*ili 5 python data-mining deep-learning

我正在运行Python程序,但我没有GPU,我该怎么做才能让Python使用CPU而不是GPU?

$ python extract_feature.py --data mnist --net checkpoint_4.pth.tar --features pretrained
Run Code Online (Sandbox Code Playgroud)

它给了我以下警告:

=> 运行时错误:尝试在 CUDA 设备上反序列化对象,但 torch.cuda.is_available() 为 False。如果您在仅使用 CPU 的计算机上运行,​​请使用 torch.load 和 map_location=torch.device('cpu') 将存储映射到 CPU。

照片是我的Python项目的结构:

1

小智 9

我遇到了类似的错误。然后通过尝试以下解决方法问题得到解决。(如果您的模型是 .pth 或 .h5 格式。)

MODEL_PATH = 'Somemodelname.pth'
model.load_state_dict(torch.load(MODEL_PATH, 
map_location=torch.device('cpu')))
Run Code Online (Sandbox Code Playgroud)

如果您希望在您的机器上使用某些 GPU。然后,

map_location = torch.device('cuda:device_id')