linux下miniconda+torch环境配置

2023-05-16

几个很简单的步骤却陆陆续续配置了一整天。记录一下。

部分步骤来自该博文: https://blog.csdn.net/m0_46336568/article/details/127836072

下载miniconda安装包

wget -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py39_4.9.2-Linux-x86_64.sh

执行安装脚本

bash Miniconda3-py39_4.9.2-Linux-x86_64.sh

conda换源

source ~/.bashrc
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda
conda config --set show_channel_urls yes
source ~/.bashrc

创建python3.7环境下的conda虚拟环境并进入

conda create -n yourEnvName python=3.7
conda activate yourEnvName

安装torch1.10+cuda10.2(cuda版本号可进入集群后使用nvidia-smi命令查看)

conda install pytorch==1.10.1 torchvision==0.11.2 torchaudio==0.10.1 cudatoolkit=10.2 -c pytorch

# cuda 11.2
conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cudatoolkit=11.2 -c pytorch -c conda-forge

进入集群,安装bmtrain

pip install bmtrain
pip install model-center

此时可以正常安装opendelta等包。进入Python查看是否安装成功

$ python3
>> import bmtrain
>> import opendelta

附录:conda常用命令

# 创建环境
conda create -n 环境名 python=3.x
# 进入环境
conda activate 环境名
# 查看虚拟环境列表
conda info --env
# 查看该环境下已有的安装包
conda list
# 退出环境
conda deactivate
# 删除某个环境
conda remove -n 环境名
# 删除某个环境下的某个包
conda remove -n 环境名 包名

注:conda install 和 pip install 的关系至今没有搞懂。。当conda 新建的 python版本号和全局不同时,在conda虚拟环境中遇到了无法引用pip install 的包的情况(ModuleNotFoundError: No module named ‘xxx‘)。但在命令行又可以正常import。尝试按网上教程加入:

import sys
sys.path.append("conda 虚拟环境中安装包的位置")
print(sys.path)

依然无法引用。


1.11中午12:30更新:将bash中的torchrun的路径改为conda虚拟环境bin下的torchrun(~/miniconda3/envs/yourENVNAME/bin/torchrun)即可运行。此时会报错找不到model-center,因为其安装在全局的python3.6安装包中,需要将其重新在虚拟环境安装。由于conda install找不到model-center和bmtrain,故可以使用 `--target 路径` 指定pip的安装位置(默认为全局路径)

pip install --target /home/xxx/miniconda3/envs/yourEnvName/lib/python3.7/site-packages model-center

将其使用pip安装在虚拟环境中。

此时可以成功运行。

注2:opendelta的包依赖

datasets==1.17.0 decorator gitpython rich scipy sentencepiece==0.1.96 sklearn web.py


1.11晚上23:20更新:又经历了整整一天的痛苦倒腾环境,一会是numpy报错ModuleNotFoundError: No module named 'numpy.core._multiarray_umath,按网上教程各种升级卸载都不成功。一会是bmtrain报错error:cannot import name‘_C‘,最后把bmtrain目录下的_C.cpython-36m-x86_64-linux-gnu.so文件两个点之间的中缀删掉之后发现这个_C仅支持python3.6,无法在python3.7的环境下加载!!!各种包安了又卸卸了又安,环境create了又remove,我真的会谢orz

好在,经历了一天的毒打,我终于(大致)弄明白各种python、pip、conda之间的关系了!当我再次看到

Python 3.7.4 (default, Aug 13 2019, 20:35:49) 
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import opendelta
>>> 

的时候真的无比激动。把一整天的过程总结记录在这里:

  • 每当用conda创建一个新环境时,会相应地备份一份python。与python相关的几个命令,如python3、pip、pip3、torchrun也会重新备份一份。新出现的这些脚本命令在新环境的路径/home/xxx/miniconda3/envs/环境名/bin/下,如

~/miniconda3/envs/环境名/bin/pip

