码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • PyTorch - 高效快速配置 Conda + PyTorch 环境 (解决 segment fault )


    欢迎关注我的CSDN:https://spike.blog.csdn.net/
    本文地址:https://spike.blog.csdn.net/article/details/134463035

    PyTorch

    在配置算法项目时,因网络下载速度的原因,导致默认的 conda 与 pytorch 包安装缓慢,需要配置新的 conda 与 pip 源,以及下载安装 pytorch 环境。

    1. 配置 conda 与 pip 源

    配置 conda 清华源,vim ~/.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
      simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
    channel_priority: disabled
    allow_conda_downgrades: true
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    配置 pip 阿里云源,先删除其他 pip 配置,再配置新的 pip 源,即:

    rm /opt/conda/pip.conf
    rm /root/.config/pip/pip.conf
    vim ~/.pip/pip.conf
    
    • 1
    • 2
    • 3

    配置 pip 源包括 阿里云(aliyun) 与 Nvidia,如下:

    [global]
    no-cache-dir = true
    index-url = http://mirrors.aliyun.com/pypi/simple/
    extra-index-url = https://pypi.ngc.nvidia.com
    trusted-host = mirrors.aliyun.com pypi.ngc.nvidia.com
    
    • 1
    • 2
    • 3
    • 4
    • 5

    2. PyTorch

    安装 conda 环境,初始化 conda和更新 conda,再创建特定的 conda 环境,即:

    conda init bash
    source ~/.bashrc
    conda update -n base -c conda-forge conda
    conda env list
    conda create -y -n [your name] python=3.9
    
    • 1
    • 2
    • 3
    • 4
    • 5

    需要注意,尽量指定 python 版本。

    PyTorch 安装官网:https://pytorch.org/get-started/locally/,之前版本的路径:https://pytorch.org/get-started/previous-versions/

    主要包括 2 个版本:最新的 2.+,之前的1.31+版本。根据网络条件,选择不同的安装方式,需要注意的是:

    • conda 安装,需要 nvidia 源,目前没有比较快速的 nvidia 源,
      • 可选:nvidia: https://mirrors.sustech.edu.cn/anaconda-extra/cloud/nvidia/,测试速度一般
      • 参考:GitHub - 重新考虑增加 anaconda 的 nvidia channel
    • pip 安装,来源于 https://download.pytorch.org/whl/
      • 下载速度因网络而异,忽快忽慢,经常中断。
      • 建议直接下载之后安装。

    可以根据具体的安装命令选择下载的包,例如:

    pip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu117
    
    • 1

    需要注意:

    1. 选择正确的 cuda 版本,如 cu117。
    2. 选择正确的 python 版本,这个与创建 conda 环境相关,也可以进入 python 命令查看。
    3. 选择正确的环境,例如 linux_x86_64,是一般服务器的环境。

    例如下载地址 https://download.pytorch.org/whl/,则需要下载的包:

    pip install torch-1.13.1+cu117-cp39-cp39-linux_x86_64.whl
    pip install torchvision-0.14.1+cu117-cp39-cp39-linux_x86_64.whl
    pip install torchaudio-0.13.1+cu117-cp39-cp39-linux_x86_64.whl
    
    • 1
    • 2
    • 3

    可以上传至百度网盘,使用 bypy 包下载到服务器,使用 pip 进行安装,注意安装顺序是torch、torchvision、torchaudio,其他包默认安装,即可。

    Baidu

    需要注意的是,如果遇到 segment fault ,参考 蛋白质结构预测 ESMFold 算法的工程配置:

    import torch
    segment fault(core dumped) # 报错
    
    • 1
    • 2

    则使用 unset LD_LIBRARY_PATH,即可,并且在文件 .bashrc、 .profile、 /etc/profile中查看,是否清除。

    cat ~/.bashrc | grep LD_LIBRARY_PATH
    cat ~/.profile | grep LD_LIBRARY_PATH
    cat /etc/profile | grep LD_LIBRARY_PATH
    
    • 1
    • 2
    • 3

    PyTorch 的简易测试命令:

    python
    
    import torch
    print(torch.__version__)  # 1.13.1
    print(torch.cuda.is_available())  # True
    exit()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
  • 相关阅读:
    TextIn.com API使用心得
    【时间】 时间 加一个月减一个月,加一天减一天,加一年减一年
    阿里云服务器一直提示安全事件如何解决
    荧光素FITC标记聚糖(葡聚糖、壳聚糖、甘露聚糖)定制合成
    5款十分小众,却又非常好用的良心软件
    基于HPC场景的集群管理系统(slurm系统初相识)
    Spring Boot 项目统一结果,统一异常,统一日志,写的太好了
    unity中方向的两种表示:欧拉角和四元数
    刷题笔记day16-二叉树的深度
    数据库系统原理与应用教程(040)—— MySQL 查询(二):设置要查询的列名或表达式
  • 原文地址:https://blog.csdn.net/u012515223/article/details/134463035
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号