function - 从不推荐使用的 cudnn 函数转换为工作函数
问题描述
我需要运行一个包含已弃用的 cudnn 函数(cudnnGetConvolutionForwardAlgorithm'、cudnnGetConvolutionBackwardFilterAlgorithm'、'cudnnGetConvolutionBackwardDataAlgorithm')的存储库。我现在在 cudnn8.0 上。
我知道这些函数有工作版本:cudnnGetConvolutionForwardAlgorithm_v7、cudnnGetConvolutionBackwardFilterAlgorithm_v7 等,但它们的参数 + 返回类型发生了变化。
您对如何从不推荐使用的版本转换为工作版本有任何建议吗?
解决方案
我不会转换为 _v7 函数,因为在 CUDNN 库的未来版本中完全删除对它的支持时,您必须再次转换它。我倾向于使用 cudnnFind... 函数,其详细信息在cuDNN API Reference中。由于他们实际上测试了可能使用的算法并告诉您最快的算法,因此它们可能会给您的网络提供比启发式算法(用于 cudnnGet...)更好的性能,而启发式算法可能只会给您最快的算法。创建网络时调用 cudnnFind... 需要额外的计算成本,而不是运行它。我还没有完成测试,看看它需要多少额外的时间,但我无法想象它有什么明显的。
推荐阅读
- vb.net - 值 7.3 对选项“langversion”无效
- html - 如何使用 CSS 传递静态 HTML 文件
- apache-kafka - Kafka实现消息过滤的最佳方式
- python-3.x - 在 MacOs 10.11.6 上安装 opencv_python
- typescript - 在规则测试数据集中创建 Firestore Timestamp 对象的正确方法是什么?
- python - Python 错误:尝试相对导入超出顶级包
- c - 打印在文件中多次写入的单词 1 次
- ubuntu - 制作:*** [cmake_check_build_system] 错误 127
- python - 在下面的代码中出现python错误“无法从重复索引重新索引”和警告“设置复制警告”
- java - 如果一个实例同时显示在 autowired 和 bean 中,那么 Spring 将使用哪个