model.half

 
开启半精度。

直接可以加快运行速度、减少GPU占用,并且只有不明显的accuracy损失。

之前做硬件加速的时候,尝试过多种精度的权重和偏置。
在FPGA里用8位精度和16位精度去处理MNIST手写数字识别,
完全可以达到差不多的准确率,并且可以节省一半的资源消耗。

这一思想用到GPU里也是完全可以行通的。即将pytorch默认的32位浮点型都改成16位浮点型。

    

在CUDA之前设置,且数据入模前也需要设置为半精度

 
model.half()
model.cuda()
model.eval()
    
img = torch.from_numpy(image).float()
img = img.cuda()
img = img.half()
    
res = model(img)
    

 

    

 

    

 


 

  

 


参考