[python技巧]OmegaConf调用配置文件

在https://blog.csdn.net/qq_43235540/article/details/140250813?spm=1001.2014.3001.5502中介绍了parser的使用方法,一般传入参数和是配置文件一起使用,配置.

OmegaConf.load()

从.yaml文件读取配置

opt, unknown = parser.parse_known_args()
configs = [OmegaConf.load(cfg) for cfg in opt.base]

OmegaConf.from_dotlist

使用OmegaConf.from_dotlist将命令行参数转换为配置字典

cli = OmegaConf.from_dotlist(unknown)

OmegaConf.merge(*configs, cli)

merge合并两个omegaconf.dictconfig.DictConfig类型的配置字典

config = OmegaConf.merge(*configs, cli)
#configs是装着omegaconf.dictconfig.DictConfig的列表,cli是omegaconf.dictconfig.DictConfig

config.pop 删掉一些东西

#从config里弹出"loghtning"这个字典项目,然后把它用赋值给OmegaConf.create()创建的新对象omegaconf.dictconfig.DictConfig.

lightning_config = config.pop("lightning", OmegaConf.create())

get得到配置字典中的某一项

model_config = config.get("model", OmegaConf.create())

代码

import argparse
# from pytorch_lightning import Trainer
from omegaconf import OmegaConfparser = argparse.ArgumentParser()parser.add_argument("-b","--base",nargs="*",required=False,metavar="base_config.yaml",help="paths to base configs. Loaded from left-to-right. ""Parameters can be overwritten or added with command-line options of the form `--key value`.",default=["test.yaml"]
)
# 解析命令行参数
opt, unknown = parser.parse_known_args()
configs = [OmegaConf.load(cfg) for cfg in opt.base]
print("configs",configs)# 使用OmegaConf.from_dotlist将命令行参数转换为配置字典
cli = OmegaConf.from_dotlist(unknown)config = OmegaConf.merge(*configs, cli)
lightning_config = config.pop("lightning", OmegaConf.create())
model_config = config.get("model", OmegaConf.create())

配置文件 test.yaml

model:base_learning_rate: 2.0e-06target: ldm.models.diffusion.ddpm.LatentDiffusionparams:log_every_t: 200timesteps: 1000unet_config:target: ldm.modules.diffusionmodules.openaimodel.UNetModelparams:image_size: 64in_channels: 1out_channels: 1
data:target: main.DataModuleFromConfigparams:batch_size: 48train:target: ldm.data.lsun.LSUNBedroomsTrainparams:size: 64validation:target: ldm.data.lsun.LSUNBedroomsValidationparams:size: 64lightning:callbacks:image_logger:target: main.ImageLoggerparams:batch_frequency: 10000000000max_images: 1increase_log_steps: Falsetrainer:benchmark: Truemax_epochs: 200000

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/867950.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Springboot使用WebSocket发送消息

1. 创建springboot项目&#xff0c;引入spring-boot-starter-websocket依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId></dependency>完整项目依赖 <?xml ver…

Vue 使用 @click 绑定点击事件

https://andi.cn/page/621505.html

Python【打包exe文件两步到位】

Python打包Exe 安装 pyinstaller&#xff08;pip install pyinstaller&#xff09; 执行打包命令&#xff08;pyinstaller demo.py&#xff09; 打完包会生成 dist 文件夹&#xff0c;如下如

基于开源AI数据框架LlamaIndex构建上下文增强型LLA应用

引言 “将你的企业数据转化为可用于实际生产环境的LLM应用程序&#xff0c;”LlamaIndex主页用60号字体这样高亮显示。其副标题是“LlamaIndex是构建LLM应用程序的领先数据框架。”我不太确定它是否是业内领先的数据框架&#xff0c;但我认为它是一个与LangChain和Semantic Ker…

快行线冷链——创新仓配、共赢未来 主题沙龙在京成功举办

2024年7月7日下午&#xff0c;由京营建联盟、北京市大兴区餐饮行业协会、北京快行线冷链物流联合主办的“创新仓配&#xff0c;共赢未来——相信拥抱的力量”主题沙龙活动在北京篝野城市露营空间隆重举行。本次活动定向邀请了餐饮老板、餐饮企业供应链负责人及冻品经销商和相关…

电子电气架构 --- 智能座舱万物互联

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节…

SpringSecurity在SpringBoot中的自动装配

从SpringBoot的自动装配原理入手 找到META-INFO下的spring.factories文件 SpringSecurity作为Spring的亲儿子&#xff0c;自然在spring-boot-autoconfigure下的spring.factories文件中配置了 org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfigurat…

C语言指针函数指针

跟着这篇文章重新理解了一下&#xff1a;彻底攻克C语言指针 有一个例子感觉可以拿出来看看&#xff1a; char *(*c[10])(int **p); * 这段声明定义了一个长度为10的数组c&#xff0c;数组中的每个元素都是指向函数的指针。每个函数接受一个类型为int **&#xff08;指向指向…

