내가 keras 함께 일하고 있어요 그리고 난이 keras 추상적 인 백엔드를 사용하여 categorical_crossentropy를 다시 작성하기 위해 노력하고있어,하지만 난Keras Cross_entropy
이이 내 실제 사용자 정의 기능, 난 crossentropy 단지 가중 합을 원하는됩니다 붙어
def custom_entropy(y_true, y_pred):
y_pred /= K.sum(y_pred, axis=-1, keepdims=True)
# clip to prevent NaN's and Inf's
y_pred = K.clip(y_pred, K.epsilon(), 1 - K.epsilon())
loss = y_true * K.log(y_pred)
loss = -K.sum(loss, -1)
return loss
내 프로그램에서 나는 model.predict() 덕분에 label_pred를 생성합니다. 마침내 내가 수행
label_pred = model.predict(mfsc_train[:,:,5])
cc = custom_entropy(label, label_pred)
ce = K.categorical_crossentropy(label, label_pred)
나는 다음과 같은 오류 얻을 다음 documentation에 주어진
Traceback (most recent call last):
File "SAMME_train_all.py", line 47, in <module>
ce = K.categorical_crossentropy(label, label_pred)
File "C:\Users\gionata\AppData\Local\Programs\Python\Python36\lib
s\keras\backend\tensorflow_backend.py", line 2754, in categorical_c
axis=len(output.get_shape()) - 1,
AttributeError: 'numpy.ndarray' object has no attribute 'get_shape'
대신 계산 방법을 알려주시겠습니까? –
나는 내 custom_loss와 함께 이전의 messagge를 편집했습니다. 동일한 매개 변수 (및 prob = np.ones())를 사용하여 두 가지를 모두 테스트하려고했으나 기본적인 교차 도와 사용하면 오류가 발생합니다. no getShape –