ในบทช่วยสอนสำหรับผู้เริ่มต้น MNISTมีคำสั่ง
accuracy = tf.reduce_mean(tf.cast(correct_prediction, "float"))
tf.cast
โดยทั่วไปจะเปลี่ยนประเภทของเทนเซอร์ที่วัตถุคือ แต่อะไรคือความแตกต่างระหว่างtf.reduce_mean
และnp.mean
?
นี่คือเอกสารเกี่ยวกับtf.reduce_mean
:
reduce_mean(input_tensor, reduction_indices=None, keep_dims=False, name=None)
input_tensor
: เทนเซอร์ที่จะลด ควรมีประเภทตัวเลข
reduction_indices
: ขนาดที่จะลด ถ้าNone
(defaut) ลดขนาดทั้งหมด
# 'x' is [[1., 1. ]] # [2., 2.]] tf.reduce_mean(x) ==> 1.5 tf.reduce_mean(x, 0) ==> [1.5, 1.5] tf.reduce_mean(x, 1) ==> [1., 2.]
สำหรับเวกเตอร์ 1D ดูเหมือนว่าแต่ผมไม่เข้าใจสิ่งที่เกิดขึ้นในnp.mean == tf.reduce_mean
เป็นเรื่องที่สมเหตุสมผลเนื่องจากมีค่าเฉลี่ยและเป็นแต่เกิดอะไรขึ้นกับ?tf.reduce_mean(x, 1) ==> [1., 2.]
tf.reduce_mean(x, 0) ==> [1.5, 1.5]
[1, 2]
[1, 2]
[1.5, 1.5]
tf.reduce_mean(x, 1)