tensorflow 操作系统错误:SavedModel文件不存在于:../dnn/mpg_模型. h5/{已保存的模型.pbtxt|保存的模型.pb}

kadbb459  于 2022-11-16  发布在  其他
关注(0)|答案(4)|浏览(368)

**

代码编辑器:对编码
cmd:anaconda提示符
我遵循了教程,但为什么会出现此错误?**
第一个错误是ModuleNotFoundError:没有名为'tensorflow'的模块,但我创建了env并安装了它。第二个错误是ModuleNotFoundError:没有模块命名为' flask ',但我使env和安装它,我修复他们,他们在Python上工作,我怎么能解决这个问题?
第一个
https://github.com/jeffheaton/t81_558_deep_learning/blob/master/t81_558_class_13_01_flask.ipynbhttps://www.youtube.com/watch?v=H73m9XvKHug&t=1056s

bnlyeluc

bnlyeluc1#

发生错误的原因是您的程式码尝试载入不存在的模型。从您链接的笔记本档案,您很可能必须执行下列动作:

from werkzeug.wrappers import Request, Response
from flask import Flask

app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

if __name__ == '__main__':
    from werkzeug.serving import run_simple
    run_simple('localhost', 9000, app)

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Activation
from sklearn.model_selection import train_test_split
from tensorflow.keras.callbacks import EarlyStopping
import pandas as pd
import io
import os
import requests
import numpy as np
from sklearn import metrics

df = pd.read_csv(
    "https://data.heatonresearch.com/data/t81-558/auto-mpg.csv", 
    na_values=['NA', '?'])

cars = df['name']

# Handle missing value
df['horsepower'] = df['horsepower'].fillna(df['horsepower'].median())

# Pandas to Numpy
x = df[['cylinders', 'displacement', 'horsepower', 'weight',
       'acceleration', 'year', 'origin']].values
y = df['mpg'].values # regression

# Split into validation and training sets
x_train, x_test, y_train, y_test = train_test_split(    
    x, y, test_size=0.25, random_state=42)

# Build the neural network
model = Sequential()
model.add(Dense(25, input_dim=x.shape[1], activation='relu')) # Hidden 1
model.add(Dense(10, activation='relu')) # Hidden 2
model.add(Dense(1)) # Output
model.compile(loss='mean_squared_error', optimizer='adam')

monitor = EarlyStopping(monitor='val_loss', min_delta=1e-3, patience=5, verbose=1, mode='auto',
        restore_best_weights=True)
model.fit(x_train,y_train,validation_data=(x_test,y_test),callbacks=[monitor],verbose=2,epochs=1000)

pred = model.predict(x_test)
# Measure RMSE error.  RMSE is common for regression.
score = np.sqrt(metrics.mean_squared_error(pred,y_test))
print(f"After load score (RMSE): {score}")

model.save(os.path.join("./dnn/","mpg_model.h5"))

这将训练并保存代码正在加载的模型。
看起来您的行上还有一个小的打字错误:应更改为model = load_model(os.path.join("./dnn/","mpg_model.h5"))model = load_model(os.path.join("../dnn/","mpg_model.h5"))

fruv7luv

fruv7luv2#

我得到了同样的错误,试图加载一个imidoh5模型上的树莓pi。
OSError: SavedModel file does not exist at: ... {saved_model.pbtxt|saved_model.pb}

sudo apt install python3-h5py

似乎已经解决了这个问题。
参考文献

tp5buhyn

tp5buhyn3#

如果在Windows上,模型的路径可能导致错误
为了进行健全性检查,尝试将模型放置在与您正在调用的文件相同的文件夹中。然后修复您的路径以从相同的文件夹中调用模型。这修复了我的错误。
如果这样做有效,那么您就可以找出如何解决路径问题(也许可以尝试提供一个绝对路径)。

42fyovps

42fyovps4#

我得到了同样的错误,我通过再次运行模型并使用**.pb扩展名而不是.h5.hdf5**扩展名保存来解决该错误
然后使用tf.keras.models.load_model('D:\\model_name.pb')使用双反斜杠我在windows中有这个错误,可以解决它

相关问题