Python 3.x Tensorflow keras-如果模型不存在,如何避免加载h5模型时出错

Python 3.x Tensorflow keras-如果模型不存在,如何避免加载h5模型时出错,python-3.x,tensorflow,keras,Python 3.x,Tensorflow,Keras,我正在编写一个应用程序,专门训练机器学习模型,当我尝试获取模型时,如下所示: model = tf.keras.models.load_model('./models/model.h5') 我得到一个错误: Unable to open file (unable to open file: name = 'models/model.h5', errno = 2, error message = 'No such file or directory', flags = 0, o_flags =

我正在编写一个应用程序,专门训练机器学习模型,当我尝试获取模型时,如下所示:

model = tf.keras.models.load_model('./models/model.h5')
我得到一个错误:

Unable to open file (unable to open file: name = 'models/model.h5', errno = 2, error message = 'No such file or directory', flags = 0, o_flags = 0)

但是,在某些特殊情况下,模型可能不存在于磁盘上,此时应创建、训练并保存模型以供以后使用。检查模型是否存在的正确方法是什么?我可以使用python中的内置功能来检查文件是否存在,但对我来说似乎很明显,应该有一个参数on load_model,如果文件不存在,它将返回None而不是抛出错误。

python检查文件是否存在的方法是正确的

这可能是针对个人的,但显然不应该返回
None
。打开文件时,该文件必须存在

你可以:

import os.path

if os.path.isfile(fname):
    model=load_model(fname)
else:
    model = createAndTrainModel()
或者你可以

try:
    model=load_model(fname)
except:
    model = createAndTrainModel()

我更喜欢第一种方法。

try:return tf.keras.models.load_model('./models/model.h5')除了OSError:是我目前使用的方法,指定了确切的异常,但这是我不喜欢的额外代码,我习惯于在这种情况下获取null。