更新CUDA
不更新会出现:
1 | RuntimeError: The NVIDIA driver on your system is too old (found version 11060). Please update your GPU driver by downloading and installing a new version from the URL: http://www.nvidia.com/Download/index.aspx Alternatively, go to: [https://pytorch.org](https://pytorch.org/) to install a PyTorch version that has been compiled with your version of the CUDA driver. |
所以需要进行更新,使用NVIDIA提供的链接,复制(此处使用UBUNTU20.04)
1 | wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin |
即可进行更新
本机下载trojanzoo源代码,再通过GPU云提供的网盘上传到服务器
直接本地科学到github上进行下载https://github.com/ain-soph/trojanzoo/archive/refs/heads/main.zip,或者直接git clone https://github.com/ain-soph/trojanzoo.git然后自行压缩上传也行。
我用的GPU云把网盘挂载到/mnt目录,于是
1 | unzip -e /mnt/trojanzoo-main.zip -d ~ |
这样就完成了前期准备。
安装trojanzoo所需依赖
1 | pip install -e trojanzoo |
其实pip install trojanzoo也可以。
如果提示python版本低,可以直接使用conda升级
1 | conda install python=3.11 -y |
进入trojanzoo目录开始继续训练
先cd trojanzoo进入目录
复制数据集
运行一下训练的指令并加上--download的参数,创建数据集储存目录,看到出现下载进度条就可以ctrl+c退出了。这里数据集使用的是cifar10
1 | python ./examples/train.py --color --verbose 1 --dataset cifar10 --model resnet18_comp --lr_scheduler --cutout --grad_clip 5.0 --save --download |
找找GPU云的教程,若是有存放数据集就可以直接使用,不需要使用云盘或者SCP复制。我使用的GPU云的目录是
1 | /public/keras_datasets/cifar-10-batches-py.tar.gz |
注意最好使用压缩的,因为使用--download参数而且压缩包已经存在的话pytorch会进行解压,而且这样复制速度较快
1 | rm data/data/image/cifar10/cifar-10-python.tar.gz #先删除下载一半的 |
进行数据集的训练
然后就可以开始漫长的等待
1 | python ./examples/train.py --color --verbose 1 --dataset cifar10 --model resnet18_comp --lr_scheduler --cutout --grad_clip 5.0 --save --download |