python 安装pytorch apex 报错:“ERROR: Command errored out with exit status 1: /home/litt/anaconda3/envs/”

1.安装错误

安装apex库时,执行安装 pip install -v --disable-pip-version-check --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" ./,报错:

ERROR: Command errored out with exit status 1: /home/xxx/anaconda3/envs/smplx_1.7/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-req-build-jhg5md0f/setup.py'"'"'; __file__='"'"'/tmp/pip-req-buil
d-jhg5md0f/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.Str
ingIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close()
;exec(compile(code, __file__, '"'"'exec'"'"'))' --cpp_ext --cuda_ext install --record /tmp/pip-record-c_j8tg1m/install
-record.txt --single-version-externally-managed --compile --install-headers /home/xxx/anaconda3/envs/smplx_1.7/include/python3.7m/apex Check the logs for full command output.
...................................
...................................
pip._internal.exceptions.InstallationSubprocessError: Command errored out with exit status 1: /home/xxx/anaconda3/envs/smplx_1.7/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-req-build-jhg5md0f/setup.py'"'"'; __file__='"'"'/tmp/pip-req-build-jhg5md0f/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' --cpp_ext --cuda_ext install --record /tmp/pip-record-c_j8tg1m/install-record.txt --single-version-externally-managed --compile --install-headers /home/xxx/anaconda3/envs/smplx_1.7/include/python3.7m/apex Check the logs for full command output.
Removed build tracker: '/tmp/pip-req-tracker-gajxl9v8'
  • 解决方案
    通过“nvcc -V”,检查cuda版本。我原始的cuda版本为10.2,修改cuda版本为10.0后安装成功。(服务器root用户可在/usr/local 建立cuda软连接进行修改;非root用户通过vim ~/.bashrc 中的export ... 配置进行修改。)

2.运行精度错误

另外,运行代码时出现了另一个错误:

RuntimeError: expected scalar type Float but found Half (data_ptr at /home/cy/anaconda3/envs/render/lib/python3.6/s ite-packages/torch/include/ATen/core/TensorMethods.h:6321)
frame #0: c10::Error::Error(c10::SourceLocation, std::string const&) + 0x47 (0x7f32dc94a627 in /home/cy/anaconda3/envs/NHR /lib/python3.6/site-packages/torch/lib/libc10.so)
frame #1: float* at::Tensor::data_ptr() const + 0xa60 (0x7f32bbb33480 in /home/cy/anaconda3/envs/NHR/lib/python3.6/ site-packages/pointnet2-0.0.0-py3.6-linux-x86_64.egg/pointnet2_cuda.cpython-36m-x86_64-linux-gnu.so)
frame #2: group_points_wrapper_fast(int, int, int, int, int, at::Tensor, at::Tensor, at::Tensor) + 0x27 (0x7f32bbb34427 in /home/cy/anaconda3/envs/NHR/lib/python3.6/site-packages/pointnet2-0.0.0-py3.6-linux-x86_64.egg/pointnet2_cuda.cpython-36m -x86_64-linux-gnu.so)
frame #3: + 0x14947 (0x7f32bbb2c947 in /home/cy/anaconda3/envs/NHR/lib/python3.6/site-packages/pointnet 2-0.0.0-py3.6-linux-x86_64.egg/pointnet2_cuda.cpython-36m-x86_64-linux-gnu.so)
frame #4: + 0x11a06 (0x7f32bbb29a06 in /home/cy/anaconda3/envs/NHR/lib/python3.6/site-packages/pointnet 2-0.0.0-py3.6-linux-x86_64.egg/pointnet2_cuda.cpython-36m-x86_64-linux-gnu.so)

frame #11: THPFunction_apply(_object*, _object*) + 0xa1f (0x7f330e1f6e3f in /home/cy/anaconda3/envs/NHR/lib/python3.6/site -packages/torch/lib/libtorch_python.so)
  • 解决方案:
    ① 安装旧版本apex
    使用旧版本apex解决问题:https://github.com/NVIDIA/apex/tree/088985936518be7e25795a30d8ab33affa9db6ed
    ② (不推荐)修改精度
    修改精度使其满足要求,例如:new_features = self.mlp(new_features) 输出精度为 ‘torch.float16’,但是‘new_features’ 输入变量是 ‘torch.float32’ 修改为new_features = self.mlp(new_features).type(torch.float32)

参考文献:RuntimeError: expected scalar type Float but found Half #4

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值