conda环境配置
新建一个 Conda 环境
conda create --name ycy python=3.9
conda activate ycy
安装对应版本的torch和torchvision
https://pytorch.org/get-started/previous-versions/
找到自己需要安装的torch和torchvision版本号:
# CUDA 11.8
conda install pytorch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1 pytorch-cuda=11.8 -c pytorch -c nvidia
验证安装
python
import torch
import torchvision
if torch.cuda.is_available():
print("CUDA is available")
print("CUDA Version: ",torch.version.cuda())
print("CUDA device count:", torch.cuda.device_count())
print("CUDA current device:", torch.cuda.current_device())
print("CUDA device name:", torch.cuda.get_device_name(torch.cuda.current_device()))
else:
print("CUDA is not available")
检查环境设置
检查 Conda 环境中已安装的包
conda list | grep pytorch
检查环境变量
在激活的 Conda 环境中,确保 CUDA_HOME 和 LD_LIBRARY_PATH 指向正确的路径:
echo $CUDA_HOME
echo $LD_LIBRARY_PATH
更新环境变量
export CUDA_HOME=$CONDA_PREFIX
export PATH=$CUDA_HOME/bin:$PATH
export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH
source ~/.bashrc
其他
查看所有虚拟环境
conda env list
删除虚拟环境
conda remove -n your_env_name --all
复制虚拟环境
conda create --name ycy1 --clone ycy
查看GPU状态
nvidia-smi
指定显卡运行代码(例如使用 GPU 0)
CUDA_VISIBLE_DEVICES=0 python main.py
linux 下 anaconda 目录迁移
linux 后台运行脚本
chmod +x ./test.sh # 使脚本具有执行权限
1.&操作符
./test.sh &
加上&操作符后,该脚本会立即在后台启动并执行。使用&操作符启动的后台进程会在当前 shell 会话结束时被终止。这意味着如果你关闭了启动这个进程的终端或者窗口,那么这个进程也会随之结束。
2.nohup 命令
nohup ./test.sh &
nohup 是 “no hang up” 的缩写,直译为“不挂断”,它可以在你退出帐户/关闭终端后继续运行相应的进程。
- 实时查看 nohup.out 文件的内容:
tail -f nohup.out
3.setsid 命令
setsid ./test.sh &
setsid 命令在新的会话中运行程序,使其成为新会话的领导者。使用setsid,我们可以创建一个完全独立的会话来运行我们的进程,从而避免在原始会话结束时进程被杀死的问题。
总结
&、nohup和setsid都是在Linux bash中运行后台进程的有效方法,但它们各有优势和适用场景。&操作符简单易用,适合临时后台运行进程;nohup
命令适合长期运行的进程,特别是在用户注销或终端关闭的情况下;setsid命令则为进程创建了一个新的会话,使其与原始会话完全分离,适合需要完全独立运行的进程。
ImageNet-1k数据集下载&处理
1.下载-138GB/6.3GB
wget https://image-net.org/data/ILSVRC/2012/ILSVRC2012_img_val.tar --no-check-certificate
wget https://image-net.org/data/ILSVRC/2012/ILSVRC2012_img_train.tar --no-check-certificate
2.处理
mkdir imagenet && mv ILSVRC2012_img_train.tar imagenet/ && cd imagenet
tar -xvf ILSVRC2012_img_train.tar
# tar -xvf ILSVRC2012_img_train.tar && rm -f ILSVRC2012_img_train.tar 网上看到了个这个命令边解压边删除吧? 不过不敢rm数据集,有的时候需要在不同服务器之间传数据集,留一手
find . -name "*.tar" | while read NAME ; do mkdir -p "${NAME%.tar}"; tar -xvf "${NAME}" -C "${NAME%.tar}"; rm -f "${NAME}"; done
一共128w张图片~
ls -lR | grep "^-" | wc -l
Tiny ImageNet(ImageNet 的子集)下载
wget http://cs231n.stanford.edu/tiny-imagenet-200.zip --no-check-certificate
unzip tiny-imagenet-200.zip