Как tenorflow tf.contrib.learn.SVM перезагрузить обученную модель и использовать прогнозирование для классификации новых данных
Обучающая свм-модель с тензорным потоком tf.contrib.learn.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]))
Как перезагрузить обученную модель и использовать прогноз для классификации новых данных?
1 ответ
Решение
Когда тренируешься
Ты звонишь svm.SVM(..., model_dir)
а затем позвоните fit()
а также evaluate()
метод.
При тестировании
Ты звонишь svm.SVM(..., model_dir)
а потом можете позвонить predict()
методы. Ваша модель найдет обученную модель в model_dir
и загрузит обученные модельные параметры.