我注意到tf.nn.softmax_cross_entropy_with_logits_v2(labels, logits)主要执行3个操作:
将softmax应用于logits(y_hat)以对其进行标准化:y_hat_softmax = softmax(y_hat).
计算交叉熵损失: y_cross = y_true * tf.log(y_hat_softmax)
对实例的不同类求和: -tf.reduce_sum(y_cross, reduction_indices=[1])
从这里借来的代码完美地证明了这一点.
y_true = tf.convert_to_tensor(np.array([[0.0, 1.0, 0.0],[0.0, 0.0, 1.0]]))
y_hat = tf.convert_to_tensor(np.array([[0.5, 1.5, 0.1],[2.2, 1.3, 1.7]]))
# first step
y_hat_softmax = tf.nn.softmax(y_hat)
# second step
y_cross = y_true * tf.log(y_hat_softmax)
# third step
result = - tf.reduce_sum(y_cross, 1)
# use tf.nn.softmax_cross_entropy_with_logits_v2
result_tf = tf.nn.softmax_cross_entropy_with_logits_v2(labels = y_true, logits = y_hat)
with tf.Session() as sess:
sess.run(result)
sess.run(result_tf)
print('y_hat_softmax:\n{0}\n'.format(y_hat_softmax.eval()))
print('y_true: \n{0}\n'.format(y_true.eval()))
print('y_cross: \n{0}\n'.format(y_cross.eval()))
print('result: …Run Code Online (Sandbox Code Playgroud) HTTP/2如何影响代理服务器的实现?特别是,例如,当客户端向仅支持HTTP/1.x的内容服务器发送HTTP/2请求时,代理服务器是否应该在将客户端请求指向客户端请求之前将HTTP/2请求转换为HTTP/1.x请求内容服务器?并且在收到内容服务器的响应后,代理服务器是否应该将响应转换为HTTP/2格式,然后再将其发送回客户端?
HTTP/2肯定是未来的趋势,因为它现在是HTTP协议的标准.我们可以在使用中看到,70.15%的浏览器支持HTTP/2.但HTTP/2是如此新颖,以至于只有支持HTTP/1.x的浏览器,并且有许多服务器只支持HTTP/1.x. 我知道客户端可以使用HTTP升级机制来协商正确的协议以与服务器通信.例如,如果服务器支持HTTP/2,则它们的通信协议将切换到HTTP/2,否则使用HTTP/1.x. 但这仅适用于客户端使用的浏览器同时支持HTTP/2和HTTP/1.x的情况,对吗?
但是,如果浏览器上仅支持HTTP/1.x的用户想要与仅HTTP/2服务器通信呢?服务器是否会忽略该请求或将错误发送回用户?
如果只支持HTTP/2的浏览器上的用户想要与仅HTTP/1.1服务器通信呢?我认为这个过程可能是这样的:用户向服务器发送连接前言,服务器无法识别请求,因此用户可能会收到连接错误消息.这是正确的吗?
或者是否有任何浏览器仅支持HTTP/2?
有人可以帮助解释bpe模型背后的基本概念吗?除了本文以外,还没有太多的解释。
到目前为止,我所知道的是,通过将稀有和未知词编码为子词单元序列,它可以在开放词汇上进行NMT模型转换。
但是我想不通读本文就对它的工作原理有一个大致的了解。
当我在这里阅读 seq2seq 教程时,我无法理解 function 的输出tf.contrib.seq2seq.dynamic_docode。
本教程访问用于训练sample_id = outputs.sample_id和logits = self.output_layer(outputs.rnn_output)推理时使用的解码器的输出,logits = outputs.rnn_output以及sample_id = outputs.sample_id。什么是logits和sample_id这里代表什么?final_outputs函数的内容是什么tf.contrib.seq2seq.dynamic_docode?
假设test_t定义如下:
typedef struct test_t {
void *unused;
} *(test_t)
Run Code Online (Sandbox Code Playgroud)
是否可以将变量定义为指向 const 的指针而不修改 的定义test_t?
const test_t var将是一个指向 的 const 指针struct test_t,对吧?
我遇到这个问题,因为 sonarqube 建议“使该变量的类型成为指向 const 的指针”,但我无法更改定义,因为它在许多其他地方使用,其中变量应该是指向struct test_t.