深度学习管理工具

这篇具有很好参考价值的文章主要介绍了深度学习管理工具。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. mlflow

https://zhuanlan.zhihu.com/p/363673389

官方文档: https://www.mlflow.org/docs/latest/index.html

https://zhuanlan.zhihu.com/p/67173051

在跟踪实验时,通过运行 mlflow ui 后在 http:// localhost:5000 中进行查看。目前没办法打开,也不确定是否将结果上传到mlflow的服务器中。

mlflow 主要有四大功能:Tracking、Projects、Models、Model Registry
(1) 跟踪实验以记录并比较实验参数和实验结果
(2) 以可复用可复现的方式对代码进行打包,以便不同工程师去复现
(3) 从各种ML库管理和部署模型到各种模型服务和推理平台(MLflow models)。
(4) 提供一个中央模型存储来协同管理MLflow模型的整个生命周期,包括模型版本控制、阶段转换和注释(MLflow模型注册表)。

MLflow Tracking 是一个用于在运行机器学习代码时记录参数、代码版本、衡量指标、模型环境依赖关系和模型工件的API。MLflow Tracking 有一个用于审查和比较运行及其结果的UI。这张来自MLflow Tracking UI的图像显示了一个将参数(学习率和动量)与损失参数联系在一起的图表:

MLflow Models:一种模型打包格式和工具套件,可以让您轻松部署训练模型(来自任何ML库),以便在Docker、Apache Spark、Databricks、Azure ML和AWS SageMaker等平台上进行批处理或实时推理。此图显示了MLflow Tracking UI对运行细节及其MLflow模型的视图。

模型目录中的工件包括模型权重,描述模型环境和依赖关系的文件,以及用于加载模型和推断模型的示例代码

mlflow是给谁用的?
MLflow由数据科学家和MLOps专业人员使用。数据科学家使用MLflow来跟踪实验、结构代码、打包模型,以及审查和选择要部署的模型。MLOps专业人员使用MLflow将模型安全地部署到生产环境中,并监控部署的性能和准确性。

mlflow的一些使用案例:

(1) 一组数据科学家使用MLflow Tracking来记录他们在单个问题领域的实验参数和指标。他们使用MLflow UI来比较结果并指导他们对解决方案空间的探索。它们将运行的输出存储为MLflow模型。
(2) MLOps工程师使用MLflow UI来比较不同模型的性能,并选择最好的模型进行部署。他们在MLflow Registry中注册模型,以跟踪该特定版本在生产中的性能。
(3) MLOps工程师使用MLflow模型将模型部署到生产环境中。他们使用MLflow Registry来跟踪模型的性能,并将其与生产中的其他模型进行比较。
(4) 开始处理新项目的数据科学家将他们的代码结构为MLflow项目,以便他们可以轻松地与其他人共享并使用不同的参数运行它。

mlflow提供了一些函数接口,可以使你方面地进行实验跟踪

深度学习管理工具

Constant values (for instance, configuration parameters)
mlflow.log_param, mlflow.log_params
Values updated during the run (for instance, accuracy)
mlflow.log_metric
Artifacts
Files produced by the run (for instance, model weights)
mlflow.log_artifacts, mlflow.log_image, mlflow.log_text

import os
from random import random, randint
from mlflow import log_metric, log_param, log_params, log_artifacts

if __name__ == "__main__":
    # Log a parameter (key-value pair)
    log_param("config_value", randint(0, 100))

    # Log a dictionary of parameters
    log_params({"param1": randint(0, 100), "param2": randint(0, 100)})

    # Log a metric; metrics can be updated throughout the run
    log_metric("accuracy", random() / 2.0)
    log_metric("accuracy", random() + 0.1)
    log_metric("accuracy", random() + 0.2)

    # Log an artifact (output file)
    if not os.path.exists("outputs"):
        os.makedirs("outputs")
    with open("outputs/test.txt", "w") as f:
        f.write("hello world!")
    log_artifacts("outputs")

2. wandb

参考视频:
https://www.bilibili.com/video/BV17A41167WX/?spm_id_from=333.337.search-card.all.click&vd_source=d01f5189f5bedbfe41e17c66006caa42

官方网站:
https://wandb.ai/site

wandb全称weights$bias,是一款类似 Tensorboard 的机器学习可视化分析工具。相比 TensorBoard,wandb具有以下主要优势:

  1. 日志上传远端永久存储,便于分享不怕丢失 (wandb.log);
  2. 可以存管代码、数据集和模型的版本,随时复现(wandb.Artifact, wandb.log_artifact, wandb.save),版本会和模型的性能指标或者日志相关联;
  3. 可以使用交互式表格进行 case 分析 (wandb.Table,wandb.Image),可以输入文本、图像、视频等的分析;
  4. 可以自动化模型调参 (wandb.sweep)

深度学习管理工具

数据、代码、模型保存,保存还还会和各种超参数和性能指标相关联。

# resume the run
import wandb

# 指定 run_id 来恢复实验
run = wandb.init(project='wandb_demo', id=model.run_id, resume='must')

# save dataset
arti_dataset = wandb.Artifact('dataset_name', type='dataset')
arti_dataset.add_dir('dataset_dir/')
wandb.log_artifact(arti_dataset)

# save code
arti_code = wandb.Artifact('code_name', type='code')
arti_code.add_dir('code_dir/')
wandb.log_artifact(arti_code)

# save model
arti_model = wandb.Artifact('model_name', type='model')
arti_model.add_file(config.ckpt_path)
wandb.log_artifact(arti_model)

