conda 常用命令-基础知识点(自用)

1、分享环境:YAML 是一种简洁的非标记语言,文件名后缀为.yml,java中经常用它描述配置文件。

conda env create -f environment.yml 

这是一个创建环境的语句,在一个项目中,如果你想把你当前的环境配置与别人分享,这样ta可以快速建立一个与你一模一样的环境(同一个版本的python及各种包)来共同开发/进行新的实验。一个分享环境的快速方法就是给ta一个你的环境的.yml文件。在此.yml文件中可以写明自己的配置环境:

  • 首先通过activate target_env要分享的环境target_env,然后输入下面的命令会在当前工作目录下生成一个environment.yml文件
    conda env export > environment.yml
  • 小伙伴拿到environment.yml文件后,将该文件放在工作目录下,可以通过以下命令从该文件创建环境
    conda env create -f environment.yml
  •  当然,你也可以手写一个.yml文件用来描述或记录你的python环境。

参考:https://www.cnblogs.com/Zhouzg-2018/p/9621149.html 

2、我们可以将前面带有两个短线--常用命令进行缩写(并不是所有的都可以缩写),方法是取一个短线和选项的首字母。例如 --name 可以缩写成 -n--envs 可以缩写成 -e

  • -n, --name我们可以根据环境名称来创建一个 conda 环境,假设我们的环境名称为 my_env
  • 通常用env、e、envs代表(虚拟)环境的意思

参考:conda常用命令汇总_conda命令_Iareges的博客-CSDN博客

3、 -p, --prefix除了根据名称创建环境以外,我们还可以根据地址来创建 conda 环境。

4、conda info:可以用来查看相关信息

-a, -all: 查看所有信息(不常用)。

–base:查看基环境所在路径。

-s, --system:列出所有的环境变量(不常用)

5、conda create:可以用来创建新的 conda 环境

-n, --name:我们可以根据环境名称来创建一个 conda 环境,假设我们的环境名称为 my_env

使用 conda list 命令来查看该环境下都安装了哪些包。

创建完成后,我们使用如下命令进入该环境:

conda activate my_env

 6、退出环境:

conda deactivate

 Tips:我们只能退到基环境,在基环境下继续退出依然在基环境。

7、conda remove 可以用来移除 conda 环境中的某些包,也可以移除整个环境,具体格式如下:

conda remove [-n env_name | -p path] [packages] [--all]

如果我们需要移除 my_env 下的 numpy,只需执行

conda remove -n my_env numpy

当然我们也可以移除所有包(即整个conda环境)

conda remove -n my_env --all

需要注意的是,conda 没有提供重命名环境的命令,我们只能先克隆一份原来的环境,然后再删除原来的环境,具体操作如下(例如将环境 a 重命名成 b):

conda create -n b --clone a
conda remove -n a --all

 8、conda list 用来列出 conda 环境中的包,具体格式如下:

conda list [-n env_name | -p path] [package]

9、

conda update 用来将一系列的包升级到最新版本,具体格式如下:

conda update [-n env_name | -p path] [packages] [--all]

例如,如果我们想要升级 my_env 下的 numpy 和 scipy,只需执行

conda update -n my_env numpy scipy

如果我们要想更新 my_env 中的所有包,则需执行

conda update -n my_env --all

如果要更新 conda 本身,则需执行

conda update conda

如果要更新 anaconda ,则需执行

conda update anaconda

10、

conda config 用来配置 conda 的频道,相关信息会存储在 C:\Users\你的用户名\.condarc 文件中。

添加一个频道的格式为:

conda config --add channels [channel]

 例如,若要添加 conda-forge 这个频道,只需执行

conda config --add channels conda-forge

由于国外频道速度一般不稳定,我们通常考虑使用国内的频道,例如清华镜像。 

11、GPU之nvidia-smi命令详解

参考:GPU之nvidia-smi命令详解 - 简书

深度总结,带你玩转 NVIDIA GPU_gpu uuid_李三十一的博客-CSDN博客

conda 常用命令-基础知识点(自用)_第1张图片

表格参数详解:

显存占用和GPU占用是两个不一样的东西, **显卡是由GPU和显存等组成的**, 显存和GPU的关系 有点类似于内存和CPU的关系。会有一种情况:显存满了,但GPU利用率仍为0%?可能的情况就是程序将数据读入了显存,但是没有任何计算任务,然后程序也不退出,就一直在那运行着。

利用率低是因为程序没跑起来,只是把程序拉进显存中了。原因可能是环境问题或者是代码问题

参考:GPU使用率和显存有何区别和联系?​​​​​​​

  • 第一行为:命令工具行版本、GPU驱动版本、CUDA版本
  • GPU:本机中的GPU编号(有多块显卡的时候,从0开始编号)图上GPU的编号是:0

  • Fan:风扇转速(0%-100%),N/A表示没有风扇

  • Name:GPU类型,图上GPU的类型是:Tesla T4

  • Temp:GPU的温度(GPU温度过高会导致GPU的频率下降)

  • Perf:GPU的性能状态,从P0(最大性能)到P12(最小性能),图上是:P0

  • Persistence-M:持续模式的状态,持续模式如果设置为ON,虽然耗能大,但是在新的GPU应用启动时花费的时间更少;默认为关闭,比较节能,图上显示的是:off

  • Pwr:Usager/Cap:能耗表示,Usage:用了多少,Cap总共多少

  • Bus-Id:GPU总线相关显示,domain:bus:device.function

  • Disp.A:Display Active ,表示GPU的显示是否初始化

  • Memory-Usage:显存使用率

  • Volatile GPU-Util:GPU使用率

  • Uncorr. ECC:关于ECC的东西,是否开启错误检查和纠正技术,0/disabled,1/enabled

  • Compute M:计算模式,0/DEFAULT,1/EXCLUSIVE_PROCESS,2/PROHIBITED

  • Processes:显示每个进程占用的显存使用率、进程号、占用的哪个GPU

2)隔几秒刷新一下显存状态:nvidia-smi -l 秒数

 获取 GPU ID 信息:nvida-smi -L

  • nvida-smi提供一个查看GPU信息的方法,然而这种方式不能查看GPU型号,型号被省略成了GeForce RTX 208...,此时,如果我们需要查看GPU的型号,只需要运行nvida-smi -L即可。

 从左到右分别为:GPU卡号、GPU型号、GPU物理UUID号 

  • 查询所有 GPU 的当前详细信息:

    nvidia-smi -q
  •  也可以单独过滤第 N 卡 的 GPU 信息
    nvidia-smi -q -i 0
  • 或者单独过滤当前的 GPU 时钟相关信息 
    nvidia-smi -q -d CLOCK
  • 或者单独过滤每个 GPU 的可用时钟频率信息
    nvidia-smi -q -d SUPPORTED_CLOCKS

12、“|”是Linux管道命令操作符,简称管道符。使用此管道符“|”可以将两个命令分隔开,“|”左边命令的输出就会作为“|”右边命令的输入,此命令可连续使用,第一个命令的输出会作为第二个命令的输入,第二个命令的输出又会作为第三个命令的输入,依此类推。

参考:Linux管道符|命令使用详解_linux管道命令_瞻邈的博客-CSDN博客

你可能感兴趣的:(conda,linux,机器学习,python)