Как сделать прогноз, используя веса и смещения, извлеченные из DNNClassifier tenorflow

1 trained Я обучил классификатор DNN следующим образом:

dw = tf.contrib.learn.DNNClassifier(
    n_classes=2,  
    config=tf.contrib.learn.RunConfig(tf_random_seed=10),
    feature_columns=cols,
    hidden_units=[2],
    optimizer=tf.train.AdagradOptimizer(0.1),
    activation_fn = tf.nn.relu
    #optimizer=tf.train.GradientDescentOptimizer(0.5)
    #l1_regularization_strength=1.0
    #model_dir="../model/deep/"
)

2 pre Используйте вес и смещение скрытого слоя и logitlayer, чтобы сделать предварительные условия ,, но результат не верен:

x = all_x[all_x.index==9473][[col.column_name for col in cols]]
x = np.matrix(x)
# layer0
out0 = x * np.matrix(dw.get_variable_value("dnn/hiddenlayer_0/weights")) + np.matrix(dw.get_variable_value("dnn/hiddenlayer_0/biases"))
# relu
out0 = out0.tolist()[0]
out0 = map(relu, out0)
out0 = np.matrix(out0)
# logitlayer
out = out0 * np.matrix(dw.get_variable_value("dnn/logits/weights")) + np.matrix(dw.get_variable_value("dnn/logits/biases"))

# compare results
print expit(out[0,0])  # my prediction
print test_pred[-1]  # real prediction

>
0.225711449643
0.16966335

3 、 как получить прогноз использовать вес / смещение?

0 ответов

Другие вопросы по тегам