案例1
该方法mac,linux,windows都通用。我们使用terminal or cmd进行操作。
假设我们本地具有一个需要跑的模型Unet,我们需要将该模型上传到服务器上跑,步骤如下:
使用tar压缩文件
我们定位到我们需要压缩的模型,如我的模型所在目录为~/Desktop/Unet
,则我来到该目录,将Unet文件夹压缩。打开cmd or terminal我们键入代码
cd ~/Desktop # 定位文件夹
tar -cvf Unet.tar Unet # 压缩为tar文件夹
于是我们得到了需要的压缩文件夹。
使用scp上传文件到服务器
我们需要知道服务器ip[222.31.135.49],开放的端口[9007],用户名[root]密码[admin],知道这些后我们可以使用scp传输文件。假设我们要将~/Desktop/Unet.tar
目录的文件传输到~/
目录下,打开cmd or terminal我们键入如下代码:
# scp -P [your port] [source directory] [your user name]@[ip]:[target directory]
scp -P 9007 ~/Desktop/Unet.tar root@222.31.135.49:~/ # 第一个路径是本地路径,第二个路径是服务器上路径
使用ssh连接服务器
我们需要知道服务器ip[222.31.135.49],开放的端口[9007],用户名[root]密码[admin],知道这些后我们可以使用ssh连接服务器。
# ssh -p [your port] [your user name]@[ip]
ssh -p 9007 root@222.31.135.49
配置虚拟环境
假设我们要创建名为env_cp39的虚拟环境.由于服务器预先装有anaconda3和cuda,在连接上服务器后,我们使用conda创建虚拟环境如下:
# 创建虚拟环境
# conda create -n [your env name] python=X.X
conda create -n env_cp39 python=3.9# 启动虚拟环境
# conda activate [your env name]
conda activate env_cp39# 退出虚拟环境
conda deactivate
由于校园网不可以访问外网,可以访问清华源,我们这里使用清华源和pip安装所需python包。我们查看train.py
,model.py
,dataloader.py
和utils.py
等文件查看所需要的包,使用pip手动导入需要的包。如在Unet网络中我们需要如下包:
# pip install [your module] -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install torch, torchvision, numpy, libtiff, pillow, urllib3 -i https://pypi.tuna.tsinghua.edu.cn/simple
解压缩tar文件跑代码
我们找到刚才上传的文件使用tar命令解压缩文件,再运行train.py
文件跑代码。
tar -xvf Unet.tar # 将文件解压到当前目录cd Unet.tar
python train.py # 运行train文件
使用scp下载训练好的权重文件
模型训练完毕后,我们要下载权重文件,我们使用scp下载文件。假设该权重文件目录为/root/data/Unet/Unet/params/unet.pth
,我们新建一个cmd or terminal使用scp下载文件。
# scp -P [port] [user name]@[ip]:[source dir] [target dir]
scp -P 9007 root@222.31.135.49:/root/data/Unet/Unet/params/unet.pth ~/Desktop