可以使用which语句来判断当前在终端敲的pip是哪个pip:

$ which pip
$ which python3
$ which torchrun

一般来讲,pip和torchrun都是全局目录下的,即`/home/xxx/.local/lib/python3.6/site-packages`这个目录下面的,而python3则默认调用新环境中的python3。因此,如果直接pip install则会安装在全局目录~/.local/lib/python3.6/site-packages下面。综上,总结一下几种安装命令的安装位置:

  • pip install(pip uninstall):会装在全局~/.local/lib/python3.6/site-packages

  • conda install(conda remove): 会装在新环境~/miniconda3/envs/环境名/lib/python3.7/site-packages

  • 为在新环境中安装那些只能用pip而不能用conda安装的包,我们需要调用新环境中的那个pip命令:使用

$ ~/miniconda3/envs/环境名/bin/pip install 包名

就可以安装到新环境内了!

  • 使用

pip install --target ~/miniconda3/envs/环境名/lib/python3.7/site-packages 包名

确实可以安装在该目录下。但是这样安装之后的包就“丢”了,用pip uninstall只能清除全局内安装的包,conda remove也不会删掉被pip安装的包。因此要卸载该包只能进到该目录里手动删除相应的文件夹。当存在多个不同位置的相同的包(尤其是还有不同的版本并存)时,pip --target往往使得包卸载的时候卸不干净,造成混淆。下次不会再用了!

因此,能用conda安装的就用conda安,不能用conda的就用新环境中的~/miniconda3/envs/环境名/bin/pip安。我的做法是只有pytorch和cudatoolkit用conda安装。最后,不要忘记bash脚本的torchrun也要改成~/miniconda3/envs/环境名/bin/torchrun。

综上,总结一下opendelta的安装流程:

  1. 把乱七八糟的各种conda虚拟环境删干净,再用pip uninstall/conda remove 命令删除 numpy、bmtrain、torch等包,直到删得一干二净、删无可删为止(numpy会有出现在/usr/lib/的基础版本,那个是管理员安装的,删不掉也不用管它,因为他总是在最后才会被搜索)。

  1. conda创建新的虚拟环境(如果这里只输入python=3.7会默认安装3.7.12,which是个不太好用的版本)

$ conda create -n 环境名 python=3.7.4
  1. 安装pytorch1.10.0+cuda10.2

$ conda install pytorch==1.10.1 torchvision==0.11.2 torchaudio==0.10.1 cudatoolkit=10.2 -c pytorch
  1. 进集群安装bmtrain。由于bmtrain只能用pip安装,这里要用新环境下的pip:

$ ~/miniconda3/envs/环境名/bin/pip install bmtrain
$ ~/miniconda3/envs/环境名/bin/pip install model-center
  1. 继续安装opendelta。这里使用了github上的安装方式以获得适用于bmtrain的分支版本:

$ git clone -b with_bmtrain --single-branch https://github.com/thunlp/OpenDelta.git
$ cd OpenDelta
$ python setup.py install

5.1 期间可能还需要用pip安装opendelta的其他依赖,包括:

transformers
datasets==1.17.0
decorator
gitpython
rich
scipy
sentencepiece>=0.1.96
sklearn
web.py
yacs
oss2==2.15.0

