Тензор потока и условная точность - PullRequest
0 голосов
/ 29 сентября 2018

Я использую стандартный способ вычисления точности:

correct_pred = tf.equal(tf.argmax(prediction, 1), tf.argmax(Y, 1))
accuracy = tf.reduce_mean(tf.cast(correct_pred, tf.float32))

Однако большинство меток равны 0 (т. Е. Y = [1,0,0, ..]).Я хотел бы ограничить вычисление точности на этикетках.Я попробовал следующее:

correct_pred = tf.equal( tf.argmax( prediction[tf.where(Y[0]!=1)], 1) , 
                         tf.argmax(Y[tf.where(Y[0]!=1)], 1) )

Это не работает, так как изменяет размер тензоров:

ValueError: Shape должен иметь ранг 1, но 3 ранга для 'strided_slice_2' (op: 'StridedSlice') с входными формами: [?, 3], [1,?, 0], [1,?, 0], [1].

Как правильноделать такие вещи?

...