使用 Aim,高效管理我们的炼丹实验

点击下方卡片,关注 AIZOO 公众号

AI 重磅干货,第一时间送达

喜欢就关注 AIZOO 吧!

在我们炼丹的时候,经常面临需要做多组实验,但是实验结果又不好管理的情况。今天看 Github 的时候,发现了一个不错的机器学习实验管理工具,可以很方便的集成进 PyTorch、 TensorFlow 和 XGBoost 等知名的训练框架。

废话不说,先上链接:

https://github.com/aimhubio/aim

Aim 的 logo 和介绍如下:

098c99990ce74481684722938b7bf714.png

翻译过来就是:Aim 记录你的训练过程,还可以用很漂亮的 UI 界面来比较多组实验,另外,还有 API 工具去用代码查询多组实验记录。

介绍

Aim 是一个开源、自托管的 ML 实验跟踪工具。Aim 擅长跟踪大量(1000 次级别)运行,可以用高性能和漂亮的 UI 进行训练结果的查看和比较。

您不仅可以通过 UI 使用 Aim,还可以通过代码查询训练记录,以实现自动化分析。Aim 的使命是让 AI 开发工具大众化。

看官方展示的动图,管理页面的确挺酷炫的。

e6be517bb1b7e66d4811f741449bde40.png

目前  Aim 已经集成了多个知名的机器学习和深度学习训练框架,包括 PyTorch、TensorFlow、Keras、XGBoost。

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

图片可视化:‍

7f3db6a36b405fb2fc408df6d4ba2b8d.png


参数可视化:

7cd49ab3f0cf69a9d02246c6ed0bd151.png

我的实验

因为早晨时间有限,我只在 PyTorch 上进行了一个简单的实验,插入的代码也很简单:

run.track(loss, name='train_loss', step=batch_idx, context={ "subset": "train" })

只记录了一个 loss 的变化。

e5296a15b16428616b9cc796819ec760.png

这个工具真的挺智能的,如果我们启动多次训练,它会自动的记录多组实验。例如,我启动了 2 次训练,可以看到它自动的记录了 2次 实验的结果。9616041a910d79ca63b57c085268777a.png

其他的机器学习管理工具列表:

除了本文介绍的 Aim 外,还有一些知名的 AI 实验管理工具,打开可以自行在 Github 查看。

  • wandb.ai

  • comet.ml

  • neptune.ai

  • allegro trains

  • mlflow

  • guild.ai

  • sacred

  • test-tube

  • tensorboard

时间有限,我要去上班搬砖了,今天的分享先简单一些,抱歉~

88fa5f285ed6164658f43ab45049c7c2.png

欢迎扫描下方的二维码添加小助手微信,邀请您加入我们的微信交流群。

群里有多位清北复交、BAT、AI独角兽大牛和众多深度学习er在一起愉快的交流技术,有任何问题,都可以咨询大家,欢迎你的加入哦。

0f15b77d28041c30ffda19f013679b33.png

 添加小助手微信,邀您进 AIZOO 技术交流群

听说点个在看的人运气都很好~

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值