重要的事情说三遍:一定要记得在服务器上先联网,否则会出现一些稀奇古怪的错误。呜呜呜
github中下载代码,我的环境是python3.7 torch-gpu为1.7.1(这两个是单独安装的,python环境使用anconda进行创建,torch的安装上一篇文章中有写),根据GitHub中的requirements.txt文件使用命令进行安装程序运行需要的包
命令:
pip install -r requirements.txt? -i?https://pypi.tuna.tsinghua.edu.cn/simple
-i后面是为了是安装包更快的下载完成,使用清华镜像。
也可以直接 pip install -r requirements.txt
train:
在训练之前,需要修改配置文件config.yaml中files_a的内容,代表训练数据的路径。?
然后运行python train.py(首次运行一定要记得联网)因为他会自动下载inceptionresnetv2.pth文件,不联网会出现?******'\xef'的错误(如图)。困惑了我一天,还是学长帮我解决的,可能原因在于首次运行(由于没有连接网络)下载去文件出现错误。所以一定要联网在运行。
?
学到的小技巧:
- conda env list 查看创建的python环境
- conda activate 环境名:激活python环境
- 在服务器上进行运行时,当服务器有两个gpu,如果有一个人在服务器上跑代码,如果什么都不做的话,便不能在运行一个网络。出现如图所示的情况:
解决方式:使用命令CUDA_VISIBLE_DEVICES=1 python train.py,就可以在上面的基础上,在跑一个网络:
CUDA_VISIBLE_DEVICES=1 python train.py
- 在后台进行训练:
- 使用命令:nohup python train.py &?可以将训练放在后台,不影响后续的操作。(因为训练很占时间)
- 使用cat nohup.out命令可以查看nohup.out文件中的内容,里面的内容是保存的训练的数据。
暂停正在服务器中运行的程序:
使用nvidia-smi命令查看信息
根据pid杀死想要关闭的进程,使用命令kill 进程id
今天就收获这么多,记录一下,省的自己忘记。
|