内容简介:注:本文转载自公众号AIArea,作者mantchModel Log 是一款基于 Python3 的轻量级机器学习(Machine Learning)、深度学习(Deep Learning)模型训练评估指标可视化工具,与 TensorFlow、Pytorch、PaddlePaddle结合使用,可以记录模型训练过程当中的https://github.com/NLP-LOVE/Model_Log
注:本文转载自公众号AIArea,作者mantch
1. Model Log 介绍
Model Log 是一款基于 Python 3 的轻量级机器学习(Machine Learning)、深度学习(Deep Learning)模型训练评估指标可视化工具,与 TensorFlow、Pytorch、PaddlePaddle结合使用,可以记录模型训练过程当中的 超参数、Loss、Accuracy、Precision、F1值等,并以曲线图的形式进行展现对比 ,轻松三步即可实现。GitHub项目地址:
https://github.com/NLP-LOVE/Model_Log
通过调节超参数的方式多次训练模型,并使用 Model Log 工具进行记录,可以很直观的进行模型对比,堪称调参神器。以下是使用 工具 后模型训练时 Loss 的变化曲线图。访问线上体验版:
http://mantchs.com/model_log.html
通过上图可以很清晰的看出两个模型的训练效果,而且在表格当中高亮显示修改过的超参数,方便进行模型分析。
2. Model Log 特性
-
轻量级、无需任何配置、极简API、开箱即用。
-
只需要把模型的超参数和评估指标数据通过API添加即可,轻松三步即可实现。
-
高亮显示修改过的超参数,方便进行模型分析。
-
自动检测和获取正在训练的模型数据,并进行可视化,无需人工参与。
-
使用 SQLite 轻量级本地数据库存储,可供多个用户同时使用,保证每个用户看到的数据是独立的。
-
可视化组件采用 Echarts 框架,交互式曲线图设计,可清晰看到每个 epoch 周期的指标数据和变化趋势。
3. Model Log 演示地址
访问线上体验版:
http://mantchs.com/model_log.html
4. Model Log 安装
Python3 版本以上,通过 pip 进行安装即可。
pip install model-log
注意:若安装的过程中出现以下情况,说明 model-log 命令已经安装到Python下的bin目录中,如果直接输入 model-log 可能会出现 command not found,可以直接到bin目录下执行。
5. Model Log 使用
5.1 启动 web 端
Model Log 安装成功后,Linux、Mac用户直接终端输入以下命令,Windows用户在cmd窗口输入:
model-log
默认启动 5432端口 ,可以在启动命令上使用参数 -p=5000 指定端口号。若提示命令不存在,可以直接到Python/3.7/bin目录下执行。
启动后可在浏览器输入网址进入:http://127.0.0.1:5432
也可访问线上体验版:
http://mantchs.com/model_log.html
-
web首页是项目列表,一个项目可以有多个模型,这些模型可以在曲线图中直观比较。
-
web 端会自动检测是否有新模型开始训练,如果有,直接会跳转到相应的 loss 等评价指标页,同时会自动获取指标数据进行呈现。
-
可供多个用户使用,添加昵称即可,SQLite 轻量级本地数据库存储,保证每个用户看到的数据是独立的。
-
通过点击曲线图下方的图例,可切换不同模型的评估曲线。
切换曲线
5.2 Model Log API使用
轻松三步即可使用
-
第一步:先创建 ModelLog 类,并添加必要的属性
from model_log.modellog import ModelLog
"""
:param nick_name: str,昵称,多人使用下可起到数据隔离。
:param project_name: str,项目名称。
:param project_remark: str,项目备注,默认为空。
项目名称如不存在会新建
"""
model_log = ModelLog(nick_name='mantch', project_name='demo实体识别', project_remark='')
"""
:param model_name: str,模型名称
"""
model_log.add_model_name(model_name='BILSTM_CRF模型')
"""
:param remark: str,模型备注
"""
model_log.add_model_remark(remark='模型备注')
"""
:param param_dict: dict,训练参数字典
:param param_type: str,参数类型,例如:TF参数、Word2Vec参数等。
"""
model_log.add_param(param_dict={'lr':0.01}, param_type='tf_param') -
第二步:模型训练的每次 epoch (周期)可以添加评估指标数据,评估指标可以进行以下选择。
第一次调用该 API 时,会把以上设置的数据(模型名称、备注等)持久化到 SQLite 数据库,并且 web 端会自动获取评估指标数据进行图形化展示。
"""
:param metric_name: str,评估指标名称,
可选择['train_loss', 'test_loss', 'test_acc', 'test_recall', 'test_precision', 'test_F1']
:param metric_value: float,评估指标数值。
:param epoch: int,训练周期
metric_name 参数只可以选择以上六种
第一次调用该 API 时,会把以上设置的数据(模型名称、备注等)持久化到 SQLite 数据库,并且 web 端会自动获取数据进行图形化展示。
可以在每个 epoch 周期的最后使用该 API 添加训练集和测试集的评估指标,web 端会自动获取该数据。
"""
model_log.add_metric(metric_name='train_loss', metric_value=4.5646, epoch=1) -
第三步:模型训练完成后,可以添加最好的一次评估数据。
"""
:param best_name: str,最佳评估指标名称,
:param best_value: float,最佳评估指标数值。
:param best_epoch: int,训练周期
添加当前模型训练中最佳的评估数据,一般放到模型训练的最后进行添加。
"""
model_log.add_best_result(best_name='best_loss', best_value=1.2122, best_epoch=30)
"""
关闭 SQLite 数据库连接
"""
model_log.close()
5.3 Model Log 使用示例
MIST手写数字识别: https://github.com/NLP-LOVE/Model_Log/blob/master/demo_TF_MIST.py
推荐阅读
征稿启示| 200元稿费+5000DBC(价值20个小时GPU算力)
文本自动摘要任务的“不完全”心得总结番外篇——submodular函数优化
斯坦福大学NLP组Python深度学习自然语言处理工具Stanza试用
关于AINLP
AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括文本摘要、智能问答、聊天机器人、机器翻译、自动生成、知识图谱、预训练模型、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLPer(id:ainlper),备注工作/研究方向+加群目的。
阅读至此了,分享、点赞、在看三选一吧:pray:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- Flutter 实现平滑曲线折线图
- MPAndroidChart项目实战(二)——双平滑曲线(双折线图)和MarkView实现
- 回归模型的评估指标
- 与你生活密切相关的排序算法的评估指标
- 神经网络的“刚性”(自恰性):谷歌评估泛化能力新指标,Stiffness
- ICML新研究提出泛化能力评估新指标:直接上向量余弦距离就OK,还开源了相关代码
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Computer Age Statistical Inference
Bradley Efron、Trevor Hastie / Cambridge University Press / 2016-7-21 / USD 74.99
The twenty-first century has seen a breathtaking expansion of statistical methodology, both in scope and in influence. 'Big data', 'data science', and 'machine learning' have become familiar terms in ......一起来看看 《Computer Age Statistical Inference》 这本书的介绍吧!
随机密码生成器
多种字符组合密码
RGB HSV 转换
RGB HSV 互转工具