Conda基本使用

安装Conda

无论是Linux环境还是Window环境, 都推荐使用Conda搭建机器学习的运行环境, 可以减少很多处理依赖问题的时间. 推荐从清华大学镜像站下载Anaconda或者Miniconda(推荐).

如果之前已经安装了Miniconda, 则需要先卸载就版本. 安装程序不会覆盖旧版本安装.

配置镜像源

由于网络原因, 部分包的下载速度较慢, 可考虑添加镜像源实现加速. 从清华大学镜像站下载的Miniconda已经自动完成了镜像源的替换, 通常可直接开始环境搭建. 但如果环境中依赖nvidia渠道的包, 则可以考虑参考此指引添加一个镜像源.

2024年9月更新: 实测即使不添加nvidia渠道镜像, 也可以在一个合理的时间(小于20分钟)内完成环境创建

常用指令

Conda是Python的包管理软件. 以下是一些常用的Conda指令

操作 指令 操作 指令
创建环境 conda create -n <envname> 删除环境 conda remove -n envname --all
激活环境 conda activate <envname> 退出环境 conda deactivate
列出环境 conda env list 列出安装包 conda list
导出环境 conda env export > py36.yaml 导入环境 conda env create -f <file>
克隆环境 conda create -n <scr> --clone <dst> 安装包 conda install -n <envname> <package>

指定特定版本

conda将Python也视为一个包, 因此可以安装特定版本的Python, 只需要在创建环境的时候指定版本, 例如

1
conda create --name <envname> python=2.7

注意: 如果无特殊需求, 不要单独指定Python版本, 直接使用默认值可避免下载Python消耗的时间

如果需要安装特定版本的包, 也可以使用同样的语法指定版本, 例如

1
conda install pytorch=0.3

查询显卡信息

使用nvidia-smi查看显卡的基本信息. 界面上同时会显示驱动版本CUDA版本, 这对于安装计算框架非常重要. 例如我的设备上输出的结果为

1
2
3
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 561.09 Driver Version: 561.09 CUDA Version: 12.6 |
|-----------------------------------------+------------------------+----------------------+

因此CUDA版本为12.6, 在后续的框架安装环节需要使用该参数

Conda安装深度学习框架

创建环境

1
2
conda create -n tf              # 安装默认版本的Python, 不需要新下载, 速度快
conda activate tf

安装框架

对于Pytorch框架, 在其官网可通过交互式方式可自动生成安装的代码. 只需要选择操作系统类型, 包管理器类型, CUDA版本信息就可以生成安装语句. 例如对于Window平台, 使用Conda安装, CUDA版本为12.6的语句为:

1
2
# 注意cudatoolkit需要与驱动版本匹配, 否则无法运行
conda install pytorch torchvision torchaudio pytorch-cuda=12.4 -c pytorch -c nvidia

效果测试

执行如下代码测试PyTorch框架能否使用GPU

1
2
3
4
5
>>> import torch
>>> torch.cuda.is_available()
True
>>> torch.cuda.get_device_name()
'NVIDIA GeForce RTX 4060'

执行如下的代码测试TensorFlow框架是否能使用GPU

1
2
from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())

使用特定GPU

如果服务器上存在多块GPU, PyTorch默认使用第0块GPU, 如果此时第0块GPU正在运行程序, 则可以手动指定其他GPU. 例如希望在第1块GPU上运行, 则可以输入

1
CUDA_VISIBLE_DEVICES=1 python my_script.py

Tmux基本使用

Tmux是一个虚拟的终端, 当我们远程连接服务器时, 如果SSH进程断开, 通过此SSH启动的进程也会结束. 使用Tmux可以使相应的进程在后台运行, 并在需要的时候切换到前台.

操作 指令
创建进程 tmux new -s <session-name>
连接进程 tmux attach -t <num>/<session-name>
断开进程 tmux detach / Ctrl+b d
杀死进程 tmux kill-session -t 0
  • tmux attach可以缩写为tmux a
  • 如果不指定<session-name>, 则默认创建一个数字ID

Tmux绝对比nohup不知道高到哪里去了

高级操作

Tmux具有三级的层次关系, 即session:windows:panel. Tmux实际上可以在一个session上创建多个window, 或者在一个window下创建多个panel(即分屏). 窗口基本的操作都是以前缀键Ctrl+b开始的. 分屏操作指令如下

操作 指令 操作 指令
水平分屏 Ctrl+b “ 垂直分屏 Ctrl+b %
切换窗格 Ctrl+b ↑↓←→ 调整大小 Ctrl+b Ctrl+↑↓←→
关闭窗格 Ctrl+b x 独立窗格 Ctrl+b !
显示编号 Ctrl+b q 全屏窗格 Ctrl+b z

如果能通过分屏解决问题, 则应该先考虑分屏

窗口操作指令如下

操作 指令
Ctrl+b c - (c)reate 生成一个新的窗口
Ctrl+b n - (n)ext 移动到下一个窗口
Ctrl+b p - (p)revious 移动到前一个窗口

参考文献

前后台切换

除了使用Tmux以外, 也可以使用Linux自带的控制指令手动切换前台和后台进程. 首先将当前进程挂起, 然后就可以输入下面的一些指令来切换

操作 指令
将当前进程在后台挂起 Ctrl + z
让进程在后台运行 <command> &
查看后台运行的进程 jobs
让后台运行的进程n到前台来 fg %n
让进程n到后台运行 bg %n
杀死job kill

%n为jobs命令查看到的job编号, 如果不指定则默认为当前的进程或最近的进程

参考文献

Ollama基础用法

Ollama 是一款便捷的本地大语言模型(LLM)运行工具,支持快速部署和交互

操作 指令 操作 指令
拉取模型 ollama pull llama2 拉取指定模型 ollama pull llama2:13b
列出模型 ollama list 删除模型 ollama rm llama2
启动模型 ollama run llama2

导入本地模型

huggingface网站上提供了许多可以本地运行的模型文件, 通常模型文件以gguf格式给出. 为了便于使用, 一般也会同时提供Modelfile文件, 其样例如下:

1
2
3
FROM ./mistral-7b-instruct-v0.1.Q4_K_M.gguf  # 替换为你的GGUF文件名
TEMPLATE """<s>{{ .System }} {{ .Prompt }}</s>""" # 按模型要求设置模板(可选)
PARAMETER temperature 0.7 # 自定义参数(可选)

可使用ollama导入并在本地运行, 例如

1
2
ollama create example -f ./Modelfile  # 将"example"替换为自定义模型名
ollama run example # 使用上一步定义的模型名

ollama会将模型文件复制一份存储到自己的目录下, 因此导入后可以删除原始文件.

最后更新: 2025年07月12日 14:08

版权声明:本文为原创文章,转载请注明出处

原始链接: https://lizec.top/2020/01/26/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E4%B9%8B%E9%85%8D%E7%BD%AE%E8%BF%90%E8%A1%8C%E7%8E%AF%E5%A2%83/