私はTensorFlowを初めて使い、scikit-learnモデルをTensorFlow表記に変換しようとしていますが、それはあまりにも複雑です。TensorFlow:DNNRegressor、予測モデルを保存する方法
scikit-learnでモデルを保存してjoblib.load("ModelName.pkl")
に再度電話すると、model.dump("ModelName.pkl")
に電話するだけです。私がやりたいすべてが、get_training_data()
でモデルを訓練して保存し、その後、私はpredict
を呼び出すことができますので、それをロードしている
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
:私はTensorFlowと同様のことを行うにしようとしていますが、私は次のエラーを取得しています。
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
に保存されている