使用 Aim,高效管理我们的炼丹实验
点击下方卡片,关注 AIZOO 公众号
AI 重磅干货,第一时间送达
喜欢就关注 AIZOO 吧!
在我们炼丹的时候,经常面临需要做多组实验,但是实验结果又不好管理的情况。今天看 Github 的时候,发现了一个不错的机器学习实验管理工具,可以很方便的集成进 PyTorch、 TensorFlow 和 XGBoost 等知名的训练框架。
废话不说,先上链接:
https://github.com/aimhubio/aim
Aim 的 logo 和介绍如下:
![098c99990ce74481684722938b7bf714.png](https://img-blog.csdnimg.cn/img_convert/098c99990ce74481684722938b7bf714.png)
翻译过来就是:Aim 记录你的训练过程,还可以用很漂亮的 UI 界面来比较多组实验,另外,还有 API 工具去用代码查询多组实验记录。
介绍
Aim 是一个开源、自托管的 ML 实验跟踪工具。Aim 擅长跟踪大量(1000 次级别)运行,可以用高性能和漂亮的 UI 进行训练结果的查看和比较。
您不仅可以通过 UI 使用 Aim,还可以通过代码查询训练记录,以实现自动化分析。Aim 的使命是让 AI 开发工具大众化。
看官方展示的动图,管理页面的确挺酷炫的。
目前 Aim 已经集成了多个知名的机器学习和深度学习训练框架,包括 PyTorch、TensorFlow、Keras、XGBoost。
![5e41fc32250d7ea20f1665b0a0f6f29f.png](https://img-blog.csdnimg.cn/img_convert/5e41fc32250d7ea20f1665b0a0f6f29f.png)
安装和使用
Aim 的安装和使用真的挺简单的。元峰也安装使用了一下,的确简单。
step1 安装
pip3 install aim
step2 把 Aim 插入训练代码
Aim 可以很简单的插入 PyTorch、TF 等框架,并实现了很多插件。以 PyTorch 为例,示例代码:
from aim import Run, Image, Distribution
# Initialize a new run
run = Run()
# Log run parameters
run["hparams"] = {
"learning_rate": 0.001,
"batch_size": 32,
}
# Log artefacts
for step in range(1000):
# Log metrics
run.track(loss_val, name='loss', step=step, context={ "subset": "train" })
run.track(accuracy_val, name='acc', step=step, context={ "subset": "train" })
# Log images
run.track(Image(tensor_or_pil, caption), name='gen', step=step, context={ "subset": "train" })
# Log distributions
run.track(Distribution(tensor), name='gradients', step=step, context={ "type": "weights" })
step 3 打开 UI 界面
在训练代码所在的目录,打开终端,直接aim up
然后在浏览器输入它给出的 访问地址,在浏览器打开,就可以看到页面了, Aim提供的工具还挺多的。
例如,指标管理:
![5c73d9d4af37204523803465a0502931.png](https://img-blog.csdnimg.cn/img_convert/5c73d9d4af37204523803465a0502931.png)
图片可视化:
参数可视化:
![7cd49ab3f0cf69a9d02246c6ed0bd151.png](https://img-blog.csdnimg.cn/img_convert/7cd49ab3f0cf69a9d02246c6ed0bd151.png)
我的实验
因为早晨时间有限,我只在 PyTorch 上进行了一个简单的实验,插入的代码也很简单:
run.track(loss, name='train_loss', step=batch_idx, context={ "subset": "train" })
只记录了一个 loss 的变化。
![e5296a15b16428616b9cc796819ec760.png](https://img-blog.csdnimg.cn/img_convert/e5296a15b16428616b9cc796819ec760.png)
这个工具真的挺智能的,如果我们启动多次训练,它会自动的记录多组实验。例如,我启动了 2 次训练,可以看到它自动的记录了 2次 实验的结果。
其他的机器学习管理工具列表:
除了本文介绍的 Aim 外,还有一些知名的 AI 实验管理工具,打开可以自行在 Github 查看。
wandb.ai
comet.ml
neptune.ai
allegro trains
mlflow
guild.ai
sacred
test-tube
tensorboard
时间有限,我要去上班搬砖了,今天的分享先简单一些,抱歉~
欢迎扫描下方的二维码添加小助手微信,邀请您加入我们的微信交流群。
群里有多位清北复交、BAT、AI独角兽大牛和众多深度学习er在一起愉快的交流技术,有任何问题,都可以咨询大家,欢迎你的加入哦。
添加小助手微信,邀您进 AIZOO 技术交流群
听说点个在看的人运气都很好~
三十年1: 这个库windows根本装不了
m0_67472514: pip下载不了啊,本地安装的话显示错误
NullSite: 'science' is not a valid package style, path of style file, URL of style file, or library style name (library styles are listed in `style.available`)
Serendipity-mx: SSD中有长条的目标,比例应该怎么设置呢
花椰菜2020: 您好,请问可以分享一下代码吗,谢谢