sparse_softmax_cross_entropy
을 사용하는 현재 코드가 정상적으로 작동합니다. 내가 사용하려고하지만Tensorflow - tf.losses.hinge_loss를 사용하여 도형을 만들 수 없음 호환되지 않는 오류
loss_normal = (
tf.reduce_mean(tf.losses
.sparse_softmax_cross_entropy(labels=labels,
logits=logits,
weights=class_weights))
)
의 hinge_loss
:
ValueError: Shapes (1024, 2) and (1024,) are incompatible
오류가 losses_impl.py
파일에이 기능에서 유래 것으로 보인다 : 그것은 말하는 오류를보고
loss_normal = (
tf.reduce_mean(tf.losses
.hinge_loss(labels=labels,
logits=logits,
weights=class_weights))
)
:
with ops.name_scope(scope, "hinge_loss", (logits, labels)) as scope:
...
logits.get_shape().assert_is_compatible_with(labels.get_shape())
...
단지 logits 텐서의 1 열을 추출하기 위해 다음과 같이
나는 내 코드를 수정 :
loss_normal = (
tf.reduce_mean(tf.losses
.hinge_loss(labels=labels,
logits=logits[:,1:],
weights=class_weights
))
)
을하지만 여전히 비슷한 오류보고 :
ValueError: Shapes (1024, 1) and (1024,) are incompatible.
하는 사람이 왜 내 코드가 작동을 지적 도와주세요 수를 sparse_softmax_cross_entropy
손실이 있지만 hinge_loss
이 아님으로 괜찮습니까?
감사합니다. Maxim. 나는 축 1을 따라 논리를 합산함으로써 두 번째 접근법을 이해할 수 있을지 확신하지 못한다. 나는 내일 두 접근법을 시도하고 업데이트를 제공 할 것이다. 감사. – Allen