这里给出一些相关网址:

wandb官网:https://wandb.ai/site

wandb文档:https://docs.wandb.ai/v/zh-hans/

常见报错及解决:https://docs.wandb.ai/guides/sweeps/faq

模型参数可视化colab示例:http://wandb.me/pytorch-colab

超参搜索colab示例:https://colab.research.google.com/github/wandb/examples/blob/master/colabs/pytorch/Organizing_Hyperparameter_Sweeps_in_PyTorch_with_W%26B.ipynb文章来源地址https://www.toymoban.com/news/detail-500941.html

到了这里,关于深度学习管理工具的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ARM & Linux 基础学习 / Ubuntu 下的包管理 / apt工具

    编辑整理 by Staok。 注:在 Github 上的原版文章日后可能会更新,在其它位置发的不会跟进。文章的 Gitee 仓库地址,Gitee 访问更流畅。 Ubuntu 下的包管理 / apt工具 包管理系统的功能和优点大致相同,但打包格式和工具会因平台(不同的 Linux 发行版)而异,如下表所示。 操作系

    2024年02月05日
    浏览(34)
  • IDEA下方工具栏SideBar没有Services解决方法 IDEA配合微服务学习多端口管理打开Services栏方法

    微服务学习时,一次要打开多个端口,比如8080给order模块、8081给user模块……这就需要用idea管理多端口。 这时候就可以用到Services栏进行管理。 首先看下方Sidebar没有Services。 打开方式一:手动打开 在IDEA中打开\\\"View\\\"-\\\"Tool Windows\\\"-\\\"Services\\\" 打开。 打开方式二:快捷键 按alt+8。

    2024年02月06日
    浏览(36)
  • 从小白到大神之路之学习运维第44天---第三阶段----拓展知识-----文件管理命令(find+sed+awk)、pycharm工具

    第三阶段基础 时  间:2023年6月20日 参加人:全班人员 内  容: 目录 一、文件管理命令 find 1. 根据文件名查找文件 2. 根据文件类型查找文件 3. 根据文件大小查找文件 4. 根据时间戳查找文件 5. 组合多个条件查找文件 Sed 1. 替换文本 2. 插入和删除行 3. 格式化输出 总 结: a

    2024年02月09日
    浏览(38)
  • 【Docker管理工具】使用Docker部署portainer-ce管理工具

    Portainer是一个可视化的容器镜像的图形管理工具,利用Portainer可以轻松构建,管理和维护Docker环境。 而且完全免费,基于容器化的安装方式,方便高效部署。 Portainer Community Edition是一个用于容器化应用程序的轻量级服务交付平台,可用于管理 Docker、Swarm、Kubernetes 和 ACI 环境

    2024年02月19日
    浏览(43)
  • 文件管理工具.netcore资源文件管理

    文件管理工具 怎么快速有效的管理我的文件包括文件夹,需求功能是 模糊搜索显示匹配的文件夹或文件数据 快速打开文件夹位置 在windows直接查看搜索速度太慢,范围宽泛,整理所需资源文件名和文件本机路径保存在数据库,可以在数据库中快速检索 显示文件夹路径然后点

    2024年01月23日
    浏览(39)
  • 自动化管理管理工具----Ansible

    目录 ​编辑 一、Ansible概念 1.1特点 二、工作机制(日常模块) 2.1 核心程序 三、Ansible 环境安装部署 四、ansible 命令行模块 4.1command 模块 4.2shell 模块 4.3cron 模块 4.4user 模块 4.5group 模块 4.6copy模块 4.7file模块 4.8hostname模块 4.9ping 模块 4.11yum 模块 4.12service/systemd 模块 4.13script 模块

    2024年02月10日
    浏览(35)
  • 版本管理|Git -目前最好的版本管理工具

    在软件开发中,版本通常指的是代码或项目的一个特定状态或发布的一个特定副本。每次对代码或项目进行修改时,开发团队可以选择增加版本号或标记新版本,以便在未来能够准确追踪和识别不同的代码状态。 在项目根目录下运行 tree命令可以查看文件树,版本是文件树在

    2024年04月11日
    浏览(63)
  • 不同规模的测试团队分别适合哪些测试用例管理工具?测试用例管理工具选型指南

    随着软件系统规模的持续增大,业务复杂度的持续增加,软件测试的复杂度也随之越来越大。软件测试工作的复杂性主要体现在测试用例的编写、维护、执行和管理方面。而创建易于阅读、维护和管理的测试用例能够显著减轻测试工作的复杂性。 本篇文章将较为系统的探讨测

    2024年02月11日
    浏览(39)
  • Linux:Ubuntu安装firewalld防火墙管理工具【WSL用UFW防火墙管理工具】

    firewalld防火墙是Centos7系统默认的防火墙管理工具,取代了之前的iptables防火墙,也是工作在网络层,属于包过滤防火墙。 firewalld和iptables都是用来管理防火墙的工具(属于用户态)来定义防火墙的各种规则功能,内部结构都指向netfilter网络过滤子系统(属于内核态)来实现包过

    2024年02月06日
    浏览(36)
  • webshell管理工具-antSword(蚁剑)的安装和管理

    中国蚁剑是一款流行的网络安全工具,它由中国安全研究人员研发,主要用于测试和评估网络的安全性。 蚁剑具有强大的功能,可以用于远程控制和管理服务器,包括文件管理、进程管理、端口扫描、SQL注入、WebShell等功能。它还可以在未授权的情况下访问和操纵目标系统,

    2024年02月16日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包