我可以准确控制MXNet何时运行性能测试吗?
我有一个即将投入生产的MXNet应用程序。它运行正常,但是批处理大小可变,并且使MXNet经常执行自动调谐。
尽管批量大小是可变的,但通常为1。我可以接受较大尺寸的性能损失(它比一直中断自动调谐更好)。
如果我禁用了export MXNET_CUDNN_AUTOTUNE_DEFAULT=0
的自动调谐功能,网络运行速度将大大降低。
所以我的问题是:有没有办法只运行一次自动调谐,最好是在我通话时?
答案 0 :(得分:1)
当前没有方法只能运行一次自动调谐。启用自动调整功能后,MXNet将运行性能测试,以找到适用于卷积/解卷积运算符的最佳算法。最佳算法是使用特定的输入形状,输出形状来缓存的。因此,只要您具有相同的输入/输出形状,就不应重新运行性能测试。但是,如果形状发生变化,则会触发算法重新运行。