当前位置: 首页 > article >正文

使用importlib动态导入python类

今天跟chatgpt学了一招,场景如下:

我写了好多个模型在model/这个文件夹下,有florence2_qwen、nougat_qwen等等,

我现在要对不同的模型做不同的实验,使用哪个模型跟我main函数指定有关,比如我指定了“florence2_qwen”这个模型,main中就得给我导入`from model.florence2_qwen.armodel import ARForMultimodalGeneration `这个类,我指定了“nougat_qwen”,main中就得给我导入`from model.nougat_qwen.armodel import ARForMultimodalGeneration `,可以发现中间模型的名字是变的,怎么办呢?

使用importlib!

代码如下:

import importlib

model = "florence2_qwen"
dynamic_module_name = f"model.{model}.armodel"
class_name = "ARForMultimodalGeneration"

module = importlib.import_module(dynamic_module_name)
target_class = getattr(module, class_name)
print(target_class)

然后就成功特异性的导入你想导入的类啦。


http://www.kler.cn/a/396412.html

相关文章:

  • Spring boot + Vue2小项目基本模板
  • 让空间计算触手可及,VR手套何以点石成金?
  • LeetCode Hot 100 题解[java版本,冲大厂]
  • Java垃圾回收算法
  • 力扣 LeetCode 239. 滑动窗口最大值(Day5:栈与队列)
  • Mac解压包安装MongoDB8并设置launchd自启动
  • Codeforces Round 987 (Div. 2)(前四道)
  • 开发需求总结17-vue echart报错:Cannot read property get ‘Attribute‘ of undefined
  • 基于PHP技术的校园站的设计与实现
  • ​‌华为交换机在Spine-Leaf架构中的使用场景​
  • 我谈二值形态学基本运算——腐蚀、膨胀、开运算、闭运算
  • java xml 文本解析
  • git如何开启SSH?
  • vcenter service基本异常处理
  • rom定制系列------红米10x 5G版本安卓12-miui14批量线刷固件
  • 鸿蒙实战:页面跳转
  • FromData格式提交接口时入参被转成JSON格式问题
  • 前端(3)——快速入门JaveScript
  • uni-app移动端与PC端兼容预览PDF文件
  • Rust 语言学习笔记(四)
  • Qt中实现旋转动画效果
  • Electron 项目启动外部可执行文件的几种方式
  • 网络安全之WINDOWS端口及病毒编写
  • 发国外SCI/SSCI/AHCI,文章被WOS数据库漏检,应该如何催检索?附催检索(信)邮件模板!
  • CAP与BASE分布式理论
  • 利用redis的key失效监听器KeyExpirationEventMessageListener作任务定时提醒功能