Hydra 用于深度学习实验管理

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

Hydra 用于深度学习实现管理

在深度学习实验中设置参数的痛点

  • 参数没有结构,检查查看不方便
  • 不同的模块,例如:loss,需要的参数不同,每次修改loss,连带着改参数;更好的方案是,只修改lossname,其他参数跟着上来就行
  • 不同实验只需修改少量参数,但是需要**检查是否有参数在其他组的实验修改,费时;**更好的方案是,一些常用的模式固定下来,例如local_train,server_train等

学习Hydra

基础内容

image.png
image.png
image.png
一个基础的hello world程序,包含两个文件config.yaml 和 my_app.py,然后执行 python my_app.py 即可输出参数配置。

然后看一下参数组,就是我们经常遇到的场景,有多个模型,每个模型都有配置文件,怎么办?那就建立一个文件夹model/,文件夹下有多个模型的配置文件 model/m1.yaml model/m2.yaml,即可以了。
image.png
image.png
这里第一次没有输出内容,是因为没有默认的配置文件。可以在conf文件夹下,建立一个文件config.py。就像 ⬇️

image.png

扩展配置

  • 我们可以设置一个默认参数yaml,然后再产生一份基于默认参数的修改或增加yaml。场景:对模型的调参数时,新实验不想直接改旧实验(或当前最优实验参数),那么可以建立一个dev_版本的yaml,用于调整参数。

image.png

  • 上面的层级结构在python重展现时dict嵌套,例如对于参数host:args['db']['host']='3370',有时我们希望直接拿到参数和参数值,不要经过'db'这一层,直接 args['db']='3370',可以用:
    • 注意里面的 here 是单下划线image.png

配置实验

image.png
image.png
从上面两个图可以看出来,这个就和深度学习实验的续期很像了,这个文档下面还有一些关于如何调参的设置,就是一个参数多个值,然后跑多个实验。

有个以上两个座位基础,其实就是利用Hydra进行实验的配置了:

其他文档及应用场景:

场景:参数自动影响参数

  • 例如,如果数据集A使用模型M,是5层;如果模型B使用模型M,是7层。
  • 例如,如果重新训练=True,使用损失A;如果重新训练=False(即增量训练模式),使用损失B

文档:

场景:直接给python类的参数赋值 🎉

image.png

场景:根据需要输出日志文件名称

修改输出log文件名称和位置

场景:默认参数优先级更高

场景:类 argparser 改造成args.para

image.png

示例:
config/config.yaml
config/init.py
config/db/postgresql.yaml
config/db/mysql.yaml
main_conf.py文章来源地址https://www.toymoban.com/news/detail-404425.html

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

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

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

相关文章

  • 用于自动驾驶的基于深度学习的图像 3D 目标检测:综述

    论文地址:https://ieeexplore.ieee.org/abstract/document/10017184/ 准确、鲁棒的感知系统是理解自动驾驶和机器人驾驶环境的关键。自动驾驶需要目标的 3D 信息,包括目标的位置和姿态,以清楚地了解驾驶环境。 摄像头传感器因其颜色和纹理丰富且价格低廉而广泛应用于自动驾驶中。摄

    2024年02月03日
    浏览(57)
  • 深度学习目标检测模型常用于部署在边缘计算设备上,常用于部署的边缘计算设备有哪些。

    问题描述:深度学习目标检测模型常用于部署在边缘计算设备上,常用于部署的边缘计算设备有哪些。 问题解答: 在边缘计算设备上部署深度学习目标检测模型通常需要考虑设备的计算能力、内存、功耗等因素。以下是一些常用于部署深度学习目标检测模型的边缘计算设备

    2024年02月02日
    浏览(48)
  • 【未完待续】综述:用于视频分割(Video Segmentation)的深度学习

    A Survey on Deep Learning Technique for Video Segmentation 本文回顾视频分割的两条基本研究路线:视频目标分割(object segmentation)和视频语义分割(semantic segmentation)。本文介绍它们各自的task setting、背景概念、感知需求、发展历史以及主要挑战。本文详细概述相关的方法和数据集的代

    2024年02月02日
    浏览(50)
  • Kears-4-深度学习用于计算机视觉-使用预训练的卷积网络

    本篇学习记录主要包括:《Python深度学习》的第5章(深度学习用于计算机视觉)的第3节(使用预训练的卷积神经网络)内容。 相关知识点: 预训练模型的复用方法; 预训练网络 (pretrained network) 是一个保存好的网络,之前已经在大型数据集上完成训练。理论上数据集足够大

    2024年02月11日
    浏览(46)
  • (CVPR) PointNet:用于3D分类和分割的点集深度学习 - 详细解读

    目录 知识补充 网络解读 概括 局部和全局特征的融合(分割任务) 联合对准网络(T网络) 总结 点云存在的问题: 详细理解: 参考内容: 点云转换为体素的问题:数据庞大 本文设计了一种直接消耗点云的神经网络(保持了输入中心点的排列不变性) 刚性变换: 指保持物

    2024年03月21日
    浏览(75)
  • 【深度学习:Micro-Models】用于标记图像和视频的微模型简介

    在本文中,我们将介绍 Encord 用于自动化数据注释的“微模型”方法。我们已将这种方法部署到各个领域的计算机视觉标记任务中,包括医学成像、农业、自动驾驶汽车和卫星成像。 让我们切入正题: 什么是微模型 低偏差模型适用于数据集中的一小组图像或视频。 微模型如

    2024年01月20日
    浏览(51)
  • Keras-4-深度学习用于计算机视觉-卷积神经网络对 MNIST 数字进行分类:

    本篇学习记录主要包括:《Python深度学习》的第5章(深度学习用于计算机视觉)的第1节(卷积神经网络简介)内容。 相关知识点: 密集层 (Dense层、全连接层) 和 卷积层的区别在于: Dense层从输入特征空间中学到的是全局模式;而卷积层学到的是局部模式 (学到的是卷积核大

    2024年02月11日
    浏览(58)
  • 文献速递:深度学习胰腺癌诊断--螺旋变换与模型驱动的多模态深度学习方案相结合,用于自动预测胰腺癌中TP53突变麦田医学

    Title  题目 Combined Spiral Transformation and Model-Driven Multi-Modal Deep Learning Scheme for Automatic Prediction of TP53 Mutation in Pancreatic Cancer 螺旋变换与模型驱动的多模态深度学习方案相结合,用于自动预测胰腺癌中TP53突变 01 文献速递介绍 胰腺癌是最致命的恶性肿瘤之一,其特点是诊断晚、死

    2024年04月10日
    浏览(42)
  • 第二章:Learning Deep Features for Discriminative Localization ——学习用于判别定位的深度特征

            在这项工作中,我们重新审视了在[13]中提出的全局平均池化层,并阐明了它如何明确地使卷积神经网络(CNN)具有出色的定位能力,尽管它是在图像级别标签上进行训练的。虽然这个技术之前被提出作为一种训练规范化的手段, 但我们发现它实际上构建了一个通

    2024年02月15日
    浏览(38)
  • 【深度学习】实验04 交叉验证

    交叉验证是一种评估和选择机器学习模型性能的常用方法。它将数据集划分为训练集和验证集,并重复多次进行模型训练和性能评估,以获取更稳定和可靠的模型评估结果。 1.自定义划分 2.K折交叉验证 K-fold交叉验证是一种经典的模型选择方法,它主要用于评估机器学习模型

    2024年02月11日
    浏览(44)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包