然后就安装成功啦!此时在终端进入python3控制台可以顺利import bmtrain和import opendelta。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux下miniconda+torch环境配置 的相关文章

  • endNote X9 增加 / 删除参考文献 文献编号自动更新

    文章目录 1 增插参考文献2 删减参考文献3 EndNote X9 插入参考文献常见问题总结4 EndNote X9 快速上手教程 xff08 毕业论文参考文献管理器 xff09 1 增插参考文献 61 61 61 61 61 61 61
  • windows10 通过vnc方式远程连接服务器

    以下摘抄至腾讯云文档 xff0c 记录一下 腾讯云 文档中心 轻量应用服务器 最佳实践 搭建Ubuntu可视化界面 VNC xff08 Virtual Network Console xff09 是虚拟网络控制台的缩写 它是一款优秀的远程控
  • UART串口接收设计

    一 设计思路 1 端口设置 为实现UART串口接收 xff0c 所设计的模块应具有如下端口 xff1a 时钟 复位 波特率设置 串行数据输入 并行数据输出 一次数据接收完成标志 如图 xff1a module span class toke
  • (十)性能分析工具的使用(上)

    性能分析工具的使用 1 数据库服务器的优化步骤2 查看系统性能参数3 统计SQL的查询成本 xff1a last query cost4 定位执行慢的 SQL xff1a 慢查询日志4 1 开启慢查询日志参数1 开启slow query l
  • uboot1.1.6/lowlevel.S详解

    TEXT BASE word TEXT BASE 这个TEXT BASE是在uboot1 1 6 board smdk2410 config mk内定义的 xff0c TEXT BASE 61 0x33F80000 config mk内有注
  • 杨辉三角(Pascal‘s Triangle)

    6 杨辉三角 xff08 Pascal 39 s Triangle xff09 1 每个数等于它上方两数之和 直角模式等于上方和左上方元素之和 2 每行数字左右对称 xff0c 由1开始逐渐变大 3 第一行有1个元素 xff0c 第n行有n
  • A*算法在matlab上的实现

    先看看算法的效果 图中蓝绿色大圆为障碍物 xff0c 蓝色小圆为路径节点 xff0c 红色号为目的地 xff0c 蓝色为起点 算法下载位置 xff1a https gitee com bingobinlw volans tree maste
  • 数学知识---数论(质数和约数)

    文章目录 1 质数1 1质数的判定 试除法1 2分解质因数 试除法 1 3筛质数2 约数2 1试除法求约数2 2约数个数2 3约数之和2 4最大公约数 欧几里得算法 xff08 辗转相除法 xff09 1 质数 质数是针对所有大于1的自然数
  • ccie入门学习day1

    写信的例子 Source Name Source address Destination Name Destination address 数据从源端A送达目的端B xff1a 网络地址 xff1a IP地址 网络当中的任何网络设备的标识符
  • OSI七层模型 端到端通信

    免费DNS 电信 xff1a 114 114 114 114 google xff1a 8 8 8 8 xff0c 4 4 2 2 阿里 百度 腾讯 数据的端到端通信 xff1a 1 封装 xff1a encapsulation 2 解封装
  • 常见安全事件

    一 钓鱼 xff1b 1 诱惑性标题 xff1b 2 仿冒真实网站 xff1b 3 骗取用户账号 xff1b 4 骗取用户资料 xff1b 篡改 网页 Tampering 关键字 xff1a Hacked by 搜索引擎语法 xff1a I
  • 局域网技术,涉及到VLAN,TRUNK,链路聚合,VLAN间路由,单臂路由,

    Ethernet xff1a 以太网 构建一个网络 xff08 迷你型 小型 中型 大型 巨型 xff09 集线器 xff08 hub xff09 xff1a 物理层的设备 xff0c 半双工通信 xff0c 泛洪 xff08 floodi
  • ACL 网安基础

    ACL xff1a access control list 访问控制列表 网络当中哪些流量可以通过 xff0c 哪些流量不能通过 xff0c 哪些用户可以登录 xff0c 哪些用户拒绝登录 permit 允许 deny 拒绝 flow co
  • SONiC-P4实验搭建及研究SONiC管理的交换机

    首先需建立在虚拟机上部署SONiC P4仿真环境 xff0c 关于部署SONiC P4 xff0c 详情可以参考https github com sonic net SONiC wiki SONiC P4 Software Switch x
  • Linux操作系统指令

    Linux简介 Linux xff0c 全称GNU Linux xff0c 是一种免费使用和自由传播的类UNIX操作系统 xff0c 其内核由林纳斯 本纳第克特 托瓦兹于1991年10月5日首次发布 xff0c 它主要受到Minix和Uni
  • ubuntu 10.04下的配置tftp服务器

    转载自 http www cnblogs com geneil archive 2011 11 24 2261653 html 第1步 xff1a 安装tftp所需的软件 首先需要安装tftp hpa xff0c tftpd hpa xff
  • 【每天学习一点新知识】如何绕过CDN查真实ip

    1 什么是CDN 为了防止流量过大网络堵塞 xff0c 我们就在靠近用户的地方 xff0c 建一个缓存服务器 xff0c 把远端的内容复制一份 xff0c 放在这里 xff0c 简单来说就是将内容缓存在终端用户附近 2 怎么绕过cdn找到远
  • hadoop集群启动后datanode没有启动

    今天启动hadoop集群后 xff0c 查看进程发现名称节点的NameNode进程启动了 xff0c 但是数据节点的DataNode进程没有启动 xff0c 如下 xff1a 这个问题是个常见问题 xff0c 对于自学的初学者来说 xff0
  • 局域网组网 实验7 MPLS VNP

    配置 xff1a AR1 xff1a interface GigabitEthernet0 0 0 ip address 10 1 2 1 255 255 255 0 interface GigabitEthernet0 0 1 inter
  • 数字逻辑电路(四)

    数字逻辑电路 xff08 四 xff09 目录 组合逻辑电路 1 组合逻辑电路的分析 设计 2 数值计算电路 3 编码器 4 译码器 编码的逆过程 5 数值比较器 6 数据选择器 7 组合逻辑电路分析 组合逻辑电路 1 组合逻辑电路的分析

