tensorflow
Softmax multidimensional
Buscar..
Creando una capa de salida de Softmax
Cuando state_below
es un tensor 2D, U
es una matriz de pesos 2D, b
es un vector class_size
:
logits = tf.matmul(state_below, U) + b
return tf.nn.softmax(logits)
Cuando state_below
es un tensor 3D, U
, b
como antes:
def softmax_fn(current_input):
logits = tf.matmul(current_input, U) + b
return tf.nn.softmax(logits)
raw_preds = tf.map_fn(softmax_fn, state_below)
Costos de computación en una capa de salida de Softmax
Utilice tf.nn.sparse_softmax_cross_entropy_with_logits
, pero tenga en cuenta que no puede aceptar la salida de tf.nn.softmax
. En su lugar, calcule las activaciones sin escala y luego el costo:
logits = tf.matmul(state_below, U) + b
cost = tf.nn.sparse_softmax_cross_entropy_with_logits(logits, labels)
En este caso: state_below
y U
deben ser matrices 2D, b
debe ser un vector de un tamaño igual al número de clases, y las labels
deben ser una matriz 2D de int32
o int64
. Esta función también soporta tensores de activación con más de dos dimensiones.
Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow