Tôi đang làm theo hướng dẫn trong this link và cố gắng thay đổi phương pháp đánh giá cho mô hình (ở dưới cùng). Tôi muốn để có được một đánh giá hàng đầu 5 và tôi đang cố gắng sử dụng để mã sau:TensorFlow in_top_k arguants đầu vào đánh giá đầu vào
topFiver=tf.nn.in_top_k(y, y_, 5, name=None)
Tuy nhiên, điều này mang lại các lỗi sau:
File "AlexNet.py", line 111, in <module>
topFiver = tf.nn.in_top_k(pred, y, 5, name=None)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/gen_nn_ops.py", line 346, in in_top_k
targets=targets, k=k, name=name)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/op_def_library.py", line 486, in apply_op
_Attr(op_def, input_arg.type_attr))
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/op_def_library.py", line 59, in _SatisfiesTypeConstraint
", ".join(dtypes.as_dtype(x).name for x in allowed_list)))
TypeError: DataType float32 for attr 'T' not in list of allowed values: int32, int64
Theo như tôi có thể nói, vấn đề là tf.nn.in_top_k()
chỉ hoạt động cho tf.int32
hoặc tf.int64
dữ liệu, nhưng dữ liệu của tôi ở định dạng tf.float32
. Có cách giải quyết nào cho vấn đề này không?