随机推荐

  • 2020-10-27

    云计算是什么 1 水龙头观点论 xff1a 当需要的时候 xff0c 你别管水是怎么来的 xff0c 电是怎么发的 xff0c 扭开水龙头用水 xff0c 插上插头用电 xff0c 只需要操心交水电费就是了 xff01 当你需要用一个软件时
  • 2020-11-03

    云计算的服务类型 当今IT信息时代 xff0c 云计算激流勇进 xff0c 稳步发展都离不开云计算服务 云计算的服务类型有 1 SaaS 软件即服务 SaaS 软件即服务 xff0c 是指用户获取软件服务的一种新形式 它不需要用户将软件产品
  • 2020-11-03

    云计算五大特点 云计算 xff0c 是一种基于互联网的计算方式 xff0c 通过这种方式 xff0c 共享的软硬件资源和信息可以按需提供给计算机和其他设备 典型的云计算提供商往往提供通用的网络业务应用 xff0c 可以通过浏览器等软件或者其
  • 2020-11-17

    大数据的就业前景还是很不错的 大数据的价值体现在以下几个方面 xff1a xff08 1 xff09 对大量消费者提供产品或服务的企业可以利用大数据进行精准营销 xff1b xff08 2 xff09 做小而美模式的中小微企业可以利用大数据
  • 2020-11-25

    网格计算和云计算有相似之处 xff0c 特别是计算的并行与合作的特点 xff1b 但他们的区别也是明显的 主要有以下几点 xff1a 首先 xff0c 网格计算的思路是聚合分布资源 xff0c 支持虚拟组织 xff0c 提供高层次的服务 x
  • 2020-12-22

    云计算主要包含哪些关键技术 xff1f 1 虚拟化技术 xff1a 云计算的虚拟化技术不同于传统的单一虚拟化 xff0c 它是涵盖整个IT架构的 xff0c 包括资源 网络 应用和桌面在内的全系统虚拟化 xff0c 它的优势在于能够把所有硬
  • ubuntu nfs服务器设置-调试成功

    转载地址 xff1a http www cnblogs com doctorqbw archive 2012 02 03 2337411 html 1 安装nfs服务 xff0c apt get install nfs common nfs
  • 2020-12-28

    大数据发展必备三个条件 大数据概念的横空出世 xff0c 有赖于短短几年出现的海量数据 据统计 xff0c 互联网上的数据每两年翻一番 xff0c 而目前世界上90 以上的数据都是最近几年才产生的 当然 xff0c 海量数据仅仅是 大数据
  • Casbin

    Model Model语法 Model CONF 至少应包含四个部分 request definition policy definition policy effect matchers 如果 model 使用 RBAC 还需要添加 ro
  • STM32串口发送字符串

    在STM32串口学习中 xff0c 串口发送字符串是必不可少的 xff0c 但是 在学习过程中可能会遇到下面这个问题 xff0c 就由我来给大家分享一下吧 下面是封装的串口发送字符串的函数 xff1a void Usart SendStri
  • 树莓派4b安装Ubuntu20.04+ROS-noetic(也适用于历史版本)

    树莓派4b安装Ubuntu20 04 43 ros noetic 前言一 镜像下载二 烧录系统1 插入tf卡 xff0c 首先对tf卡进行格式化2 烧录镜像方法1 官方烧录软件 Raspberry Pi Imager方法2 Win32Dis
  • vscode 项目中安装配置webpack及其插件

    1 安装webpack 在终端运行如下的命令 xff0c 安装webpack相关的两个包 xff1a npm install webpack 64 5 42 1 webpack cli 64 4 7 2 D D表示 xff1a npm安装完
  • 【02】FreeRTOS获取10.4.6源码+移植到STM32F429步骤

    目录 1 获取FreeRTOS源码 1 1 FreeRTOS官网下载步骤 1 2FreeRTOS源码内容 1 3FreeRTOS内核文件 1 3 1Demo文件夹 1 3 2Source文件夹 2 FreeRTOS移植 2 1添加FreeR
  • M1-MAC-MYSQL安装+启动的笔记

    前言 xff1a 安装Mysql之前应该先安装JAVA JDK 1 开始安装Mysql xff08 1 xff09 下载Mysql xff1a 官网下载地址 xff1a https dev mysql com downloads mysql
  • OpenCV 与 OpenGL 的区别与关系是什么?

    老婆和老婆饼的关系 没啥关系 xff01 CV Computer Vision 和CG Computer Graphics 两者的区别和联系 CV相当于给了计算机摄像头 xff1f 让它捕获处理视觉信息的技术 xff0c 比如进行图像分类
  • 自制STLinkV2.1

    步骤 绘制原理图 layout 打板 焊接 烧录固件 更新固件 绘制原理图 layout 为了方便焊接 xff0c 元器件都放同一面 烧录固件 用现有STLink及软件STM32 ST LINK Utility为其烧录固件 软件及固件已打包
  • IAR下载报错 “Fatal error: Failed to connect to CPU Session aborted!”

    当IAR下载程序进入单片机运行时出现这个弹窗之后就再也下载不进去程序了 xff0c 报以下错误 解决办法 xff1a 这时候就需要对单片机进行复位了 xff0c 一般是先看电路有没有复位按键如果没有复位按键则需要找到复位电路然后找到电路中的
  • uboot和ubuntu ping通测试结果

    前一段时间开始研究uboot xff0c 首先遇到的问题就是下载的别人移植的uboot始终ping不通主机 xff08 Windows中VMWare虚拟机中的ubuntu10 04 xff09 这几天终于找到了一份可以配合手头开发板的移植说
  • PID算法原理及基本实现

    自动控制中 xff0c PID及其衍生出来的算法是应用最广的算法之一 各个做自动控制的厂家基本都有会实现这一经典算法 我们在做项目的过程中 xff0c 也时常会遇到类似的需求 xff0c 所以就想实现这一算法以适用于更多的应用场景 1 PI
  • linux下miniconda+torch环境配置

    几个很简单的步骤却陆陆续续配置了一整天 记录一下 部分步骤来自该博文 xff1a https blog csdn net m0 46336568 article details 127836072 下载miniconda安装包 wget c