[英]OSError: SavedModel file does not exist at: cnnCat2.h5\{saved_model.pbtxt|saved_model.pb}
[英]OSError: SavedModel file does not exist at: model\mymodel.h5/{saved_model.pbtxt|saved_model.pb}
我使用tensorflow 2.2与Z23EEEB4347BDD26BFC6BFC6B7555DDDDDDDD DDZ 3.7和Z0F4137ED1502B5045D6083A.25555C4255C4F5F.5F.5.FARF.BB542F.ICTINCE 当我使用终端导入时,一切都很好。 但是当我冻结我的代码时,不再找到该文件。
这是我的文件:
main.py
\ codes
import.py
\ model
__init__.py
mymodel.h5
我的 import.py:
from .model import mymodel
from tensorflow.keras.models import load_model
from tensorflow.keras.preprocessing import image
model = load_model(mymodel)
我的初始化.py 代码:
from os import path
import sys
if getattr(sys, 'frozen', False):
MODEL_DIRECTORY = path.join(path.dirname(sys.executable), 'model')
else:
MODEL_DIRECTORY = path.dirname(__file__)
mymodel= path.join(MODEL_DIRECTORY, 'mymodel.h5')
我得到的错误:
SavedModel 文件不存在于:exe.win-amd64-3.7\model\mymode
很明显,您从消息中得到了 python 二进制文件的一部分。 sys.executable
是指向此二进制文件的链接...可能不是您想的那样。
if getattr(sys, 'frozen', False):
MODEL_DIRECTORY = path.join(path.dirname(sys.executable), 'model')
else:
MODEL_DIRECTORY = path.dirname(__file__)
我很确定你想要:
MODEL_DIRECTORY = path.join(path.dirname(__file__), 'codes', 'model', 'mymodel.h5');
你的目录结构也很奇怪......
|-|main.py
|-|__init__.py
|-|data
| | |-|model
| | | |-|mymodel.h5
|-|code
| |-|__init__.py
| |-|import.py #wtf is an import.py and why is it down here.
__file__
引用当前文件,因此如果您有此结构并从 main.py 执行此操作:
model_dir = Path(path.dirname(__file__), "data", "model", "mymodel.h5")
这是使用Pathlib.Path
和os.path.dirname
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.