reduce_max 张量流中的函数
reduce_max function in tensorflow
截图
>>> boxes = tf.random_normal([ 5])
>>> with s.as_default():
... s.run(boxes)
... s.run(keras.backend.argmax(boxes,axis=0))
... s.run(tf.reduce_max(boxes,axis=0))
...
array([ 0.37312034, -0.97431135, 0.44504794, 0.35789603, 1.2461706 ],
dtype=float32)
3
0.856236
.
为什么我得到的是 0.8564。我预计该值为 1.2461。因为 1.2461 是 big.right?
I am getting correct answer if i use tf.constant.
But I am not getting correct answer while using radom_normal
每次 运行 s.run()
和 radom_normal
都会重新生成一个新的 boxes
。所以你的三个结果是不同的。如果你想得到一致的结果,你应该只 运行 s.run()
一次。
result = s.run([boxes,keras.backend.argmax(boxes,axis=0),tf.reduce_sum(boxes,axis=0)])
print(result[0])
print(result[1])
print(result[2])
#print
[ 0.69957364 1.3192859 -0.6662426 -0.5895929 0.22300807]
1
0.9860319
另外,代码要以文字形式给出,不要以图片形式给出。
TensorFlow 不同于 numpy,因为 TF 仅使用符号运算。这意味着当您实例化 random_normal
时,您得到的不是数值,而是符号正态分布,因此 每次对其求值时,您都会得到不同的数字 .
每次使用此分布进行操作时,使用任何其他操作,您都会得到不同的数字,这就是您看到的结果的原因。
截图
>>> boxes = tf.random_normal([ 5])
>>> with s.as_default():
... s.run(boxes)
... s.run(keras.backend.argmax(boxes,axis=0))
... s.run(tf.reduce_max(boxes,axis=0))
...
array([ 0.37312034, -0.97431135, 0.44504794, 0.35789603, 1.2461706 ],
dtype=float32)
3
0.856236
.
为什么我得到的是 0.8564。我预计该值为 1.2461。因为 1.2461 是 big.right?
I am getting correct answer if i use tf.constant.
But I am not getting correct answer while using radom_normal
每次 运行 s.run()
和 radom_normal
都会重新生成一个新的 boxes
。所以你的三个结果是不同的。如果你想得到一致的结果,你应该只 运行 s.run()
一次。
result = s.run([boxes,keras.backend.argmax(boxes,axis=0),tf.reduce_sum(boxes,axis=0)])
print(result[0])
print(result[1])
print(result[2])
#print
[ 0.69957364 1.3192859 -0.6662426 -0.5895929 0.22300807]
1
0.9860319
另外,代码要以文字形式给出,不要以图片形式给出。
TensorFlow 不同于 numpy,因为 TF 仅使用符号运算。这意味着当您实例化 random_normal
时,您得到的不是数值,而是符号正态分布,因此 每次对其求值时,您都会得到不同的数字 .
每次使用此分布进行操作时,使用任何其他操作,您都会得到不同的数字,这就是您看到的结果的原因。