conda环境配置

新建一个 Conda 环境

conda create --name ycy python=3.9
conda activate ycy

安装对应版本的torch和torchvision

https://pytorch.org/get-started/previous-versions/
找到自己需要安装的torch和torchvision版本号:
image

# 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

image

Tiny ImageNet(ImageNet 的子集)下载

wget http://cs231n.stanford.edu/tiny-imagenet-200.zip --no-check-certificate
unzip tiny-imagenet-200.zip
posted @ 2024-08-15 10:37  油菜园12号  阅读(43)  评论(0编辑  收藏  举报