Pytorch模型加载需要在调用目录中导入模型

问题描述

Project
|- models
|-- simple_model.py
|- application
|-- infer_and_do_something.py
|- main.py

主要是程序在最开始运行的地方,或者可以替换为jupyter笔记本。加载和使用经过训练的模型的所有实现都在“ infer_and_do_something.py 文件中。

所以我认为将模型结构导入到' infer_and_do_something.py '足够好,但是似乎它需要将模型结构导入到' main.py 当我运行“ main.py ”时,会调用 infer_and_do_something.py ”中实现的内容。否则,它会引发错误,就像这样;

763     unpickler = pickle_module.Unpickler(f,**pickle_load_args)
    764     unpickler.persistent_load = persistent_load
--> 765     result = unpickler.load()
    766 
    767     deserialized_storage_keys = pickle_module.load(f,**pickle_load_args)

AttributeError: Can't get attribute 'SimpleModel' on <module '__main__'>

有没有一种方法可以将结构导入限制为仅在实际使用的地方?例如,在这种情况下为' infer_and_do_something.py '

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)