tensorflow tf.contrib.learn.SVM 如何重新加载训练好的模型并使用预测对新数据进行分类

How tensorflow tf.contrib.learn.SVM reload trained model and use predict to classify new data

使用 tensorflow tf.contrib.learn.SVM 训练 svm 模型并保存模型;代码

feature_columns = [tf.contrib.layers.real_valued_column(feat) for feat in self.feature_columns]
model_dir = os.path.join(define.root, 'src', 'static_data', 'svm_model_dir')
model = svm.SVM(example_id_column='example_id',
                feature_columns=feature_columns,
                 model_dir=model_dir,
                            config=tf.contrib.learn.RunConfig(save_checkpoints_secs=10))
model.fit(input_fn=lambda: self.input_fun(self.df_train), steps=10000)
results = model.evaluate(input_fn=lambda: self.input_fun(self.df_test), steps=5, metrics=validation_metrics)
for key in sorted(results):
    print('% s: % s' % (key, results[key]))

如何重新加载经过训练的模型并使用预测对新数据进行分类?

训练时

您调用 svm.SVM(..., model_dir),然后调用 fit()evaluate() 方法。

测试时

您调用 svm.SVM(..., model_dir),然后可以调用 predict() 方法。 您的模型将在 model_dir 中找到经过训练的模型并将加载经过训练的模型参数。

参考

Issue #3340 of TF