本文能解决的问题
安装途中编译报错,安装好了某个版本后,代码跑起来的途中因为apex报错(诸如:fused cuda的错误、其他各类module not found的错误、cannot import name ‘container_abcs’ from 'torch._six’等等)。
重点:找对版本号
在你排除了所有的“英伟达驱动未安装”,“驱动与cuda不匹配”等前置问题,并能顺利进入安装流程后,若出现文章开头提到的问题,那么可以到apex的源码处使用如下命令切换git分支
git checkout 2386a912164b0c5cfcd8be7a2b890fbac5607c82
这个是目前能找到的最新的能用且无bug的代码版本,然后通过官方提供的安装命令进行安装(不要用其他博客说的,类似python setup.py install --cpp_ext --cuda_ext 这种通过直接python运行setup代码的安装,因为仔细阅读了安装流程,英伟达明确说了这个安装方式被废弃了,实测结果就是会导致cuda cpp那两东西没装上!)
官方代码:
pip install -v --disable-pip-version-check --no-cache-dir --no-build-isolation --config-settings "--build-option=--cpp_ext" --config-settings "--build-option=--cuda_ext" ./