linux上在docker中使用anaconda创建虚拟环境

这篇具有很好参考价值的文章主要介绍了linux上在docker中使用anaconda创建虚拟环境。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

conda的一些命令以及创建环境的基本命令可参考:Conda环境搭建以及激活
以及 conda 本地环境常用操作

  • 前言
    这里是梳理linux上在docker中使用conda,以配置MLD-TResNet-L-AAM模型为例。论文笔记参考:多标签分类论文笔记 | Combining Metric Learning and Attention Heads…MLD-TResNet-L-AAM/GAT+AAM)

一、conda配置

1. 安装anaconda

wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2021.11-Linux-x86_64.sh 
或
curl -O  https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2021.11-Linux-x86_64.sh
bash Anaconda3-2021.11-Linux-x86_64.sh
  • 配置环境
export PATH="/root/anaconda3/bin:$PATH"

或者写入系统命令中,开启即可启动
输入gedit ~/.bashrc命令打开文件,在文件结尾输入以下语句,保存。

export PATH="/root/anaconda3/bin:$PATH"

然后:

source ~/.bashrc

2. 升级conda(可选)

conda update conda

3. 安装cuda(在宿主机上安装)

apt-get update
apt-get install gcc g++
sh cuda_10.2.89_440.33.01_linux.run
  • 配置环境

输入gedit ~/.bashrc命令打开文件,在文件结尾输入以下语句,保存。

export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

然后:

source ~/.bashrc
  • 验证安装的cuda
nvcc -V
  • 安装cudnn
tar zxvf cudnn-10.2-linux-x64-v7.6.5.32.tgz
chmod 666 /usr/local/cuda/include
cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda/include 
cp cudnn-*-archive/lib/libcudnn* /usr/local/cuda/lib64 
chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
  • 旧版验证(这里是旧版)
cat /usr/local/cuda/include/cudnn.h  | grep CUDNN_MAJOR -A 2
  • 新版验证
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

4. 在conda中切换cuda的版本

conda search cudatoolkit --info
conda install cudatoolkit==XXXXX

5. 在conda中切换python版本

conda search --full --name python
conda install python=3.8.18

6. 收集运行环境

pip freeze > requirements.txt

7. 回退conda里面包的版本

conda list --revision

查看历史版本,然后运行接数字就好了,比如:

conda install --rev 1

二、以下是配置MLD-TResNet-L-AAM论文代码

1. 创建conda环境(以下均在conda中进行)

conda create --name torchreid python=3.7
  • 进入conda
conda activate torchreid

或者

source activate torchreid

2. 拉取代码

  • 拉取
git clone https://github.com/openvinotoolkit/deep-object-reid.git
  • 切换分支
git checkout multilabel

3. 安装环境

  • 安装cudatoolkit(一定要先安装cuda)
conda install cudatoolkit=10.2
  • 安装cudnn(这里直接安装即可,会安装配套cuda的cudnn)
conda install cudnn
  • 配置环境
pip install -r requirements.txt
  • 遇到问题1
Collecting inplace_abn
  Using cached inplace-abn-1.1.0.tar.gz (137 kB)
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [6 lines of output]
      Traceback (most recent call last):
        File "<string>", line 36, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/tmp/pip-install-div2jd3n/inplace-abn_810be5ed00194c44a5bcc754bf5501e0/setup.py", line 4, in <module>
          import torch
      ModuleNotFoundError: No module named 'torch'
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
  • 解决方案
pip install --upgrade setuptools
python -m pip install --upgrade pip
  • 遇到问题2
ImportError: libGL.so.1: cannot open shared object file: No such file or directory
  • 解决方案
apt install libgl1-mesa-glx

4. 训练命令

python tools/main.py --config-file configs/EfficientNetV2_small_gcn.yml --gpu-num 1 custom_datasets.roots "['datasets/COCO/train.json', 'datasets/COCO/val.json']" data.save_dir ./out/
  • 遇到问题3

网络问题,两个文件无法下载,分别是model.safetensors和pytorch_model.bin。(需要科学上网)

  • 解决方案

在本地下好:

