首页 > 编程问答 >OSError:SavedModel 文件不存在于:cnnCat2.h5\{saved_model.pbtxt|saved_model.pb}

OSError:SavedModel 文件不存在于:cnnCat2.h5\{saved_model.pbtxt|saved_model.pb}

时间:2024-07-26 09:23:46浏览次数:13  
标签:python tensorflow keras

Sublime Text 项目结构

错误显示

2021-06-15 11:48:41.978235: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'cudart64_110.dll'; dlerror: cudart64_110.dll not found
2021-06-15 11:48:41.978656: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.
pygame 2.0.1 (SDL 2.0.14, Python 3.9.4)
Hello from the pygame community. https://www.pygame.org/contribute.html
Traceback (most recent call last):
  File "C:\Users\washi\Desktop\Driver-drowsiness-detection-CNN-Keras-OpenCV-master\final.py", line 17, in <module>
    model = load_model('cnnCat2.h5')
  File "D:\Program Files\Python39\lib\site-packages\keras\saving\save.py", line 206, in load_model
    return saved_model_load.load(filepath, compile, options)
  File "D:\Program Files\Python39\lib\site-packages\keras\saving\saved_model\load.py", line 109, in load
    meta_graph_def = loader_impl.parse_saved_model(path).meta_graphs[0]
  File "D:\Program Files\Python39\lib\site-packages\tensorflow\python\saved_model\loader_impl.py", line 113, in parse_saved_model
    raise IOError(
OSError: SavedModel file does not exist at: cnnCat2.h5\{saved_model.pbtxt|saved_model.pb}
[Finished in 5.2s]

以tensorflow为后端运行final.py脚本,该脚本持续监控用户的眼睛状态并分类人是否昏昏欲睡。 model.py 是用于训练 CNN 分类器模型的脚本。但我收到此类错误,我该怎么办?


错误信息很明确: 你的代码试图加载一个名为 "cnnCat2.h5" 的 SavedModel,但它在这个路径下找不到 SavedModel 文件所需的组件。

让我们分解一下可能的原因以及如何解决这个问题:

1. 模型文件路径错误:

  • 确认文件名和路径: 确保 "cnnCat2.h5" 文件确实存在于你的 Sublime Text 项目中,并且路径在 load_model 函数中是正确的。
  • 使用绝对路径: 尝试使用文件的绝对路径,以避免任何相对路径问题。例如: python model = load_model('C:/Users/washi/Desktop/Driver-drowsiness-detection-CNN-Keras-OpenCV-master/cnnCat2.h5')
  • 检查项目结构: 根据提供的图片,"cnnCat2.h5" 文件位于项目根目录下。确保你的 final.py 文件能够正确访问这个路径。

2. 模型保存格式错误:

  • SavedModel vs. HDF5: 错误信息表明你的代码期望加载一个 SavedModel 格式的模型,但 "cnnCat2.h5" 扩展名通常表示 HDF5 格式。
    • 如果你的模型是 HDF5 格式 , 你应该使用 keras.models.load_model 函数加载它。
    • 如果你的模型是 SavedModel 格式 , 确保它包含 "saved_model.pbtxt" 或 "saved_model.pb" 文件,以及 "variables" 文件夹。

3. 模型文件损坏:

  • 重新训练模型: 如果以上方法都不起作用,可能是模型文件本身已损坏。尝试重新训练模型并保存一个新的模型文件。

其他建议:

  • 打印工作目录: final.py 文件开头添加 print(os.getcwd()) 来打印当前工作目录,以确保你的脚本在正确的目录下运行。
  • 清理临时文件: 删除项目中的任何 .pyc 文件以及 __pycache__ 文件夹,然后重试。

请仔细检查以上几点,并根据你的实际情况进行调整。 如果问题仍然存在,请提供更多信息,例如:

  • model.py 文件中保存模型的代码片段。
  • 你使用的 TensorFlow 和 Keras 版本。

这将有助于更准确地诊断问题。

标签:python,tensorflow,keras
From: 67981104

相关文章

  • 使用 Python 构建一个简单的 REST API
    使用Python构建一个简单的RESTAPI简介本文档将引导您使用Python和Flask框架构建一个简单的RESTAPI。我们将创建一个API,用于管理一个虚拟的书籍数据库。准备工作Python环境:确保您的系统上安装了Python3.x。Flask框架:使用pip安装Flask:pipinstallFla......
  • python学习之闭包与装饰器
    一、闭包闭包允许一个函数访问并操作函数外部的变量(即父级作用域中的变量),即使在该函数外部执行。特性:(1)外部函数嵌套内部函数。(2)外部函数可以返回内部函数。(3)内部函数可以访问外部函数的局部变量。defout():print("我是外层")n=10defins():......
  • 如何正确处理Python中的可选功能
    我正在开发实现科学模型的python包,我想知道处理可选功能的最佳方法是什么。这是我想要的行为:如果无法导入某些可选依赖项(例如,在无头机器上绘制模块),我想在我的类中禁用使用这些模块的功能,警告用户如果他尝试使用它们以及所有这些,而不会破坏执行。所以下面的脚本在任何情况下......
  • 在Python中,对于一个数字列表,如何找到具有最大和的数字的连续子集范围?
    输入的一个示例可能是nums1=[-1,4,-3,5,-5]nums2=[-1,4]我想知道这里什么可能是有效的解决方案。谢谢。defmax_subarray_sum_range(nums):"""找到数字列表中具有最大和的连续子集范围。Args:nums:数字列表。Returns:一个包含最大和子集起......
  • 如何安装mysqlclient 1.4.6? (Python 3.6)MacO?
    我安装pipinstallmysqlclient==1.4.6--no-cache-dir但是出现错误:ld:library'ssl'notfoundclang:error:linkercommandfailedwithexitcode1(use-vtoseeinvocation)error:command'clang'failedwithexitstatus......
  • Numpythonic 方式从所需的时间步长和窗口大小构造窗口向量
    给定参数timestep=2window_size=3我已经展平了大小为9的时间序列向量。内容是:arr=np.array([1,2,3,4,5,6,7,8,9])如何使用这些参数重塑/构造窗口时间序列?我希望输出具有形状unknown,window_size)所以,它的输出将是这样的矩阵:windowed_arr=np......
  • Python - 检测字母模式而不迭代所有可能的组合
    对于可能不太有用的标题,我表示歉意,我不知道如何将这个问题总结为一句话。我正在尝试计算Python3.10中一个单词有多少个“单位”长。一个“单位”是(C表示辅音,V表示元音)CV或VC或C或V(后两者仅在没有配对时使用)可以制作)。例如,“件”将为三个单位......
  • scipy.fft (Python) 结果和 FFTW (C) 结果之间的微小差异
    我正在尝试使用C中的FFTW从Python中的一些已知工作代码重新创建结果。我发现结果中有一些小错误。scipy.fft我的输入数据是真实的3d,尺寸=(294,294,294)。我的scipy.fft调用如下所示:我的fftw代码如下所示这个:complex_data_out=scipy.fft.fftn......
  • 使用 Python 生成多页 PDF 报告,其中包含表格、页眉、页脚和可调整单元格数据(使用 repo
    我想在Python中生成带有表格、页眉、页脚和可调整单元格数据的多页PDF报告(使用reportlab)但是,由于奇怪的原因,字体大小并没有随着表格内容而改变......我尝试在这里改变:('FONTSIZE',(0,1),(-1,-1),24),#内容的字体大小但什么也没发生importtimefromreportlab......
  • Python 和 ReportLab。如何更改 Table 对象中的字体和字体大小?
    我需要更改表对象(ReportLab)中特定单元格的文本样式。据我了解,它可以通过TableStayle类完成,但我找不到示例。my_table=Table(data,colWidths=column_widths,rowHeights=row_heghts)my_colour_black=[0,0,0]my_colour_ligt_gray=[0.8,0.8,0.8]my_colour_gra......