当前位置:网站首页>基于hydra库实现yaml配置文件的读取(支持命令行参数)
基于hydra库实现yaml配置文件的读取(支持命令行参数)
2022-08-11 08:43:00 【ytusdc】
argparse库的使用,发现较为方便。但是应对参数较多的场景时,在命令行里修改参数就变得较为麻烦。因此转向了对配置文件的使用,yaml是一个开放性的配置文件格式。使用yaml库加载不支持命令行参数,使用hydra库加载配置文件时可以支持命令行参数(实现对默认配置的新增、修改与删除)。hydra对于yaml配置文件中支持的格式有:str、int、float、bool、list这5种格式,完全满足一般项目的基本配置了。
Hydra 是一个开源 Python 框架,可简化研究和其他复杂应用程序的开发。
关键特性是能够通过组合动态创建分层配置,并通过配置文件和命令行覆盖它。 Hydra 这个名字来源于它能够运行多个类似的工作——就像一个有多个头的 Hydra。
简单来讲,就是管理yaml config配置文件的,更方便一点的,虽然也可以yaml.load()
,但是这个就是遇到了和没遇到一些工具的区别,比如 tensorboard 和wandb 之类的 wandb真的是香
- 官方文档:Getting started | Hydra
- towards上英文教程:Complete tutorial on how to use Hydra in Machine Learning projects
- 配合使用OmegaConf:OmegaConf — OmegaConf 2.3.0.dev0 documentation
安装hydra
pip install hydra-core
hydra 配置框架用法详解
创建config.yaml
model:
sample_rate: &sample_rate 16000
train_ds:
manifest_filepath: ???
sample_rate: 16000
batch_size: 32
trim_silence: false
max_duration: 16.7
shuffle: true
is_tarred: false
tarred_audio_filepaths: null
use_start_end_token: false
defaults:
- _self_ #放在- foo: bar的前面优先使用defaults下面的- foo: bar中的值
- foo: bar
#- _self_ #放在- foo: bar的后面优先使用defaults外面的- foo: bar中的值
参考文章: 基于hydra库实现yaml配置文件的读取(支持命令行参数)-pudn.com
边栏推荐
猜你喜欢
【wxGlade学习】wxGlade环境配置
IQUNIX A80 exploring TTC金粉 初体验
go-grpc TSL authentication solution transport: authentication handshake failed: x509 certificate relies on ... ...
golang string manipulation
Nuget找不到包的问题处理
如何通过 IDEA 数据库管理工具连接 TDengine?
关于架构的认知
tensorflow 基础操作1(tensor 基本属性 , 维度变换,数学运算)
JUC Concurrent Programming
excel 透视表 值显示内容 不显示计数
随机推荐
dsu on tree(树上启发式合并)学习笔记
JUC Concurrent Programming
中国电子学会五级考点详解(一)-string类型字符串
Getting Started with Kotlin Algorithm to Calculate the Number of Daffodils
pycharm中绘图,显示不了figure窗口的问题
Features of LoRa Chips
一根网线两台电脑传输文件
flex布局回顾
抽象类和接口
迷你图书馆系统(对象+数组)
框架外的PHP读取.env文件(php5.6、7.3可用版)
DataGrip配置OceanBase
gRPC系列(一) 什么是RPC?
go 操作MySQL之mysql包
Kotlin算法入门求自由落体
C Primer Plus(6) 中文版 第1章 初识C语言 1.7 使用C语言的7个步骤
零基础SQL教程: 基础查询 05
程序员是一碗青春饭吗?
tensorflow 基础操作1(tensor 基本属性 , 维度变换,数学运算)
小程序组件不能修改ui组件样式