参考资料:https://zhuanlan.zhihu.com/p/73711222
    设置 torch.backends.cudnn.benchmark=True 将会让程序在开始时花费一点额外时间,为整个网络的每个卷积层搜索最适合它的卷积实现算法,进而实现网络的加速。适用场景是网络结构固定,网络的输入形状(包括 batch size,图片大小,输入的通道)固定,其实也就是一般情况下都比较适用。
    要点:

    • cudnn中有多种卷积算法的实现
    • 不同实现对不同的网络结构和输入来说效率不同
    • 将torch.backends.cudnn.benchmark设置为True,可以对模型中的卷积层进行预先优化,在模型启动时只要额外花一点点时间
    • 一般将设置语句加在程序的开头
    • 如果卷积网络结构不是动态变化的,网络的输入 (batch size,图像的大小,输入的通道) 是固定的,尽管放心使用 torch.backends.cudnn.benchmark=True