当前位置:网站首页>使用云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中彻底删除。
如果有错,请不吝赐教。如果有疑问,可以评论或者私信。
边栏推荐
- The 2nd China Rust Developers Conference (RustChinaConf 2021~2022) Online Conference Officially Opens Registration
- chapter6可视化(不想看版)
- VMM是什么?_兮是什么意思
- chapter7
- 【Tensorflow】AttributeError: '_TfDeviceCaptureOp' object has no attribute '_set_device_from_string'
- Flask上下文,蓝图和Flask-RESTful
- [ROS] (06) ROS Communication - Topic Communication
- Sentinel源码(一)SentinelResourceAspect
- 配置zabbix自动发现和自动注册。
- ping命令的使用及代码_通过命令查看ping路径
猜你喜欢
随机推荐
Flask框架
uview 2.x版本 tabbar在uniapp小程序里头点击两次才能选中图标
replay视频播放器_怎么让手机音乐跟视频一起放
【Tensorflow】AttributeError: module 'keras.backend' has no attribute 'tf'
MySQL数据库语法格式
drf序列化器-Serializer
RKMPP 在FFmpeg上实现硬编解码
MarkDown语法汇总
AWVS工具介绍[通俗易懂]
网络剪枝(1)
跑yolov5又出啥问题了(1)p,r,map全部为0
Break the limit of file locks and use storage power to help enterprises grow new momentum
【Tensorflow】AttributeError: '_TfDeviceCaptureOp' object has no attribute '_set_device_from_string'
Go语言初始
【ROS】编译软件包packages遇到进度缓慢或卡死,使用swap
Raft协议图解,缺陷以及优化
Sentinel源码(一)SentinelResourceAspect
ftp常用命令详解_iftop命令详解
ZABBIX配置邮件报警和微信报警
RKMPP API安装使用总结