https://huggingface.co/timm/tf_efficientnetv2_s.in21k/resolve/main/model.safetensors
https://cdn-lfs.huggingface.co/repos/1a/54/1a5499191575630110693f1105f43e325ae7f696b9f8d34db19ab1309ce0aa15/09dc7ef3e90ec4570d22ae1af1c12cbc1aff590b2c68dec1cbd781340e5a8ccc?response-content-disposition=attachment%3B+filename*%3DUTF-8%27%27pytorch_model.bin%3B+filename%3D%22pytorch_model.bin%22%3B&response-content-type=application%2Foctet-stream&Expires=1697800394&Policy=eyJTdGF0ZW1lbnQiOlt7IkNvbmRpdGlvbiI6eyJEYXRlTGVzc1RoYW4iOnsiQVdTOkVwb2NoVGltZSI6MTY5NzgwMDM5NH19LCJSZXNvdXJjZSI6Imh0dHBzOi8vY2RuLWxmcy5odWdnaW5nZmFjZS5jby9yZXBvcy8xYS81NC8xYTU0OTkxOTE1NzU2MzAxMTA2OTNmMTEwNWY0M2UzMjVhZTdmNjk2YjlmOGQzNGRiMTlhYjEzMDljZTBhYTE1LzA5ZGM3ZWYzZTkwZWM0NTcwZDIyYWUxYWYxYzEyY2JjMWFmZjU5MGIyYzY4ZGVjMWNiZDc4MTM0MGU1YThjY2M%7EcmVzcG9uc2UtY29udGVudC1kaXNwb3NpdGlvbj0qJnJlc3BvbnNlLWNvbnRlbnQtdHlwZT0qIn1dfQ__&Signature=rdjIofPONLg5roVfXki%7EycLUzpfL0VQWI4RaT6-1mTyh5gJoXxHZna1Z97YbSuU9t-KFi2Q5iGguyjKsHhZzSlRv-zVd0lPhPGmuMGcE7npRrZnPNFB2V5XFYtho8fWzKVwreGujYmaFE7Ge-zkTivnO7YkqmNs%7EeH69FRmbp5xAqW0LbsEspr0aOkaxqCCVoFXgPyJBra4dVaITeremwJSD0OcW2F2zNCdbo0nGcCDzrYsRijiUIAXweXpESL10uLt776efgzGhrDtuKKdVD68Q-3voq5PdTWTQaVP2VCDjkb66QECoAoUDtRjGJtK41zNfBs-1N6RGMDUWMNRM4A__&Key-Pair-Id=KVTP0A1DKRTAX

然后放在/root/.cache/huggingface/hub/models--timm--tf_efficientnetv2_s.in21k下。

  • 遇到问题4
Couldn't apply path mapping to the remote file.
  • 解决方案
    我碰到是因为远程没同步,等待一会儿就好了。

(其中还有网络不佳的问题, 我手动下载,强行改了路径,先跑着)
基于linux的 conda环境创建一个docker,工程技术,深度学习,linux,docker,跑论文代码,多标签分类,conda

基于linux的 conda环境创建一个docker,工程技术,深度学习,linux,docker,跑论文代码,多标签分类,conda

  • 遇到问题5
AttributeError: module 'torch' has no attribute 'frombuffer'
  • 解决方案
    发现readme中写pytorch版本要1.8.2而根据requiremets.txt装的是1.8.1的,坑得很!但是没找到,但发现没装cudatoolkit,现在进行安装。未果。还是先装1.8.2看看,参考:
    https://pytorch.org/get-started/previous-versions/
pip3 install torch==1.8.2 torchvision==0.9.2 torchaudio==0.8.2 --extra-index-url https://download.pytorch.org/whl/lts/1.8/cu102

没用,要装torch2.0

conda install pytorch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 pytorch-cuda=11.8 -c pytorch -c nvidia

然后docker中的cuda也要换成11.8,cudnn要换成相应的;conda中的cudatoolkit也要换成11.8

然后还要修改:

vim /path/to/deep-object-reid-multilabel/torchreid/models/gcn.py基于linux的 conda环境创建一个docker,工程技术,深度学习,linux,docker,跑论文代码,多标签分类,conda
vim /root/anaconda3/envs/torchreid/lib/python3.8/site-packages/randaugment/randaugment.py
基于linux的 conda环境创建一个docker,工程技术,深度学习,linux,docker,跑论文代码,多标签分类,conda

  • 遇到问题6

pth要下载,网络不佳报错了。(需要科学上网)

  • 解决方案:

手动下载:https://drive.google.com/uc?export=download&id=1N0t0eShJS3L1cDiY8HTweKfPKJ55h141
然后放入并改名:/root/.cache/torch/checkpoints/uc?export=download&id=1N0t0eShJS3L1cDiY8HTweKfPKJ55h141.pth

  • 遇到问题7
RuntimeError: DataLoader worker (pid 3273) is killed by signal: Bus error. It is possible that dataloader's workers are out of shared memory. Please try to raise your shared memory limit.
  • 解决方案

shared memory不够,把环境打包,重启docker,设置shm=2G

  • 遇到问题6

然后报cuda内存不够

  • 解决方案:

调整batch size:

vim configs/EfficientNetV2_small_gcn.yml

基于linux的 conda环境创建一个docker,工程技术,深度学习,linux,docker,跑论文代码,多标签分类,conda
终于跑起来了,脑壳嗡嗡的基于linux的 conda环境创建一个docker,工程技术,深度学习,linux,docker,跑论文代码,多标签分类,conda

注意

我这边跑的是COCO数据集,要把coco2014的训练和验证数据集里的图片,放到项目目录/datasets/COCO/images中

然后还有配置文件configs/EfficientNetV2_small_gcn.yml的voc都改成coco,注意对应的大小写。

基于linux的 conda环境创建一个docker,工程技术,深度学习,linux,docker,跑论文代码,多标签分类,conda
基于linux的 conda环境创建一个docker,工程技术,深度学习,linux,docker,跑论文代码,多标签分类,conda文章来源地址https://www.toymoban.com/news/detail-769170.html

