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
。
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博客
表格参数详解:
显存占用和GPU占用是两个不一样的东西, **显卡是由GPU和显存等组成的**, 显存和GPU的关系 有点类似于内存和CPU的关系。会有一种情况:显存满了,但GPU利用率仍为0%?可能的情况就是程序将数据读入了显存,但是没有任何计算任务,然后程序也不退出,就一直在那运行着。
利用率低是因为程序没跑起来,只是把程序拉进显存中了。原因可能是环境问题或者是代码问题
参考:GPU使用率和显存有何区别和联系?
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
获取 GPU ID 信息:nvida-smi -L
GeForce RTX 208...,此时,
如果我们需要查看GPU的型号,只需要运行nvida-smi -L
即可。从左到右分别为:GPU卡号、GPU型号、GPU物理UUID号
nvidia-smi -q
nvidia-smi -q -i 0
nvidia-smi -q -d CLOCK
nvidia-smi -q -d SUPPORTED_CLOCKS
12、“|”是Linux管道命令操作符,简称管道符。使用此管道符“|”可以将两个命令分隔开,“|”左边命令的输出就会作为“|”右边命令的输入,此命令可连续使用,第一个命令的输出会作为第二个命令的输入,第二个命令的输出又会作为第三个命令的输入,依此类推。
参考:Linux管道符|命令使用详解_linux管道命令_瞻邈的博客-CSDN博客