当前位置:网站首页>使用云GPU+pycharm训练模型实现后台跑程序、自动保存训练结果、服务器自动关机
使用云GPU+pycharm训练模型实现后台跑程序、自动保存训练结果、服务器自动关机
2022-08-02 14:02:00 【夜崽】
简介
本文不是从头开始介绍如何使用云GPU和pycharm训练模型,如果想了解如何使用云GPU和pycharm训练的可以参考我另外两篇博客。
本文主要是写一下环境和配置都完成的情况下,之后的一些操作,比如tensorboard、训练完保存训练结果、服务器自动关机、后台训练(防止网络波动导致训练中断)等。
保存结果+自动关机
前提条件,在终端中使用oss login登录恒源云账户。
第一步需要在服务器中的/root目录下创建一个文件upload.sh
用来执行打包训练结果、自动上传到个人数据中、服务器自动关机三个操作。注意,pycharm终端默认路径是/root,而jupyterlab终端默认路径是/,如果在jupyterlab终端中执行以上操作,需要先cd到/root目录下。
我用jupyterlab操作一下,先cd到/root然后vim upload.sh
执行完成后出现如下界面
第二步,按 i 键进入编辑模式,将下列内容写入upload.sh文件。(想了解vim的可以去百度一下)
第八行代码中的路径需要根据实际情况进行修改
#!/bin/bash
set -e
cd /hy-tmp
# 压缩包名称
file="result-$(date "+%Y%m%d-%H%M%S").zip"
# 把 result 目录做成 zip 压缩包,该目录根据实际情况调整
zip -q -r "${file}" yolov7-main/runs/train/exp9
# 通过 oss 上传到个人数据中的 backup 文件夹中
oss cp "${file}" oss://backup/
rm -f "${file}"
# 传输成功后关机
shutdown
此次训练结果将会保存在exp4中,所以路径设置为exp4
第三步,修改完成后,esc退出编辑模式,:wq! 保存文件并退出。可以在/root目录下找到该文件。
第四步,对文件添加执行权限
chmod u+x upload.sh
第五步,在train.py中添加如下代码,注意代码的位置
import os
os.system('/root/upload.sh') # 此行代码放到train.py训练结束后
后台训练(使用tmux)
后台训练更稳定,也不用本地电脑一直开机,配置完成后即可将电脑关机。
第一步,创建一个tmux会话(我cd到根目录了,其它目录下应该也没问题)。
tmux new -s yolo创建一个名为yolo的会话,tmux detach退出会话,tmux ls列出存在的会话。
第二步,tmux a -t yolo重新进入会话,并cd到train.py所在目录,执行该文件。
训练截图
第三步,第二步中的执行界面需要新建终端输入命令才可以退出,而jupyterlab中没有办法新建终端,可以通过pycharm的终端退出tmux会话。
第四步,训练结束,将训练结果打包上传到个人数据(防止因机器被占用导致无法查看训练结果。个人数据中的文件可以随时下载查看),服务器自动关机(训练结束后自动关机节省费用)
tensorboardX
第一步,关闭官方的tensorboard功能(因为恒源云的tensorboard需要下载get_started.ipynb,我一直访问失败,所以改用tensorboardX )。
supervisord ctl stop tensorboard
第二步,使用tensorboardX功能。(注意,终端不要关闭,否则tensorboardX会断开)
tensorboard --logdir /hy-tmp/runs/train/exp4 --host 0.0.0.0
第三步,打开官方的tensorboard, 即可看到实时训练过程。
pycharm中的两个服务器设置问题
1. 重启pycharm后,底部可能没有出现服务器选项,即下图可能出现无默认服务器
通过下列步骤解决
2.当某一个服务器不使用时,将其在pycharm中删除,比如端口号为59341的服务器。
在1里面的位置删除服务器
在设置里将解释器和服务器同时删除
到此,该服务器在pycharm中彻底删除。
如果有错,请不吝赐教。如果有疑问,可以评论或者私信。
边栏推荐
猜你喜欢
如何解决mysql服务无法启动1069
[ROS] (01) Create ROS workspace
第十四单元 视图集及路由
The bad policy has no long-term impact on the market, and the bull market will continue 2021-05-19
The future of financial services will never stop, and the bull market will continue 2021-05-28
[ROS] (06) ROS Communication - Topic Communication
STM32(F407)—— 堆栈
如何选择正规的期货交易平台开户?
What are the file encryption software?Keep your files safe
logback源码阅读(一)获取ILoggerFactory、Logger
随机推荐
Flask项目的完整创建 七牛云与容联云
数据机构---第六章图---图的遍历---选择题
drf序列化器-Serializer
Sentinel源码(二)入口方法分析
RKMPP API安装使用总结
【Tensorflow】AttributeError: module ‘keras.backend‘ has no attribute ‘tf‘
chapter6可视化(不想看版)
第五单元 保持状态
第十三单元 混入视图基类
瑞吉外卖笔记——第10讲Swagger
[ROS]roscd和cd的区别
rpm包的卸载与安装[通俗易懂]
【Tensorflow】AttributeError: module 'keras.backend' has no attribute 'tf'
Swagger 的使用
监管再次重拳出击,后市如何?2021-05-22
Sentinel源码(六)ParamFlowSlot热点参数限流
What is the difference between web testing and app testing?
Chapter6 visualization (don't want to see the version)
Haystack的介绍和使用
8576 顺序线性表的基本操作