到了这里,关于linux上在docker中使用anaconda创建虚拟环境的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用Anaconda3创建pytorch虚拟环境

    1.conda安装Pytorch环境  打开Anaconda Prompt,输入命令行:  ​ 输入y,再回车。 稍等,便完成了Pytorch的环境安装。我们可以利用以下命令激活pytorch环境。 ​ 当前面出现(pytorch)前缀时,代表已经进入pytorch环境。 可以通过以下命令来查看已建的环境 ​         其中base为Ana

    2024年02月15日
    浏览(52)
  • 【Python】使用Anaconda创建PyTorch深度学习虚拟环境

    使用Anaconda Prompt 查看环境: 创建虚拟环境(python3.10): 激活创建的环境: 在虚拟环境内安装PyTorch: 【Python】CUDA11.7/11.8安装PyTorch三件套_cuda 11.6对应pytorch-CSDN博客 文章浏览阅读3.3w次,点赞29次,收藏169次。安装PyTorch_cuda 11.6对应pytorch https://blog.csdn.net/ericdiii/article/details/125

    2024年01月22日
    浏览(63)
  • Anaconda创建与使用Python版本虚拟环境(windows)

    我司工作软件scons和python2.7版本匹配,脚本开发环境是python3较合适。由于两个环境不兼容,刚开始我装2个环境切换,后使用Anaconda的虚拟环境。 一、简述:Anaconda基于conda包+环境管理器+开源库,便捷获取并管理库,特点:开源免费、安装简单、高性能使用python。 conda:核心功

    2024年02月10日
    浏览(60)
  • 使用Anaconda创建虚拟环境并添加到Jupyter notebook内核

    1.修改虚拟环境的存放位置(可选) Windows :打开文件 C:UsersDongZhaoCheng(对应到你本人的用户名).condarc ,添加 envs_dirs: [D:\\003SoftDevToolanaconda_env](对应到你自己执行的目录) ,保存退出 2.进入系统终端创建虚拟环境 Windows: conda env list :查看当前拥有的conda环境列表 conda create

    2024年02月15日
    浏览(66)
  • 使用Anaconda创建Python虚拟环境并在Pycharm项目中调用该环境

    1.使用cmd创建虚拟环境 在cmd中输入命令: 其中:your_env_name为要创建的虚拟环境名,python=3.7为指定python版本为3.7,不加则默认为 Anaconda 的 python 版本 输入命令后,需要输入一个y并回车。输入完成后,一个python虚拟环境就创建好了。 2. 查看虚拟环境 有时候我们需要查看我们的

    2024年02月05日
    浏览(60)
  • anaconda 创建虚拟环境、激活,使用的基本方法及安装包的基本方法

    第一步 打开Anaconda Prompt 可以看到这里是base环境。 第二步 我们现在要创建一个新的虚拟环境,名叫test,且python版本为3.8 在安装过程中会出现下面这个选项,输入y就好了 创建成功如下图所示!hiahia! 我们已经学会如何创建新的环境了!没错!我们非常棒!下面我们就看看,

    2024年03月14日
    浏览(71)
  • anaconda创建、删除虚拟环境指令

    Anaconda是一个Python发行版,有了它就可以新建不同的虚拟环境,比如一个环境需要Python3.7,一个环境需要python3.8,就可以通过: 达到多环境管理的目的     例如: 注意啊,如果cmd直接输入这条命令conda activate py37是进入不了的,因为你要先进入base环境。也就是先activate一下,再

    2024年01月23日
    浏览(53)
  • 创建Anaconda虚拟Python环境的方法

      本文介绍在 Anaconda 环境下,创建、使用与删除 Python 虚拟环境的方法。   在 Python 的使用过程中,我们常常由于不同 Python 版本以及不同 第三方库 版本的支持情况与相互之间的冲突情况,而需要创建不同的 Python 虚拟环境;在 Anaconda 的帮助下,这一步骤就变得十分方便

    2024年02月09日
    浏览(50)
  • anaconda创建一个新的虚拟环境

    1、打开anaconda prompt 2、输入命令创建新的环境: python版本可以自行更改 记得写y进行下一步 3、激活环境: 4、退出环境: 5、再次输入conda env list命令就可以检查虚拟环境是否创建成功。 到此这篇关于anaconda创建一个新的虚拟环境的详细操作指南的文章就介绍到这了,希望各

    2024年02月13日
    浏览(43)
  • Anaconda创建虚拟环境,并在Pycharm中应用

    一、Anaconda创建虚拟环境 1、Anaconda安装可参考Windows10 安装Anaconda_dede_de_的博客-CSDN博客 2、虚拟环境的创建 ●双击打开Anaconda Prompt ●输入命令\\\"   conda create -n 环境名 python==版本号   \\\" 进行创建  (例如我创建一个名为zzw的虚拟环境且python版本为3.7) 注意: 有时上述命令创建

    2024年02月04日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包