tf.nn.softmax_cross_entropy_with_logits 질문..
470
작성한 질문수 1
ANN 강의 중 cross_entropy 정의를
class ANN_model(tf.keras.Model):
def __init__(self):
super(ANN_model, self).__init__()
self.hidden_layer_1 = tf.keras.layers.Dense(hidden1_size, activation = 'relu',
kernel_initializer = random_normal_initializer(),
bias_initializer = random_normal_initializer())
self.hidden_layer_2 = tf.keras.layers.Dense(hidden2_size, activation = 'relu',
kernel_initializer = random_normal_initializer(),
bias_initializer = random_normal_initializer())
self.output_layer = tf.keras.layers.Dense(output_size, activation = None,
kernel_initializer = random_normal_initializer(),
bias_initializer = random_normal_initializer())
def call(self, x):
H1_output = self.hidden_layer_1(x)
H2_output = self.hidden_layer_2(H1_output)
logits = self.output_layer(H2_output)
return logits
@tf.function
def cross_entropy(logits, y):
return tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(logits = logits, labels = y))
하시더라구요. 저도 이 코드를 따라서 실행하니 잘 수행되었습니다.
그런데 이전 강의와 같이
def call(self, x):
H1_output = self.hidden_layer_1(x)
H2_output = self.hidden_layer_2(H1_output)
logits = self.output_layer(H2_output)
return tf.nn.softmax(logits)
@tf.function
def cross_entropy(y_pred, y):
reutrn tf.reduce_mean(-tf.reduce_sum(y * tf.math.log(y_pred), axis = [1]))
으로 수행하니 loss가 nan이 뜨더라구요.
tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(logits = logits, labels = y))
와 tf.reduce_mean(-tf.reduce_sum(y * tf.math.log(y_pred), axis = [1]))는 같은 코드가 아닌가요?
답변 1
0
안녕하세요~. 반갑습니다.
tf.nn.softmax_cross_entropy_with_logits API가 좀더 최적화 되어 있어서 완전 동일한 코드라고 할순없지만 두 코드가 의미하는 바는 동일한데요.
(tf.nn.softmax_cross_entropy_with_logits의 정확한 구현은 아래 코드를 참조하세요~.)
https://github.com/tensorflow/tensorflow/blob/v2.5.0/tensorflow/python/ops/nn_ops.py#L3851
loss가 NaN이 뜨는 것은 조금 이상한것 같네요. 직접 cross entropy를 계산하는 코드에서 learning_rate를 좀더 낮춰서 진행해보시겠어요?
감사합니다.
22강 코드 call()메서드 is_training -> model(x,False)로 호출시 밸류에러 참고
0
49
1
선형 회귀 모델에 대해서 질문 있습니다
0
258
2
tf.keras.model.reset_states()
0
746
2
[질문]colab환경에서 텐서보드(TensorBoard)를 이용해서 학습과정 시각화(Visualization)하기강의 관련 질문
0
505
2
[질문]colab환경에서 tf.train.CheckpointManager API를 이용해서 파라미터 저장하고 불러오기 실행에 대한 질문
0
289
2
colab에서 구동 가능한 char-rnn 코드 관련 질문
0
223
1
안녕하세요 파이썬이랑 tensorflow 정확한 버전 알수있을까요?
0
253
1
colab 환경에서 Autoencoder 구현하였으나 결과가 보이지 않는 분들 참고사항
0
211
1
Mnist 에 keras를 통해 softmax를 활용한 regerssion error 발생
0
2100
2
GRU 리셋게이트, 포겟게이트 질문
0
261
1
ANN 구현
0
349
1
char-rnn 코랩 에러 ... 못보나요,, cpus는 너무 느려서
0
590
1
ANN으로 Mnist 숫자분류기 코드질문
0
294
1
ppt 12p 질문
0
383
1
keras에서 이미 정의된 모델을 가져와 학습할 경우
0
654
1
모델 코드 질문
0
370
1
코드 질문
0
281
1
ppt 10p
0
386
1
ppt 13p 추가 질문
0
259
1
ppt 9p 추가 질문
0
266
1
ppt 5p 질문
0
323
1
ppt 9p 질문
0
284
1
vanishing gradient
0
278
1
TensorFlow 2.0을 이용한 CIFAR-10 이미지 분류를 위한 CNN 구현 질문
0
263
1





