zoukankan      html  css  js  c++  java
  • Ubuntu16.04从源码安装detectron2

    Ubuntu16.04从源码安装detectron2

    准备工作

    首先确保pytorch的cuda版本和系统的一致。

    首先查看pytorch对应的cuda版本,通过conda list命令可以查看,我这边装的是1.5,对应的是cuda-10.1

    pytorch 1.5.0 py3.7_cuda10.1.243_cudnn7.6.3_0    pytorch
    

    再查看系统的cuda版本,即/usr/local/路径下cuda文件夹对应的cuda版本,我这边是下面这样

    cuda-10.0
    cuda-9.0
    cuda-8.0
    cuda #软连接,指向cuda-10.0
    

    系统没有cuda-10.1,可以从官网下载或者从其他电脑拷贝一份放在这里,然后将软连接指向cuda-10.1,命令如下

    cd /usr/local/
    rm -rf cuda
    ln -s /usr/local/cuda-10.1 cuda
    

    安装

    然后按照官网给的命令,从源码安装即可。
    命令如下:

    git clone https://github.com/facebookresearch/detectron2.git
    cd detectron2
    python setup.py build develop
    

    安装完之后,通过命令

    ldd build/lib.linux-x86_64-3.7/detectron2/_C.cpython-37m-x86_64-linu
    x-gnu.so
    

    结果显示如下:

            linux-vdso.so.1 =>  (0x00007ffe967f8000)
            libc10.so => not found
            libtorch.so => not found
            libtorch_cpu.so => not found
            libtorch_python.so => not found
            libcudart.so.10.1 => /opt/anaconda3/envs/pytorch-1.5/lib/libcudart.so.10.1 (0x00007fa99a4ce000)
            libc10_cuda.so => not found
            libtorch_cuda.so => not found
            libstdc++.so.6 => /opt/anaconda3/envs/pytorch-1.5/lib/libstdc++.so.6 (0x00007fa99a35a000)
            libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fa99a051000)
            libgcc_s.so.1 => /opt/anaconda3/envs/pytorch-1.5/lib/libgcc_s.so.1 (0x00007fa99a827000)
            libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fa999e34000)
            libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fa999a6a000)
            /lib64/ld-linux-x86-64.so.2 (0x00007fa99a74d000)
            libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fa999866000)
            librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fa99965e000)
    

    如果出现错误

    input, roi, spatial_scale, output_size[0], output_size[1], sampling_ratio, aligned
    RuntimeError: CUDA error: invalid device function
    Segmentation fault (core dumped)
    

    可能是系统的cuda版本和pytorch的不一致,我系统cuda软连接指向cuda-10.0时会报这个错误。

    参考

  • 相关阅读:
    分别针对Customers表与Order表的通用查询操作
    类的继承
    kubernetes service 原理解析
    k8s生命周期-钩子函数
    深入理解Pod-初始化容器
    为 Pod 或容器配置安全性上下文
    Docker四种网络模式
    python中__new__方法详解及使用
    浅析python析构函数
    k8s中的网络
  • 原文地址:https://www.cnblogs.com/VVingerfly/p/14353369.html
Copyright © 2011-2022 走看看