开启半精度。 直接可以加快运行速度、减少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) |
|
|
|
|