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 1)
CUDA_VISIBLE_DEVICES=1 python main.py
linux 下 anaconda 目录迁移
screen命令 后台运行代码
1. 开启一个新的 screen
会话
在终端输入如下命令来开启一个新的 screen
会话:
screen -S mysession
这里的 mysession
是会话的名称,你可以按照自身需求来修改。
2. 在 screen
会话中运行代码
开启新的 screen
会话之后,就能在其中运行代码了。例如,运行一个 Python 脚本:
python myscript.py
这里的 myscript.py
是你要运行的 Python 脚本文件名。
3. 将会话放到后台
运行代码之后,若想把 screen
会话放到后台,可按下 Ctrl + A
组合键,接着再按下 d
键。此时,终端会显示如下信息:
[detached from 12345.mysession]
这表明会话已成功放到后台。
4. 重新连接到会话
要是你想重新连接到之前放到后台的会话,可以使用以下命令:
screen -r mysession
这里的 mysession
是之前创建的会话名称。
5. 列出所有 screen
会话
使用以下命令可以列出所有正在运行的 screen
会话:
screen -ls
6. 终止 screen
会话
若要终止某个 screen
会话,可在重新连接到该会话之后,按下 Ctrl + D
组合键,或者使用以下命令:
screen -X -S mysession quit
这里的 mysession
是要终止的会话名称。
ImageNet-1k数据集下载&处理
(或参考 https://blog.csdn.net/Miller_em/article/details/132025409 )
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