炼丹神器 Aim,高效管理炼丹实验

AI算法与图像处理

共 2710字,需浏览 6分钟

 ·

2022-02-13 07:27

点击下方AI算法与图像处理”,一起进步!

重磅干货,第一时间送达


AI算法与图像处理
考研逆袭985,非科班跨行AI,目前从事计算机视觉的工业和商业相关应用的工作。分享最新最前沿的科技,共同分享宝贵的资源资料,这里有机器学习,计算机视觉,Python等技术实战分享,也有考研,转行IT经验交流心得
公众号

AI算法与图像处理
考研逆袭985,非科班跨行AI,目前从事计算机视觉的工业和商业相关应用的工作。分享最新最前沿的科技,共同分享宝贵的资源资料,这里有机器学习,计算机视觉,Python等技术实战分享,也有考研,转行IT经验交流心得
公众号


AI算法与图像处理
考研逆袭985,非科班跨行AI,目前从事计算机视觉的工业和商业相关应用的工作。分享最新最前沿的科技,共同分享宝贵的资源资料,这里有机器学习,计算机视觉,Python等技术实战分享,也有考研,转行IT经验交流心得
公众号


AI算法与图像处理
考研逆袭985,非科班跨行AI,目前从事计算机视觉的工业和商业相关应用的工作。分享最新最前沿的科技,共同分享宝贵的资源资料,这里有机器学习,计算机视觉,Python等技术实战分享,也有考研,转行IT经验交流心得
公众号



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


废话不说,先上链接:

https://github.com/aimhubio/aim

Aim 的 logo 和介绍如下:

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

介绍

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

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

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



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

安装和使用

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提供的工具还挺多的。

例如,指标管理:

图片可视化:


参数可视化:

我的实验

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

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

只记录了一个 loss 的变化。

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

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

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

  • wandb.ai

  • comet.ml

  • neptune.ai

  • allegro trains

  • mlflow

  • guild.ai

  • sacred

  • test-tube

  • tensorboard


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


努力分享优质的计算机视觉相关内容,欢迎关注:

交流群


欢迎加入公众号读者群一起和同行交流,目前有美颜、三维视觉计算摄影、检测、分割、识别、NeRF、GAN算法竞赛等微信群


个人微信(如果没有备注不拉群!
请注明:地区+学校/企业+研究方向+昵称



下载1:何恺明顶会分享


AI算法与图像处理」公众号后台回复:何恺明,即可下载。总共有6份PDF,涉及 ResNet、Mask RCNN等经典工作的总结分析


下载2:终身受益的编程指南:Google编程风格指南


AI算法与图像处理」公众号后台回复:c++,即可下载。历经十年考验,最权威的编程规范!



下载3 CVPR2021

AI算法与图像处公众号后台回复:CVPR即可下载1467篇CVPR 2020论文 和 CVPR 2021 最新论文



浏览 64
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报