gpt4 book ai didi

python - TensorFlow:DNNRegressor,如何保存模型以进行预测

转载 作者:行者123 更新时间:2023-11-30 09:08:56 26 4
gpt4 key购买 nike

我是 TensorFlow 新手,正在尝试将我的 scikit-learn 模型转换为 TensorFlow 表示法,但我发现它过于复杂。

在 scikit-learn 中,您只需调用 model.dump("ModelName.pkl") 来保存模型并调用 joblib.load("ModelName.pkl")再次使用它。我正在尝试使用 TensorFlow 做类似的事情,但出现以下错误:

Traceback (most recent call last):
File "/Users/user0/Desktop/IPML_Model/tensorflow_model_train.py", line 39, in <module>
saver = tf.train.Saver()
File "/Library/Python/2.7/site-packages/tensorflow/python/training/saver.py", line 1139, in __init__
self.build()
File "/Library/Python/2.7/site-packages/tensorflow/python/training/saver.py", line 1161, in build
raise ValueError("No variables to save")
ValueError: No variables to save

我想做的就是使用 get_training_data() 训练模型,保存它,然后加载它,以便我可以调用预测。这是我所拥有的:

def get_training_data():
X, y = preprocess_data()

X_train, _, y_train, _ = train_test_split(X, y, test_size=0.2, random_state=123)

feature_set = {f: tf.constant(X_train[f]) for f in features}
label_set = tf.constant(y_train)

return feature_set, label_set

# Start a session
sess = tf.Session()

# Initialize a DNNRegressor model
feature_cols = [real_valued_column(k) for k in features]
dnn_regressor = DNNRegressor(feature_columns=feature_cols, hidden_units=[50, 50], label_dimension=7, model_dir=os.getcwd())

# Train the model
dnn_regressor.fit(input_fn=lambda: get_training_data(), steps=5000)

# Save the model
saver = tf.train.Saver()
saver.save(sess, "dnnregressor.ckpt")

我可以在拟合后对dnnregressor调用predict,并且不需要“变量”,但我想首先保存模型然后调用预测。最简单、最少的方法是什么?

最佳答案

当您调用时,模型保存在model_dir中:

dnn_regressor = DNNRegressor(feature_columns=feature_cols, hidden_units=[50, 50], label_dimension=7, model_dir=os.getcwd())

现在,在推理期间,您再次调用上述内容,它将从model_dir加载模型,然后调用dnn_regressor.predict()功能。

关于python - TensorFlow:DNNRegressor,如何保存模型以进行预测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45380865/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com