一般来说,tf.layers.dense()多用于CNN网络搭建时搭建全连接层使用。
但在RNN网络搭建,特别是涉及到用RNN做分类时,tf.layers.dense()可以用作RNN分类预测输出。
分类预测输出一般形式:
其中n_hidden为RNN cell的units个数,n_classes为labels的个数。
import tensorflow as tf
weights = {
'out': tf.Variable(tf.random_normal([n_hidden, n_classes], mean=1.0))
}
biases = {
'out': tf.Variable(tf.random_normal([n_classes]))
}
output = tf.matmul(lstm_last_output, weights['out']) + biases['out']
predication = tf.nn.softmax(output)
使用tf.layers.dense():
import tensorflow as tf
prediction = tf.layers.dense(
inputs=lstm_last_output,
units=n_classes,
activation=tf.nn.softmax
)