tf.nn.seq2seq.sequence_loss_by_example函数用法

tf.nn.seq2seq.sequence_loss_by_example(logits, targets, weights):主要说一下这三个参数的意思和用法:

logits是一个二维的张量,比如是a*b,那么targets就是一个一维的张量长度为a,并且targets中元素的值是不能超过b的整形,32位的整数。也即是如果b等于4,那么targets中的元素的值都要小于4。weights就是一个一维的张量长度为a,并且是一个tf.float32的数。这是权重的意思。

例如:

import tensorflow as tf

A = tf.random_normal([5,4], dtype=tf.float32)
B = tf.constant([1,2,1,3,3], dtype=tf.int32)
w = tf.ones([5], dtype=tf.float32)

D = tf.nn.seq2seq.sequence_loss_by_example([A], [B], [w])

with tf.Session() as sess:
    print(sess.run(D))
输出:

[ 1.39524221  0.54694229  0.88238466  1.51492059  0.95956933]

你可能感兴趣的:(tensorflow用法)