
人工智能MLOps数据可视化【免费下载链接】aimAim — An easy-to-use supercharged open-source experiment tracker.项目地址https://gitcode.com/gh_mirrors/ai/aim点击查看免费下载本文以仓库根目录的 CHANGELOG.md 为事实主线结合 aim/ 目录下的源码实现系统梳理 AimAim 开源实验追踪器从 2019 年 9 月首个版本 0.1.0 到当前 3.29.1 的完整演进史。读者将能从中掌握Aim 的存储引擎、SDK 追踪能力、框架集成矩阵、UI Explorer 体系、远程追踪与 CLI 工具链分别是在哪个版本引入或重构的以及这些变更背后对应的真实代码位置从而更好地理解并使用当前版本的能力。一、版本总览与演进阶段划分CHANGELOG 记录了 Aim 从 0.1.02019-09-23到 3.29.12025-05-08共六个大版本阶段的演进仓库当前发布版本为 3.29.1见 aim/VERSION由 aim/version.py 读取并暴露给包使用。按 CHANGELOG 记录可以大致划分为以下阶段阶段版本区间时间跨度核心主题初始骨架0.1.0 ~ 0.2.92019.09 ~ 2019.11CLI、远程推送、模型追踪的基础设施搭建早期追踪1.0.0 ~ 1.2.172019.12 ~ 2020.05超参数/指标/图像 artifact 追踪、Board开发环境SDK 与查询语言2.0.0 ~ 2.7.12020.06 ~ 2021.06SDKselect/track、AimQL 查询、框架适配器、Flask 服务存储与 UI 革命3.0.0 ~ 3.0.72021.10 ~ 2021.11RocksDB 存储、全新 UI、Explorer 体系持续迭代期3.1.0 ~ 3.29.12021.11 ~ 2025.05远程追踪成熟化、转换工具、集成矩阵扩充、性能与稳定性打磨从源码结构看当前仓库的代码布局也正是上述演进沉淀的结果aim/sdk/承载追踪 SDKaim/storage/承载存储与索引aim/web/承载 Web UI 与 APIaim/cli/承载命令行入口aim/ext/承载通知、传输、插件等扩展能力。二、3.0.0 里程碑存储引擎与 UI 的彻底重构3.0.02021-10-21是 CHANGELOG 中最重要的转折点标记为 Completely revamped UI 与 Completely revamped storage存储重构从早期自研 artifact 记录格式切换到基于 RocksDB 的嵌入式存储。CHANGELOG 记录宣称存储性能提升10x并给出基准数据约 2000 个 run 上平均 run 查询执行时间0.784s约 2000 个 run / 6000 个 metric 的平均 metric 查询执行时间1.552s。注意这些数字是 CHANGELOG 发布时自测记录并非本文评估结论。UI 重构全新的 Runs、Metrics、Params 三个 Explorer 页面加上 Bookmarks、Tags、HomepageCHANGELOG 记录称新 UI 可在同时展示约 500 个 metric 时保持流畅的表格交互。对应的实现沉淀在今天仓库的多处源码中aim/storage/rockscontainer.pyxCython 实现 RocksDB 容器与 aim/storage/container.py、aim/storage/treeview.py 构成存储核心3.10.0 起进一步引入cimport可用的aimrocks绑定见 CHANGELOG 3.10.0 条目 Integrate aim with cimport-able aimrocks。3.0.x 系列持续打磨存储3.0.4 切换到 aimrocks 0.0.10 并暴露数据刷写接口、run 结束后优化存储数据、aim reindex命令改为执行存储优化可参考 aim/cli/storage/commands.py3.0.2 切换到基于 rocksdb 6.25.3 的 aimrocks 0.0.9。UI 前端在 aim/web/ui/aim_ui/src/ 下pages/目录可以清楚看到各 Explorer 的沉淀Metrics、Params、Scatters、ImagesExplore、TextExplorer、FiguresExplorer、AudiosExplorer、Runs 等3.13.0 引入的 Base Explorer 则落在 aim/web/ui/aim_ui/src/modules/BaseExplorer/CHANGELOG 记为 Add Base Explorer as core of all explorers。三、追踪能力与 SDK 的演进脉络CHANGELOG 展示了 SDK 追踪能力从简单到丰富的完整路径这些能力在 aim/sdk/run.py 及 aim/sdk/sequences/ 中均有对应实现。3.1 早期0.x ~ 1.xartifact 追踪的雏形0.1.0 建立 初始骨架基础 CLI、远程推送、多指标track支持。1.0.02019-12-25加入超参数追踪、模型梯度追踪、模型权重分布追踪、commit 结构与 git 同步1.2.x 加入图像列表追踪、图像语义分割追踪、Metric记录用 protobuf aimrecords 序列化对应 aim/storage/encoding/ 与 aim/storage/hashing/ 的序列化/哈希基础。3.2 SDK 查询能力2.0.x2.0.6 引入select方法与 AimQL 搜索查询语言2.0.13 支持按 metric 值查询 run2.0.8 支持按 run 属性搜索、run 归档/取消归档默认只选择未归档 run。2.0.7 引入 SDK Session2.0.22 增加close方法关闭悬空 experiment2.0.24 让track在并行线程中运行并支持定时 flush。3.3 序列类型与媒体追踪3.1 ~ 3.173.x 阶段把追踪对象抽象为 Sequence 体系aim/sdk/sequences/ 下的metric.py、image_sequence.py、audio_sequence.py、text_sequence.py、figure_sequence.py、distribution_sequence.py与 CHANGELOG 逐条对应3.1.0Images Explorer图像追踪可视化3.2.0distributions 追踪与可视化3.3.0音频、文本、plotly figure 追踪distributions 按 step 区间与密度查询3.10.0支持动图格式的 Aim Image 对象3.13.0Figures Explorer。3.5.0系统参数追踪CLI、环境变量、可执行文件、Git、已安装包实现参考 aim/sdk/utils.py 中的get_environment_variables、get_git_info、get_installed_packages被 aim/sdk/run.py 导入使用同时支持导入 TensorFlow events、aim runs的cp/mv子命令、matplotlib figure 处理、嵌套非原生对象如 OmegaConf 配置实例存储转换。3.10.0 / 3.16.0支持追踪并可视化 stdout/stderr 日志run 页 Logs 标签3.16.2 进一步为 adapters 暴露capture_terminal_logs参数。3.14.0Run.track支持直接传字典作为参数。3.18.1为 metric 增加min/max/first值追踪与可视化3.29.1修复单点 metric 的 min/max 计算问题。3.4 Python 环境兼容性演进1.2.2/1.2.3 将最低 Python 版本下调至 3.5.22.0.21 修复 3.5.0 兼容问题。3.14.0 弃用 Python 3.63.16.0 正式放弃 Python 3.6 并支持 3.113.21.0 支持 Python 3.123.29.1 修复 Linux/Python 3.7 的包发布问题。3.28.0 加入py.typed标记仓库根目录可见 py.typed让类型标注可被静态工具消费。四、框架集成矩阵的持续扩充CHANGELOG 详细记录了 Aim 与各训练框架/库的集成进度这些集成最终沉淀为 aim/sdk/adapters/ 下成体系的适配器文件版本新增集成对应适配器文件当前仓库2.0.x / 2.2.0Keras、PyTorch Lightning、TensorFlow v1/v2、Hugging Facekeras.py、pytorch_lightning.py、tensorflow.py、hugging_face.py2.4.0XGBoost3.8.0 重构xgboost.py3.8.0DVC、reopenable callbacks、Nth step 序列 APIdvc_metadata.py3.10.0CatBoost 的AimLogger、LightGBM 的AimCallbackcatboost.py、lightgbm.py3.14.0fast.ai、MXNetfastai.py、mxnet.py3.15.0PaddlePaddle、Optunapaddle.py、optuna.py3.16.0Stable-Baselines3、Acme、HuggingFace datasetssb3.py、acme.py、hf_dataset.py3.13.0Keras-Tunerkeras_tuner.py3.6.0Pytorch Ignitepytorch_ignite.py3.28.0Hugging Face 分布式 run 的AimCallbackdistributed_hugging_face.py配套的完整可运行示例集中在仓库 examples/ 目录例如 pytorch_lightning_track.py、hugging_face_track.py、keras_track.py 等均与 CHANGELOG 中的集成版本一一对应。此外3.17.5 加入 activeloop deeplake 插件deeplake_dataset.py3.16.0 为 HuggingFace Transformers 加入模型信息与多数据集日志能力3.25.0 支持创建 Reports2.7.0 引入 Dashboards 与 Apps APIaim/web/api/。五、UI 与 Explorer 体系的版本化演进CHANGELOG 是观察 Aim UI 能力扩张的最佳索引核心节点如下3.0.0Runs / Metrics / Params Explorer 全新 UI。3.13.0Base Explorer 成为所有 Explorer 的统一内核Figures Explorer 支持 plotly 图可视化与对比支持从表格对比选中 run。3.17.0Metrics Explorer v2基于 Base Explorer 实现、Text Explorer文本过滤与对比、UI kit v2 铺垫。3.15.0Metrics Explorer 图表图例3.14.0Dashboard 引导页3.6.0图表导出为图片、按metric.context分组3.12.0手动设置折线图坐标轴范围、按 metric 末值排序、表格列虚拟化3.10.0表格内容密度调节。单 run 页Run Detail持续增强3.7.0 增加 Run overview 标签页3.9.0 增加 Notes 标签页3.8.0 在所有 run 表格加入 run 描述列3.11.0 支持编辑 run 名称与描述3.6.0 加入 run 数据自动索引3.11.0 增加active状态指示。3.24.0Aim UI 增加只读模式对应 aim/cli/up/commands.py 中的--read-only选项通过AIM_READ_ONLY_UI环境变量生效。3.2.0 起支持 AimQL 搜索建议列表3.11.0 起用 monaco editor 作为全局语法高亮器前端配置见 aim/web/ui/aim_ui/src/config/monacoConfig/3.21.0 支持删除整个 experiment3.25.0 支持创建 Reports。从 aim/web/ui/aim_ui/src/pages/ 目录结构可以看出这些 Explorer 页面在代码层面的完整落位Metrics、Scatters、ImagesExplore、TextExplorer、FiguresExplorer、AudiosExplorer、Runs、Tags、Bookmarks、Dashboard、Experiment、RunDetail、Reports 等。六、存储、索引与结构化数据库的演进存储与索引是 CHANGELOG 后半段反复出现的主题直接对应 aim/storage/ 与 aim/sdk/index_manager.py3.0.xRocksDB 存储落地与 aimrocks 版本迭代、run 数据优化、aim reindex承担存储优化职责。3.6.0Aim repo 的 run 数据自动索引Aim repo runs data automatic indexing。3.14.0aim reindex命令迁入aim storage命令组当前见 aim/cli/storage/commands.py3.20.1将 reindex 重新定位为索引库重建工具并处理索引库损坏时在 UI 中告警、跳过损坏 run。3.15.0实现 Aim Runs 的健壮锁与索引机制3.17.4用 meta-locks 实现索引锁的安全强制获取。3.26.0通过序列元数据分离显著提升 metric 查询性能Improved performance of metric queries by sequence metadata separation。3.29.1对进行中的 run 做持续索引Constant indexing of in-progress runs并在索引库缺失时回退到 union view对应 aim/storage/union.pyx。结构化 DBSQLAlchemy Alembic 迁移方面3.18.1 支持sqlalchemy 2.0且兼容2.0迁移脚本在 aim/storage/migrations/versions/ 与 aim/web/migrations/versions/3.16.1 将alembic1.5.0锁定进依赖。3.19.0 移除aim storage upgrade 2to3命令标志早期 2.x 存储格式的正式退役。七、远程追踪Remote Tracking的成熟之路远程追踪RTS在 CHANGELOG 中经历了从实验性到生产化的完整历程对应 aim/ext/transport/ 目录下的传输层实现client、server、handlers、heartbeat、router、tracking、request_queue 等3.4.0Remote tracking server 首次以[experimental]标记引入同时加入 run 硬删除、批量归档/删除能力。3.15.0实现垂直可扩展版本的 Remote TrackingImplement vertically scalable version of Remote Tracking并在 3.14.2 修复远端心跳资源清理。3.12.0RTS client 与 server 版本检查、client 心跳heartbeat3.16.0支持 RTS 地址的子路径与事件信号。3.19.0以 HTTP/WebSocket 传输取代 gRPC 作为 tracking server 的传输协议源码即 aim/ext/transport/3.19.2 修复远程追踪协议探测失败与 live update 问题3.19.1 允许不带尾斜杠的请求。3.24.0远程追踪支持批量更新Support of mass updates in remote tracking3.25.0支持自签名 SSL 证书对应aim up/server 的--ssl-keyfile/--ssl-certfile选项见 aim/cli/up/commands.py。3.17.4 起 CLI 支持远程 repo 操作--repo指向远程地址。八、CLI 命令体系的演进CHANGELOG 逐条记录了 CLI 的扩充。当前 CLI 由 aim/cli/cli.py 组装共 7 个命令组init、version、up、server、runs、convert、storage。关键演进节点aim init3.1.0 支持--repo指定仓库路径3.23.0 增加-s/--skip-if-exists避免重复初始化见 aim/cli/init/commands.py 中该选项与-y/--yes的冲突校验逻辑3.17.0 起各 CLI 命令统一支持-y自动确认。aim up2.0.2 引入aim up快捷命令3.9.0 增加--log-level3.11.0 增加--udsUnix domain socket3.7.0 提供 Docker 镜像docker/Dockerfile3.2.1 支持自定义 API base path3.3.0 支持自定义 URL prefix对应 aim/cli/up/commands.py 中的--base-path。启动链路会先执行结构化 DB 升级build_db_upgrade_command再启动索引管理器RepoIndexManager与 run 状态管理器RunStatusManager最后拉起 uvicorn 服务 aim/web/run.py。aim runs3.6.0 支持子命令通配符3.5.0 增加cp/mv3.14.0 增加 dangling params 清理命令见 aim/cli/runs/commands.py。aim convert3.6.0 加入 MLflow 日志转换3.13.0 加入 Weights Biases 转换转换处理器在 aim/cli/convert/processors/ 下分为mlflow.py、tensorboard.py、wandb.py3.16.0 为 wandb 转换增加 x 轴对齐与系统日志追踪选项3.12.0 支持 tensorboard audios 转换3.5.0 支持解析导入 TensorFlow events。aim server与aim up共享传输与 SSL 能力2.0.18 起支持 detached 模式与指定 repo 路径运行 UI。九、通知、插件与运维扩展3.15.0实现 Aim callbacks 系统与扩展通知Implement Aim callbacks system and extended notifications对应 aim/ext/notifier/含 slack、workplace、logging 等通知器实现与 config_default.json 配置模板与 aim/sdk/callbacks/。3.13.0增加失败/停滞 run 的用户通知3.26.0增加统计 dump 脚本用于基础排障参考 troubleshooting/ 目录3.16.2引入 exception-free 模式aim/ext/exception_resistant.py。Artifact 存储3.19.0 支持 AWS S3 存储 artifacts3.27.0 允许为S3ArtifactStorage自定义 boto3 客户端参数3.22.0 增加基于文件系统的 artifact 存储后端run.artifact_uri未设置时返回None见 3.27.0。遥测与隐私2.1.6 支持退出遥测3.17.4 禁用 SDK 的 Segment 事件追踪3.18.1 移除遥测追踪。Notebook 支持3.2.0 引入 notebook 扩展与 magic 函数%aim实现见 aim/ext/notebook/ 与 scripts/sagemaker/on-start.sh 关联的 SageMaker 支持3.3.0 支持 Google Colab3.29.1 修复 Aim Web UI 在 Jupyter/Colab 中的集成。十、工程质量、打包与性能打磨CHANGELOG 同样是一部工程质量演进史打包2.0.20 启用 pypi 包名3.9.1/3.9.2 将 aim_ui 包数据移入独立目录aim/web/ui/aim_ui/3.26.1 因 PyPI 大小限制重新上传3.29.1 修复 Linux/Python 3.7 发布3.16.1 锁定alembic1.5.03.16.0 支持 protobuf v43.23.0 放宽 numpy 上限至3。性能3.10.0 为若干类添加__slots__、定义 Iterator/DB 抽象、用 Cython 重写 PrefixView/TreeView/Container/ArrayView对应 aim/storage/ 下大量.pxd/.pyx文件3.11.0 增加序列查询缓存、以 step 随机哈希作为 metric 序列键3.12.0 优化表格列虚拟化3.29.1 对进行中 run 持续索引3.26.0 序列元数据分离提升查询性能。索引与数据一致性3.11.0 自动检测并修复 meta/series 树不一致3.12.1 启用按 metric 值过滤 run3.16.2 处理 Sequence 数据与元数据不一致3.20.1 处理索引库损坏3.17.5 将 NaN/Inf 转换为字符串响应。十一、结语从 CHANGELOG 读懂 Aim 的产品方向纵观 CHANGELOGAim 的演进呈现三条清晰主线一是存储底座从自研记录格式走向 RocksDB 索引管理器的性能路线二是追踪能力从单一 metric 走向 metric/distribution/image/audio/text/figure 的完整 Sequence 体系并持续扩展深度学习框架适配三是 UI 从单一看板走向以 Base Explorer 为内核、覆盖多类数据形态的 Explorer 矩阵同时通过 HTTP/WS 传输层和成熟的远程追踪让 UI 可服务远端仓库。对于开发者而言CHANGELOG.md 是一份可直接对照源码的版本索引每个版本条目都能在当前仓库的aim/目录中找到对应实现本文提到的 aim/sdk/、aim/storage/、aim/cli/、aim/ext/、aim/web/ 各子目录正是理解这些能力的入口。升级到 3.x 及更高版本的用户应重点关注 3.0.0 的存储重构、3.4.0 起的远程追踪、3.13.0 的 Base Explorer 以及 3.19.0 的传输层替换这些是影响日常使用方式最深的几个节点。赞分享人工智能MLOps数据可视化【免费下载链接】aimAim — An easy-to-use supercharged open-source experiment tracker.项目地址https://gitcode.com/gh_mirrors/ai/aim点击查看免费下载相关推荐WeChatMsg免费开源的微信聊天记录导出工具对话转成 HTML / Word / CSV 留档WeChatMsg免费开源的微信聊天记录导出工具对话转成 HTML / Word / CSV 留档 几年的对话沉淀在微信里数据只存在手机上。免费开源的微信霞鹜文楷2 万余字的免费商用开源楷体中文字体霞鹜文楷2 万余字的免费商用开源楷体中文字体 想写点有味道的内容系统字体栏里却基本只有黑体和宋体黑体太工具宋体太正式想找一款开源、还能商用的楷体几乎UI组件Snap.svg 版本演进全解析从 0.1.0 到 0.5.1 的核心 API 变迁与源码实现Snap.svg 版本演进全解析从 0.1.0 到 0.5.1 的核心 API 变迁与源码实现 本文以 Snap.svg 官方版本变更日志 history.m前端上一篇终极Kubespray指南如何快速部署高可用Kubernetes集群下一篇dbrx-base-FP8-KV量化最佳实践避免精度损失的7个关键技巧创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考