1、CPU上的操作耗时:
尝试将操作放在GPU上进行,如np.argmax的操作
2、.cpu()耗时
尝试减少传输tensor的大小
3、数据预处理耗时
1)resample操作尝试放到GPU上处理?
2)先crop后resample?
4、调用不同的包耗时不同
如scipy / skimage / sklearn / numpy
5、网络运行耗时
1)inference时可以不对网络权重进行初始化操作
2)选用不同的网络框架
3)减少channel数
4)减少层数
6、其他
1)torch.backends.cudnn.benchmark
2).half() 操作可以减少显存占用,但在V100等高端机器上优化做的很好,普通机器上速度奇慢
3)训练时不建议使用torch.cuda.empty_cache(),会减慢训练速度