人工智能方向的项目,和数据可视化是紧密相连的。python
模型训练过程当中梯度降低过程是什么样的?损失函数的走向如何?训练模型的准确度怎么变化的?web
清楚这些数据,对咱们模型的优化相当重要。编程
因为人工智能项目每每伴随着巨大数据量,用肉眼去逐个数据查看、分析是不显示的。这时候就须要用到数据可视化和日志分析报告。微信
TensorFlow自带的Tensorboard在模型和训练过程可视化方面作得愈来愈好。可是,也愈来愈臃肿,对于初入人工智能的同窗来讲有必定的门槛。机器学习
人工智能方面的项目变得愈来愈规范化,以模型训练、数据集准备为例,目前不少大公司已经发布了各自的自动机器学习平台,让工程师把更多精力放在优化策略上,而不是在准备数据、数据可视化方面。编辑器
本文,就来给你们介绍一款新型的机器学习可视化IDE,可以让人工智能研发过程变得更加简单明了。函数
wandb
wandb是Weights & Biases的缩写,这款工具可以帮助跟踪你的机器学习项目。它可以自动记录模型训练过程当中的超参数和输出指标,而后可视化和比较结果,并快速与同事共享结果。
工具
经过wandb,可以给你的机器学习项目带来强大的交互式可视化调试体验,可以自动化记录Python脚本中的图标,而且实时在网页仪表盘展现它的结果,例如,损失函数、准确率、召回率,它可以让你在最短的时间内完成机器学习项目可视化图片的制做。学习
总结而言,wandb有4项核心功能:大数据
-
看板:跟踪训练过程,给出可视化结果 -
报告:保存和共享训练过程当中一些细节、有价值的信息 -
调优:使用超参数调优来优化你训练的模型 -
工具:数据集和模型版本化
也就是说,wandb并不单纯的是一款数据可视化工具。它具备更为强大的模型和数据版本管理。此外,还能够对你训练的模型进行调优。
wandb另一大亮点的就是强大的兼容性,它可以和Jupyter、TensorFlow、Pytorch、Keras、Scikit、fast.ai、LightGBM、XGBoost一块儿结合使用。
所以,它不只能够给你带来时间和精力上的节省,还可以给你的结果带来质的改变。
举几个例子:
验证数据可视化
wandb会自动选取一部分验证数据,而后把它展现到面板上。例如,手写体预测的结果、目标识别的包围盒。
天然语言
使用自定义图表可视化基于NLP注意力的模型
这里只给出2个示例,除了这些,它目前还有更多实用有价值的功能。并且,它还不断在增长新功能。
使用教程
官方称wandb为IDE,可是它更像TensorFlow、Pytorch同样,是一款高级Python第三方工具包。它的安装、使用都和Python其余工具包大同小异。
安装
wandb的使用须要Python3,安装很是简单,直接经过pip
命令便可安装:
$ pip install wandb
登陆网站
使用wandb须要登陆wandb网站,你能够建立一个新帐号,也能够用GitHub或者Google帐号进行登陆。
登陆以后,你会发现它像不少其余的web版IDE同样,能够建立项目,并且每一个项目下都会有各类看板、报告。
API Keys
登陆以后,点击右上角头像,进入User Settings,能够看到有API Keys。这个API Keys主要用于登陆,用于链接桌面项目和wandb后台系统。
回到本身电脑桌面,打开终端,使用API Keys进行登陆:
$ wandb login <YOUR API KEYS>
记得,<YOUR API KEYS>
要替换成你本身的API Keys。
训练脚本
到此为止,工具层面的配置已经完成了,你须要的就是准备好你的训练脚本。
训练脚本的准备和正常状况彻底同样,像导入其余工具包同样导入wandb,在wandb能够定义配置参数、dropout、日志监控等。
这里,给一个简单的示例,写一个名为train.py
的脚本:
# Init wandb
import wandb
wandb.init(project="demo")
# Model instantiation code ...
# Log metrics with wandb
for _ in range(num_epochs):
train_model()
loss = calulate_loss()
wandb.log({"Loss": loss})
# Save model to wandb
np.save("weights", weights)
wandb.save("weights.npy")
能够发现,它和Tensorboard的使用有一些相通之处,直接能够在代码中定义初始化、上传日志、保持模型。
开始训练
工具配置完了,训练脚本也准备完了,下面开始训练模型便可。
$ python train.py
这些步骤都是在本地终端下完成的,必定不要忘记前面第3步,用API Keys登陆。
这样的话,执行训练以后,它会在网页端wandb项目管理界面自动添加一个对应的项目,点击进入这个项目,就能够看到看板、报告等内容。
推荐阅读
福利
最近我花费了半个月的时间,整理了1份理论+实践的计算机视觉入门教程,这或许是你见过最好的一份CV教程之一。独家打造、彻底免费,须要的同窗能够扫码添加个人我的微信,发送“CV”获取~
本文分享自微信公众号 - 七步编程(CodeSteps)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。