conda并且从源码安装caffe2,Detectron

本文档记录了一位开发者在conda环境下从源码安装caffe2及Detectron的过程,包括安装anaconda、cuda、cudnn、gcc、nccl、opencv、cmake等依赖,解决Segmentation fault问题,以及遇到的各种安装问题和解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

碎碎念.......

哇!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!我终于安装成功了caffe2.

Segmentation fault (core dumped)这个问题了,翻遍全网啊什么bing\google\github.都没用啊.还有我出现的奇奇怪怪的问题,几乎都是靠我自己解决了.我真是个厉害\坚持\漂亮\顽强\善良....集所有优点于一身的的女人!!!!!!!!!

(昨晚调到两点,躺床上大脑浑浊,突然想到一个可能的方法,就睡不着,干脆爬起来试一试.....额...尝试到两点五十,没用,哈哈哈哈.真是笑死我了.跟自己说早上最多一上午解决,不行就直接删了重建一次一次环境.今早我就不信邪(主要是我什么用pytorch的build\setup和caffe2的build\setup以及各种野方法试了不下十遍了,也重建了好几个虚拟环境,最好的结果也就是1)import caffe2可以 import caffe2.python可以 from caffe2.python import core 就是 分段故障(核心转储)

2)import caffe2可以 import caffe2.python分段故障(核心转储),

刚刚我又灵光一现(其实一大早就现了),但我总想着网上或者作者的解决办法,就放后了,真真是都不行了,我试了试我的灵光.

哈哈哈哈.果然还是个优秀的女人.)

Table of Contents

一 安装caffe2

官网方法安装:地址

1. anaconda,cuda,cudnn

2. gcc 版本

3.安装对应系统的nccl

4.opencv

5.cmake版本最低要求 3.2

6. Install Dependencies

7.Note libgflags2 is for Ubuntu 14.04. libgflags-dev is for Ubuntu 16.04.

8.Clone & Build

9.测试

10.记录下之前没gcc opencv nccl时候出现的


一 安装caffe2

因为我搜了太多资料,所以记录下tips,或许你们可以去试试第二部分的内容,但我凭着一股倔劲,用这个方法安好了.想安装caffe2,有三种方法,要安装detectron的话一般是:

1)  这个方法,这是个轻量级的script,大概是说这个安装比较安全的,比较好,但好像也会出错吧,我试了一遍,出错我没改,但有人提出的解决办法是添加 -DUSE_OPENCV=OFF -DCUDA_HOME=/usr/local/cuda在下面命令下.具体参考其他人吧.

./scripts/build_anaconda.sh --install-locally --cuda 8.0 --cudnn 7

2)  caffe2. 这个需要先build一下,但我没成功.这种下载完你会发现caffe2下只有三个.txt文件;因为隐藏了.ctrl+h可以显示.

3)  pytorch.

这个有教程是建立build 再cmake 巴拉巴拉的;;还有python setup.py install 添加各种flags的,巴拉巴拉.

这里只记录我成功的,还有一些问题.要没问题直接走

官网方法安装:地址

1. anaconda,cuda,cudnn

2. gcc 版本

综合参考:1   2  3

caffe2的cuda8预编译是gcc4.9以上的. gcc4.9以下的只有cuda9和cpu版本,而ubuntu14的gcc为4.8.对于gcc4.8和cuda8的caffe2没有预编译.先升级gcc.

1)安装

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
#如果是从来没有安装出错,则需要安装必要的依赖。
sudo apt-get install software-properties-common
sudo apt-get upgrade
sudo apt-get install gcc-4.9 g++-4.9

#还有个一步到位的,可尝试
sudo apt-get update && \
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y && \
sudo apt-get update && \
sudo apt-get install software-properties-common -y && \
sudo apt-get upgrade && \
sudo apt-get install gcc-4.9 g++-4.9 -y

2) 安装完成之后,可以查看一下此时的版本号。

gcc -v  
Thread model: posix
gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3)

3)优先级.(可以改环境变量,没这个方便)

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.9 gcc-4.9优先60
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8   gcc-4.8优先50

4) 切换

查看被update-alternatives管理的gcc不同版本,
sudo update-alternatives --query gcc
使用如下命令选择gcc版本:
sudo update-alternatives --config gcc

会打印出如下提示:

有 2 个候选项可用于替换 gcc (提供 /usr/bin/gcc)。
  选择       路径            优先级  状态
------------------------------------------------------------
* 0            /usr/bin/gcc-4.9   60        自动模式
  1            /usr/bin/gcc-4.8   50        手动模式
  2            /usr/bin/gcc-4.9   60        手动模式
要维持当前值[*]请按回车键,或者键入选择的编号:

你还可以用

#方法2:命令行设置cmake参数
cmake -D CMAKE_C_COMPILER=/usr/local/bin/gcc-4.9 -D CMAKE_CXX_COMPILER=/usr/local/bin/g++-4.9 ..
#方法3:在CMakeList中设置变量
set(CMAKE_C_COMPILER "/usr/local/bin/gcc-4.9")
set(CMAKE_CXX_COMPILER "/usr/local/bin/g++-4.9")

备注:gcc6:

sudo apt-get update && \
sudo apt-get install build-essential software-properties-common -y && \
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y && \
sudo apt-get update && \
sudo apt-get install gcc-snapshot -y && \
sudo apt-get update && \
sudo apt-get install gcc-6 g++-6 -y && \
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 60 --slave /usr/bin/g++ g++ /usr/bin/g++-6 && \
sudo apt-get install gcc-4.8 g++-4.8 -y && \
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8;

3.安装对应系统的nccl

(不想安装的话,执行命令添加-DUSE_NCCL=ON,建议安装,不安装的话后来多GPU训练可能会有问题,就是安装带nccl的caffe2)

(参考http://blog.fangchengjin.cn/ubuntu-nccl2.html  https://blog.youkuaiyun.com/zuyuhuo6777/article/details/81450258
1) 确保您的环境符合以下要求:
    glibc 2.19或更高   .
    CUDA 8.0或更高版本
    NCCL支持所有具有3.0或更高计算能力的CUDA设备。查看所有NVIDIA GPU的计算能力?查看另一篇博文

2)安装NCCL
为了下载NCCL,请确保您已注册NVIDIA开发者账号。   

    打开NVIDIA NCCL主页。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值