自学内容网 自学内容网

使用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)

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


原文地址:https://blog.csdn.net/Edward__J/article/details/143807542

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!