Tôi đang làm việc trên một vấn đề đa nhãn và tôi đang cố gắng để xác định tính chính xác của mô hình của tôi.Tensorflow, tính toán độ chính xác đa nhãn
mô hình của tôi:
NUM_CLASSES = 361
x = tf.placeholder(tf.float32, [None, IMAGE_PIXELS])
y_ = tf.placeholder(tf.float32, [None, NUM_CLASSES])
# create the network
pred = conv_net(x)
# loss
cost = tf.reduce_mean(tf.nn.sigmoid_cross_entropy_with_logits(pred, y_))
# train step
train_step = tf.train.AdamOptimizer().minimize(cost)
tôi muốn để tính toán chính xác theo hai cách khác nhau
-% của tất cả các nhãn được dự đoán một cách chính xác -% hình ảnh nơi tất cả các nhãn được dự đoán một cách chính xác
tiếc là tôi chỉ có thể tính% của tất cả các nhãn được dự đoán chính xác.
Tôi nghĩ mã này sẽ tính toán% các hình ảnh mà tất cả các nhãn được dự đoán một cách chính xác
correct_prediction = tf.equal(tf.round(pred), tf.round(y_))
accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))
và mã% này của tất cả các nhãn được dự đoán một cách chính xác
pred_reshape = tf.reshape(pred, [ BATCH_SIZE * NUM_CLASSES, 1 ])
y_reshape = tf.reshape(y_, [ BATCH_SIZE * NUM_CLASSES, 1 ])
correct_prediction_all = tf.equal(tf.round(pred_reshape), tf.round(y_reshape))
accuracy_all = tf.reduce_mean(tf.cast(correct_prediction_all, tf.float32))
bằng cách nào đó xã hội dân sự của các nhãn thuộc về một hình ảnh bị mất và tôi không chắc chắn tại sao.
Nhờ hoạt động giống như một nét duyên dáng, để tôi hiểu một cách chính xác rằng reduce_min gói tất cả các nhãn của một hình ảnh lại với nhau? – MaMiFreak
Nó sẽ tối thiểu là correct_prediction cho mỗi phần tử của lô. Mức tối thiểu này là 1 nếu tất cả các phần tử là 1 (nghĩa là tất cả các dự đoán là chính xác) và 0 nếu ít nhất một phần tử là False (và bằng 0) –
Tôi đã thử phương pháp này, nhưng tôi nhận được cùng một giá trị chính xác cho mỗi kỷ nguyên: độ chính xác: 0.984375 Độ chính xác kiểm tra: 0.984375'. Bất kỳ ý tưởng tại sao điều này xảy ra? https://stackoverflow.com/questions/49210520/cant-get-correct-acccuracy-for-multi-label-prediction – Peterdk