Skip to main content

trainer dashboard

Project description

trainer-xy : 训练仪表盘

训练过程可视化。动态绘制训练的 loss 等信息,并且可以发送消息来暂停/继续训练进程。 由于训练进程和可视化的进程是独立的,所以关闭可视化进程不会影响训练进程,且重新打开可视化进程时, 仍然能正常显示。

特点

设:1各项目下有n次训练,1个训练会向m个消息队列发送消息。 设1个消息队列相当于sql中的一个表,则1次训练相当于一个数据库。 因此,消息队列中的各个队列需要知道他们所属的是哪个训练库。 由于消息队列中的数据会转存到sql中,所以, 在 sql 中,使用训练的名字作为库名,每个队列对应一个表。

  • 系统各进程独立,进程间使用消息队列通信。可视化(app)进程不会阻塞训练进程。 由于各部分是分开的,所以即便关闭前后端的可视化进程,也不会影响训练。并且重新打开可视化进程时, 也不会有任何影响。

  • 绘图是动态的,不断训练,不断绘图

  • 可以在前端页面上暂停/继续训练进程

  • 在同一个项目下,可能会对数据进行多次尝试性的训练,每个训练都会有记录(每个训练都属于这个项目名), 可以切换查看训练结果。

  • 在 msmg 中,可以一次性删除某个训练的所有队列信息。因为一个训练会有m个信息队列。

  • 在 sql 中,使用训练的名字作为库名,每个队列对应一个表。

  • 对项目整体结构有较强的要求,需要有标准的 model,config,dataset,train函数等

  • 整体依赖性较强,但修改起来也比较方便。比如:要增加一项数据,只需要增加响应的前后端程序即可

环境配置

rabbitmq

使用 3.8.0 版本的rabbitmq,对应的 erlang 版本是 22.1。换用其他版本时,需要注意版本之间的配合。

mysql

后端数据存储使用 mysql,mysql 版本是 5.6.41. 当然,由于存储时直接使用的 pandas ,所以可以使用 pandas 支持的任何数据库, 而不仅仅是 mysql 。pandas 以及 ORM 框架使得切换数据库很方便。

vue

vue cli 版本是 4.0.5。(不做开发不需要配置)

node

node 版本是 11.14.0。(不做开发不需要配置)

python

python 需要是 3.5/3.6 ,版本太高可能会有一定的问题。

依赖说明

后端依赖

  • numpy==1.14.5
  • pandas==0.23.4
  • pika==1.1.0
  • ujson==1.35
  • sanic==19.3.1
  • dill==0.3.1.1
  • Sanic_Cors==0.9.8
  • PyMySql>=0.9.2
  • SQLAlchemy>=1.2.13

trainer 依赖

  • nvidia_ml_py3==7.352.0
  • psutil==5.4.7
  • dataset_xy==1.0.0
  • tf (自选)
  • keras (自选)
  • pytorch (自选)

安装

pip

pip install trainer-xy

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

trainer-xy-0.0.1.tar.gz (66.2 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page