[原创] PyTorch做inference/prediction的时候如何使用GPU

话不多说,直接进入主题。

判断能不能使用GPU
可能有多种原因会导致不能使用GPU,比如PyTorch安装的是CPU版的,显卡驱动没有正确安装等。下面的 if 语句在正常的情况下会返回 True:

if torch.cuda.is_available():
    print('PyTorch can use GPU on current machine!')

文章来源:https://www.codelast.com/
 设置模型使用GPU

model = MyModel(*args, **kwargs)
model.load_state_dict(torch.load(your_model_file_path))
model.eval()  # 设置成evaluation模式
if torch.cuda.is_available():
    print('PyTorch can use GPU on current machine!')
    device = torch.device("cuda")
    model.to(device)

your_model_file_path 是模型文件的路径。

 inference/predict的时候使用GPU
对一次 inference 来说,假设模型的输入数据为 model_input_tensor(torch.Tensor类型),那么计算模型输出的方法是:

if torch.cuda.is_available():  # GPU available
    model_input_tensor = model_input_tensor.to(torch.device('cuda'))
model_output = model(model_input_tensor)  # inference

 检查程序跑起来之后是不是真的用了GPU
用 nvidia-smi 命令来查看。

 

文章来源:https://www.codelast.com/
➤➤ 版权声明 ➤➤ 
转载需注明出处:codelast.com 
感谢关注我的微信公众号(微信扫一扫):

wechat qrcode of codelast

发表评论