까먹으면 적어두자
nan 혹은 말도 안되는 loss 본문
문제
loss값이 말도 안되게 높거나 nan이 나옴
소스일부
x = model.output
x = Dense(4096, name="fc1", activation="relu")(x)
x = Dropout(0.5)(x)
x = Dense(4096, name="fc2", activation="relu")(x)
x = Dropout(0.5)(x)
x = Dense(365, activation='softmax', name='softmax')(x)
model = Model(model.input, x)
model.summary()
epoch=nepoch
learning_rate = 0.001
momentum = 0.9
sgd = optimizers.SGD(lr=learning_rate, momentum=momentum, nesterov=False)
제시된 원인
1. learningrate가 너무 높다
2. input data에 nan이 껴있다.
3. output size와 데이터가 불일치한다.
4. log(0)이 어디선가 수행되고 있다.
내 원인
1. learningrate가 너무 높다
모델 훈련에서 0.01은 너무 높은 값이라고 한다.
보통 쓰는 값이 0.001이고 더 낮추는 것도 가능.
해결방법
lr 을 0.001로 수정
반응형
'인공지능' 카테고리의 다른 글
Keras에서 GPU 제대로 쓰기 (0) | 2021.04.06 |
---|---|
PyTorch 모델과 state_dict - 1 (0) | 2021.04.06 |
우분투에서 Cuda 버전 다운그레이드 (1) | 2021.03.26 |
Comments