一,前言

1.1,更新 pip 和 conda下载源

在下载安装好 python3+pipanconda3 的基础上,建议更新为清华/阿里镜像源(默认的 pipconda下载源速度很慢)。

1,pip 更新下载源为清华源的命令如下:

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

2,conda 更新源的方法

各系统都可以通过修改用户目录下的 .condarc 文件。Windows 用户无法直接创建名为 .condarc 的文件,可先执行 conda config --set show_channel_urls yes 生成该文件之后再修改.condarc 文件内容如下:

channels:
- defaults
show_channel_urls: true
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

1.2,查看 conda 和 pip 版本

root# conda --version
conda 22.9.0
root# pip --version
pip 20.2.4 from /opt/miniconda3/lib/python3.8/site-packages/pip (python 3.8)

二,MMDetection 简介

MMDetection 是一个基于 PyTorch 的目标检测开源工具箱。它是 OpenMMLab 项目的一部分。主分支代码目前支持 PyTorch 1.5 以上的版本。主要特性为:

  • 模块化设计
  • 丰富的即插即用的算法和模型
  • 速度快
  • 性能高

更多详情请参考 MMDetection 仓库 README

三,MMDetection 安装

3.1,依赖环境

  • 系统:首选 Linux,其次 macOSWindows(理论上支持,实际安装需要踩很多坑)
  • Python 3.6+
  • 首选 CUDA 11.3+、其次推荐 CUDA 9.2+
  • 首选 Pytorch 1.9+,其次推荐 PyTorch 1.3+
  • GCC 5+
  • MMCV

3.2,安装过程记录

1,安装操作系统+cuda

我是在 docker 容器中安装和进行深度学习算法开发的,其操作系统、cudagcc 环境如下:

2,安装 Anconda3

官网下载 Anconda3 linux 安装脚本,并安装 Anconda3(很好装一路 yes 即可),并使用 conda 新建虚拟环境,并激活虚拟环境进入。

conda create -n mmlab python=3.8 -y # 创建 mmlab 的虚拟环境,其中python解释器版本为3.8(python3.9版本不行, 没有pytorch_cuda11.0版本)
conda activate mmlab # 激活虚拟环境进入

虚拟环境安装成功后的部分过程截图如下所示:

如果你激活虚拟环境出现如下所示错误。

CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.
To initialize your shell, run $ conda init <SHELL_NAME> Currently supported shells are:
- bash
- fish
- tcsh
- xonsh
- zsh
- powershell See 'conda init --help' for more information and options. IMPORTANT: You may need to close and restart your shell after running 'conda init'.

可通过以下命令重新激活 conda 环境,即可解决问题,方法参考自 stack overflow 问题

source ~/anaconda3/etc/profile.d/conda.sh # anaconda3 的安装路径有可能不一样,自行修改
conda activate mmlab

3,安装 pytorch-gpu

首选安装 pytorch-gpu 版本,如果是在线安装命令如下

conda install pytorch=1.7.1 cudatoolkit=11.0 torchvision=0.8.2 -c pytorch

官网命令的 cuda11.0 的 torchaudio==0.7.2 版本不存在,故去除。

安装过程信息(记得检查 pytorch 版本是 cuda11.0 的)截图如下:

安装成功后,进入 python 解释器环境,运行以下命令,判断 pytorch-gpu 版本是否安装成功。

>>> import torch
>>> torch.cuda.is_available()
True
>>> torch.cuda.device_count()
2
>>>

同时可通过以下命令查看 CUDAPyTorch 的版本

python -c 'import torch;print(torch.__version__);print(torch.version.cuda)'

总的来说,pytorch 等各种 python 包有离线和在线两种方式安装:

  • 在线conda/pip 方法安装,详细命令参考 pytorch 官网,但是这种方式实际测试下来可能会有问题,需要自己肉眼检查安装的版本是否匹配。
  • 离线:浏览器下载安装包,然后通过 pip 或者 conda 方式离线安装。
    • pip 可通过此链接 浏览器下载各种 pytorch 版本的二进制安装包,到本地安装pip install *.whl)。
    • conda 通过清华源链接,浏览器下载对应版本压缩包,然后 conda install --offline pytorch压缩包的全称(后缀都不能忘记)

不通过浏览器下载 whl 包,而是 pip install https://download.pytorch.org/whl/cu110/torch-1.7.1%2Bcu110-cp39-cp39-linux_x86_64.whl 方式可能会有很多问题,比如网络问题可能会导致安装失败。

WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f74f60d6760>: Failed to establish a new connection: Errno 101 Network is unreachable')': /whl/cu110/torch-1.7.1%2Bcu110-cp39-cp39-linux_x86_64.whl

或者下载到一半的网络连接时常超过限制。

pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='download.pytorch.org', port=443): Read timed out.

4,安装 mmdetection

不建议安装 cpu 版本,因为很多算子不可用,其次截止到2022-11-3日,macos 系统 cpu 环境的 mmdet.apis 是不可用的。

建议使用 MIM 来自动安装 MMDetection 及其相关依赖包-mmcv-full

pip install openmim # 或者 pip install -U openmim
mim install mmdet

参考资料

