TF1 from TF2 如何得到模型的概率?

问题描述 投票:0回答:1

您好,我生成了以下模型,并且我已使用 Tf 迁移脚本成功将 TF 1 示例转换为 TF 2。

这是模型:

tf.compat.v1.reset_default_graph
X       = tf.compat.v1.placeholder(tf.float32, [None, n_steps, n_inputs],name="input")
y       = tf.compat.v1.placeholder(tf.float32, [None, n_outputs],name="output")

layers  = [tf.compat.v1.nn.rnn_cell.LSTMCell(num_units     = n_neurons,
                                  activation    = tf.nn.leaky_relu, 
                                  use_peepholes = True,
                                  name          = "layer"+str(layer))  for layer in range(n_layers)
          ]
multi_layer_cell    = tf.compat.v1.nn.rnn_cell.MultiRNNCell(layers)
rnn_outputs, states = tf.compat.v1.nn.dynamic_rnn(multi_layer_cell, X, dtype=tf.float32)
stacked_rnn_outputs = tf.reshape(rnn_outputs, [-1, n_neurons]) 
stacked_outputs     = tf.compat.v1.layers.dense(stacked_rnn_outputs, n_outputs)
outputs             = tf.reshape(stacked_outputs, [-1, n_steps, n_outputs])
outputs             = tf.identity(outputs[:, n_steps-1, :], name="prediction")

loss                = tf.math.sqrt(tf.reduce_mean(tf.square(outputs - y))) # loss function = mean squared error                  

optimizer           = tf.compat.v1.train.AdamOptimizer(learning_rate = learning_rate) 
training_op         = optimizer.minimize(loss, name = "training_op")

我想知道是否可以得到模型的概率?如果可以的话我该如何在上面的例子中添加它?其次,我见过

model.predict_proba
,但它是与
keras
一起使用的,我没有使用
keras

python-3.x tensorflow model probability
1个回答
0
投票

输出层上的softmax激活函数可用于计算TF2中模型预测的概率,如果您不使用Keras,则应在输出层上应用softlmax函数。

stacked_rnn_outputs = tf.reshape(rnn_outputs, [-1, n_neurons]) 
stacked_outputs = tf.compat.v1.layers.dense(stacked_rnn_outputs, n_outputs)logits = tf.reshape(stacked_outputs, [-1, n_steps, n_outputs])

# here we appy the softmax to get probabilities
probabilities = tf.nn.softmax(logits, name="probabilities")

然后您应该使用 TF 会话中的 X 数据来评估

probabilities
张量。

with tf.compat.v1.Session() as sess:
    model_probabilities = sess.run(probabilities, feed_dict={X: X})
© www.soinside.com 2019 - 2024. All rights reserved.