拆分Transformer注意力,韩国团队让大模型解码提速20倍|大模型AI应用开始小规模稳步爆发|周伯文:大模型也有幻觉,全球AI创新指数公布

拆分Transformer注意力&#xff0c;韩国团队让大模型解码提速20倍AI正在颠覆AI上市不到两年&#xff0c;蜗牛游戏可能要退市了&#xff1f;世界人工智能大会结束了&#xff0c;百花齐放&#xff0c;但也群魔乱舞“串联OLED”被苹果带火了&#xff0c;比OLED强在哪里&#xff1f…

API-案例-放大镜效果

学习目标&#xff1a; 掌握案例-放大镜效果 学习内容&#xff1a; 业务分析思路分析放大镜完整代码 业务分析&#xff1a; 鼠标经过对应小盒子&#xff0c;左侧中等盒子显示对应中等图片&#xff1b;鼠标经过中盒子&#xff0c;右侧会显示放大镜效果的大盒子&#xff1b;黑色…

智能物联网鱼缸

硬件部分及接线图 工具 继电器、开发板、物联网os、云平台 微信小程序 结构&#xff1a;images、pages两个为主体。 标题头部分 <view class"container"> <view class"head_box"> <image src"/images/面性鱼缸.png"><…

【C++】 解决 C++ 语言报错:Invalid Use of Incomplete Type

文章目录 引言 在 C 编程中&#xff0c;“Invalid Use of Incomplete Type” 是一种常见错误。此错误通常在程序试图使用未完全定义的类或结构时发生。这种错误不仅会导致编译失败&#xff0c;还可能导致程序行为不可预测。本文将详细探讨无效使用不完整类型的成因、检测方法及…

【图论算法题记录】岛屿问题汇总

岛屿数量 题目&#x1f517; 题目描述 给定一个由 1&#xff08;陆地&#xff09;和 0&#xff08;水&#xff09;组成的矩阵&#xff0c;你需要计算岛屿的数量。岛屿由水平方向或垂直方向上相邻的陆地连接而成&#xff0c;并且四周都是水域。你可以假设矩阵外均被水包围。 …

【已解决】CentOS8安装lrzsz报错:Error: Failed to download metadata for repo ‘BaseOS‘

这里写自定义目录标题 系统信息安装lrzsz解决方案开始使用 系统信息 #cat /etc/redhat-release CentOS Linux release 8.1.1911 (Core) 安装lrzsz # yum install lrzsz CentOS-8 - AppStream …

【Threejs进阶教程-优化篇】4.Vue/React与threejs如何解决冲突和卡顿(续)

Vue/React与threejs如何解决冲突和卡顿-续 使用说明核心思路环境搭建(vuethree)vue运行机制分析业务分离使用threejs做背景 3D模块封装使用ES6的Class来让逻辑性更强Threejs尽量按需引入创建一个类扩展写法本次代码执行顺序 扩展内容添加orbitControls和辅助线解决事件覆盖 与V…

C++模板元编程(三)——类型萃取

类型萃取(type_traits)是一种编译时技术&#xff0c;用于在编译期间获取和操作类型的信息&#xff0c;主要用于泛型编程以及在编译时做出决策。 文章目录 常见的类型萃取内部实现std::is_integral\<T\>std::enable_if_t<_Test, T> 应用 常见的类型萃取 在C11的<…

Java请求webService,IDEA生成客户端调用代码

Axis是Apache开放源代码组织的一个项目&#xff0c;全称为Apache Extensible Interaction System&#xff0c;简称Axis。它是一个基于Java的SOAP&#xff08;Simple Object Access Protocol&#xff0c;简单对象访问协议&#xff09;引擎&#xff0c;提供创建服务器端、客户端和…

游戏开发面试题3

unity如何判断子弹射击到敌人&#xff0c;如果子弹特别快怎么办 使用物理学碰撞检测。使用Unity的物理组件&#xff0c;如Rigidbody和Collider&#xff0c;将子弹和敌人都设置为有一定的物理碰撞属性&#xff0c;当子弹碰到敌人的时候&#xff0c;就会触发OnCollisionEnter()事…

游戏开发面试题2

详细说下堆排序。 堆排序是一种选择排序算法&#xff0c;它的基本思想是&#xff1a;将待排序序列构造成一个大顶堆&#xff0c;此时&#xff0c;整个序列的最大值就是堆顶的根节点。将其与末尾元素进行交换&#xff0c;此时末尾就为最大值。然后将剩余n-1个元素重新构造成一个…

作业训练二编程题6. 小A的计算器

【问题描述】 以往的操作系统内部的数据表示都是二进制方式&#xff0c;小A新写了一个操作系统&#xff0c;系统内部的数据表示为26进制&#xff0c;其中0-25分别由a-z表示。 现在小A要在这个操作系统上实现一个计算器&#xff0c;这个计算器要能实现26进制数的加法运算…