• 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时会报这个错误。

    参考

  • 相关阅读:
    对pg_latch.c 的来源探索
    对PostgreSQL的执行计划的初步学习
    21个css和Ajax表格
    23种设计模式有趣诠释
    Spket IDE, Ext开发人员的紫色匕首~
    Sql Server 2008 Reporting Services系列(一)
    C#积累(二)——ASP.NET的Session会加锁
    在TSQL语句中访问远程数据库(openrowset/opendatasource/openquery)
    ASP.NET视图的保存与加载解析(一)——视图的保存
    C#积累(一)——扩展方法就近原则和匿名类型的成员探讨
  • 原文地址:https://www.cnblogs.com/VVingerfly/p/14353369.html
Copyright © 2020-2023  润新知