- 官方代码编译失败,于是查找到一篇博文
https://blog.csdn.net/weixin_59726951/article/details/127585754
方法四使用了另外的一个仓库,安装成功 apex-0.1 - 但是使用过程会报错
AttributeError: module ‘torch.nn’ has no attribute ‘backends’
通过issue解决:
https://github.com/NVIDIA/apex/issues/547
下面有一个修改源码的方案,实测可行
将报错的文件 utils 中的三个函数修改成下面的逻辑
def has_func(mod, fn):
if isinstance(mod, dict):
return fn in mod
else:
return hasattr(mod, fn)
def get_func(mod, fn):
if isinstance(mod, dict):
return mod[fn]
else:
return getattr(mod, fn)
def set_func(mod, fn, new_fn):
if isinstance(mod, dict):
mod[fn] = new_fn
else:
setattr(mod, fn, new_fn)