ubuntu16.04安装mmdetection库的更多相关文章

  1. ubuntu16.04安装libzip库

    sudo apt install libzip-dev

  2. Ubuntu16.04安装pcl库

    sudo apt-get install libpcl-dev sudo apt-get install pcl-tools

  3. ubuntu16.04安装python3,numpy,pandas等量化计算库

    ubunt安装python3 sudo add-apt-repository ppa:fkrull/deadsnakessudo apt-get updatesudo apt-get install ...

  4. Ubuntu16.04安装opencv for python/c++

    Ubuntu16.04安装opencv for python/c++ 网上关于opencv的安装已经有了不少资料,但是没有一篇资料能让我一次性安装成功,因此花费了大量时间去解决各种意外,希望这篇能给一 ...

  5. ubuntu16.04安装不上有道词典的解决办法

    转自:http://www.linuxdiyf.com/linux/21143.html ubuntu16.04安装不上有道词典,提示: le@hu-pc:~/下载$ sudo dpkg -i you ...

  6. Ubuntu16.04安装cuda9.0+cudnn7.0

    Ubuntu16.04安装cuda9.0+cudnn7.0 这篇记录拖了好久,估计是去年6月份就已经安装过几遍,然后一方面因为俺比较懒,一方面后面没有经常在自己电脑上跑算法,比较少装cuda和cudn ...

  7. 阿里云学生服务器搭建网站-Ubuntu16.04安装php开发环境

    阿里云学生服务器搭建网站(2)-Ubuntu16.04安装php开发环境  优秀博文:https://www.linuxidc.com/Linux/2016-10/136327.htm https:/ ...

  8. ubuntu16.04安装nvidia ,cuda(待完善)

    ubuntu16.04安装nvidia 1.首先查看自己的pc显卡的型号 ubuntu16.04 查看方法: 查看GPU型号 :lspci | grep -i nvidia 查看NVIDIA驱动版本: ...

  9. Ubuntu16.04安装tensorflow+安装opencv+安装openslide+安装搜狗输入法

    Ubuntu16.04在cuda以及cudnn安装好之后,安装tensorflow,tensorflow以及opencv可以到网上下载对应的安装包并且直接在安装包所在的路径下直接通过pip与conda ...

  10. Ubuntu16.04 安装和卸载MySQL数据库

    Ubuntu16.04 安装和卸载MySQL数据库 1 安装 安装非常简单,只需要三个命令 1.1 安装服务端 sudo apt-get install mysql-server 在这一步过程中会有提 ...

随机推荐

  1. IP一致性论文

    IP一致性:指的是给定输入的图像,要求保持图像中的ID不变,IP可能是Identity Property,要求能够识别出是同一个身份. 目前通过IP的一致性技术,可以用于短视频短剧上,是一个新兴的市场 ...

  2. 软件开发工程师,几款常用的APP,你用过几款?最后一个测试网络必备

    作为一名程序员,手机里一定有几个常用的app,下面给大家推荐几款. 1. CSDN 国内最大编程论坛:虽然有多少人吐槽现在使用csdn就像屎里淘金, 但是不得不承认他仍然是大家搜索技术资料.问题的首选 ...

  3. CentOS 进入救援模式

    因某些修改操作,导致系统重启后无法正常启动,此时需要进入救援模式,修复错误配置即可. 1.重启系统后,进入grup引导页面,选中第一项然后按"e" 进入编辑模式: 2.通过↓键找到 ...

  4. Go 互斥锁 Mutex 源码分析(二)

    原创文章,欢迎转载,转载请注明出处,谢谢. 0. 前言 在 Go 互斥锁 Mutex 源码分析(一) 一文中分析了互斥锁的结构和基本的抢占互斥锁的场景.在学习锁的过程中,看的不少文章是基于锁的状态解释 ...

  5. express请求数据的获取(get和post)body-parser

    get请求 直接用res.query就可以拿到数据 post请求 需要使用中间件body-parser 第一步:安装body-parser npm i body-parser 第二步:按照模板进行使用 ...

  6. 【Python】之操作鼠标键盘,上传文件,并支持中文

    Mac系统实现操作键盘 Python中模拟键盘和鼠标最著名的模块是:pymouse和pykeyboard.一次安装两个模块比较麻烦,而有一个库整合了这两个模块,而且能支持跨平台操作,这个库叫PyUse ...

  7. 一场 Kafka CRC 异常引发的血案

    一.问题概述 客户的生产环境突然在近期间歇式的收到了Kafka CRC的相关异常,异常内容如下 Record batch for partition skywalking-traces-0 at of ...

  8. 淘宝打单发货接口,淘宝打单发货API

    许多做系统功能的小伙伴经常面对的一个功能是对接淘宝开放平台,在自己系统中进行打单发货. 但是,目前淘宝开放平台,已经关闭了相关的相关的权限申请,具体可查看相关公告.有需要这个权限的,可以站内信联系我, ...

  9. 生产级Redis 高并发分布式锁实战1:高并发分布式锁如何实现

    高并发场景:秒杀商品. 秒杀一般出现在商城的促销活动中,指定了一定数量(比如:1000个)的商品(比如:手机),以极低的价格(比如:0.1元),让大量用户参与活动,但只有极少数用户能够购买成功. 示例 ...

  10. R-Adapter:零样本模型微调新突破,提升鲁棒性与泛化能力 | ECCV 2024

    大规模图像-文本预训练模型实现了零样本分类,并在不同数据分布下提供了一致的准确性.然而,这些模型在下游任务中通常需要微调优化,这会降低对于超出分布范围的数据的泛化能力,并需要大量的计算资源.论文提出新 ...