Ubuntu18.04下成功安装caffe-cpu后仍遇导入错误求助
解决Ubuntu 18.04中Python3导入caffe时的
_validate_lengths导入错误 你遇到的这个问题其实是numpy与scikit-image(skimage)版本不兼容导致的,这也是Ubuntu 18.04通过apt安装caffe-cpu后很常见的依赖冲突问题。
问题根源
_validate_lengths是旧版numpy里的内部函数,在较新的numpy版本中已经被移除或重构,但你当前安装的skimage版本还在依赖这个函数,所以才会触发导入错误。
具体解决步骤
- 先检查当前依赖版本
打开终端,执行以下命令查看numpy和skimage的版本:
pip3 show numpy scikit-image
你大概率会看到numpy版本高于1.17.x(这个版本之后_validate_lengths就被移除了)。
- 降级numpy到兼容版本
我们把numpy降级到1.16.x系列,这个版本保留了_validate_lengths函数,同时能和apt安装的caffe-cpu完美适配:
pip3 install numpy==1.16.6
- 验证修复效果
打开Python3交互终端,测试导入:
import caffe
如果没有报错,说明问题已经解决。
额外注意事项
- 别执行
pip3 install --upgrade numpy,升级会再次移除这个函数,导致问题复发。 - 如果降级后还有其他依赖报错,可以重新安装caffe目录下的依赖包(强制覆盖为兼容版本):
cd /usr/lib/python3/dist-packages/caffe pip3 install -r requirements.txt --force-reinstall
内容的提问来源于stack exchange,提问作者Faiz K
相关产品推荐
相关产品推荐

