深度学习训练环境pytorch和cuda版本问题
经过我的多次实际模型训练和模型环境搭建,可以说明高版本的pytorch和cuda可以兼容低版本的模型代码。如果说在运行时报错,大概率也就是只有极个别的库函数在新版本被删掉了,需要你使用别的函数替代。这种情况很少,通常只需要修改几个函数就能在高版本的pytorch下运行了。
·
经过我的多次实际模型训练和模型环境搭建,可以说明高版本的pytorch和cuda可以兼容低版本的模型代码。如果说在运行时报错,大概率也就是只有极个别的库函数在新版本被删掉了,需要你使用别的函数替代。这种情况很少,通常只需要修改几个函数就能在高版本的pytorch下运行了。
举个常见的不兼容例子:
CuPy v10以上版本中使用cuda.compile_with_cache方法,在get_function时报错AttributeError:‘NoneType’ object has no attribute ‘get_function’。
出现这种错误的原因是:
CuPy v10及其之后的版本中,cupy.cuda.compile_with_cache方法已经被弃用了。如果不修改代码,就会报错。
解决方案
一个可行的解决方案是使用cupy.RawKernel替换cupy.cuda.compile_with_cache,即将下列代码
cupy_krl = cupy.cuda.compile_with_cache(strKernel)
cupy_launchr = cupy_krl.get_function(strFunction )
替换为:
cupy_launchr = cupy.RawKernel(strKernel, strFunction)
更多推荐
所有评论(0)