33,000원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결TensorFlow 2.0으로 배우는 딥러닝 입문
tf.keras.model.reset_states()
파이썬 버전이 다른지 텐서플로우 버전이 다른지 모르겠지만 자꾸 코드가 실행되지 않는 부분들이 있어 조금식 바꿔가면서 강의 듣고 있습니다. 그러던 중 Char-RNN실습에서 tf.keras.Model.reset_states()에 오류가 생겨 질문 드립니다. class exModel(tf.keras.Model): def __init__(self): super(exModel, self).__init__() self.layer = tf.keras.layers.Dense(10, activation = None, kernel_initializer = 'zeros', bias_initializer = 'zeros') def call(self, x): logits = self.layer(x) return logits My_model = exModel() My_model.reset_states()결과 :'exModel' object has no attribute 'reset_states' Tensorflow : 2.16.1Python : 3.10.13실습 파일 : train_and_sampling_v2_keras.py ==================================================================실습 코드 :# -*- coding: utf-8 -*- # Char-RNN 예제 - Keras API를 이용한 구현 # Reference : https://github.com/tensorflow/docs/blob/master/site/en/tutorials/text/text_generation.ipynb from __future__ import absolute_import, division, print_function, unicode_literals #python 2와 호완 from absl import app #Google에서 만든 API / Tensorflow와 같이 쓰이니 공부해두자 import tensorflow as tf import numpy as np import os import time # input 데이터와 input 데이터를 한글자씩 뒤로 민 target 데이터를 생성하는 utility 함수를 정의합니다. def split_input_target(chunk): input_text = chunk[:-1] target_text = chunk[1:] return input_text, target_text # 학습에 필요한 설정값들을 지정합니다. data_dir = tf.keras.utils.get_file('shakespeare.txt', 'https://storage.googleapis.com/download.tensorflow.org/data/shakespeare.txt') # shakespeare #data_dir = './data/linux/input.txt' # linux batch_size = 64 # Training : 64, Sampling : 1 ''' 기존 : [batch_size, data_dimension] 시계열 데이터 : [batch_size, sequence_len,data_dimension] ''' seq_length = 100 # Training : 100, Sampling : 1 #몇 글자를 한 시퀀스로 할 것인가 embedding_dim = 256 # Embedding 차원 hidden_size = 1024 # 히든 레이어의 노드 개수 num_epochs = 10 # 학습에 사용할 txt 파일을 읽습니다. text = open(data_dir, 'rb').read().decode(encoding='utf-8') # 학습데이터에 포함된 모든 character들을 나타내는 변수인 vocab과 # vocab에 id를 부여해 dict 형태로 만든 char2idx를 선언합니다. vocab = sorted(set(text)) # 유니크한 character vocab_size = len(vocab) print('{} unique characters'.format(vocab_size)) char2idx = {u: i for i, u in enumerate(vocab)} ''' character - index(int) mapping ''' idx2char = np.array(vocab) # 학습 데이터를 character에서 integer로 변환합니다. text_as_int = np.array([char2idx[c] for c in text]) # split_input_target 함수를 이용해서 input 데이터와 input 데이터를 한글자씩 뒤로 민 target 데이터를 생성합니다. char_dataset = tf.data.Dataset.from_tensor_slices(text_as_int) sequences = char_dataset.batch(seq_length+1, drop_remainder=True) dataset = sequences.map(split_input_target) # tf.data API를 이용해서 데이터를 섞고 batch 형태로 가져옵니다. dataset = dataset.shuffle(10000).batch(batch_size, drop_remainder=True) #================================데이터 구성=========================================== # tf.keras.Model을 이용해서 RNN 모델을 정의합니다. class RNN(tf.keras.Model): def __init__(self, batch_size): super(RNN, self).__init__() self.embedding_layer = tf.keras.layers.Embedding(vocab_size, embedding_dim) #기본 예제라 특수적으로 임베딩 차원이 더 크게 했다 #batch_input_shape=[batch_size, None] self.hidden_layer_1 = tf.keras.layers.LSTM(hidden_size, return_sequences=True, stateful=True, recurrent_initializer='glorot_uniform') self.output_layer = tf.keras.layers.Dense(vocab_size) def call(self, x): embedded_input = self.embedding_layer(x) features = self.hidden_layer_1(embedded_input) logits = self.output_layer(features) return logits # sparse cross-entropy 손실 함수를 정의합니다. def sparse_cross_entropy_loss(labels, logits): return tf.reduce_mean(tf.keras.losses.sparse_categorical_crossentropy(labels, logits, from_logits=True)) #sparse_categorical_crossentropy : one - hot encoding까지 알아서 해줌 # 최적화를 위한 Adam 옵티마이저를 정의합니다. optimizer = tf.keras.optimizers.Adam() # 최적화를 위한 function을 정의합니다. @tf.function def train_step(model, input, target): with tf.GradientTape() as tape: logits = model(input) loss = sparse_cross_entropy_loss(target, logits) grads = tape.gradient(loss, model.trainable_variables) optimizer.apply_gradients(zip(grads, model.trainable_variables)) return loss def generate_text(model, start_string): num_sampling = 4000 # 생성할 글자(Character)의 개수를 지정합니다. # start_sting을 integer 형태로 변환합니다. input_eval = [char2idx[s] for s in start_string] input_eval = tf.expand_dims(input_eval, 0) # 샘플링 결과로 생성된 string을 저장할 배열을 초기화합니다. text_generated = [] # 낮은 temperature 값은 더욱 정확한 텍스트를 생성합니다. # 높은 temperature 값은 더욱 다양한 텍스트를 생성합니다. temperature = 1.0 # 여기서 batch size = 1 입니다. model.reset_states() for i in range(num_sampling): predictions = model(input_eval) # 불필요한 batch dimension을 삭제합니다. predictions = tf.squeeze(predictions, 0) # 모델의 예측결과에 기반해서 랜덤 샘플링을 하기위해 categorical distribution을 사용합니다. predictions = predictions / temperature predicted_id = tf.random.categorical(predictions, num_samples=1)[-1,0].numpy() # 예측된 character를 다음 input으로 사용합니다. input_eval = tf.expand_dims([predicted_id], 0) # 샘플링 결과를 text_generated 배열에 추가합니다. text_generated.append(idx2char[predicted_id]) return (start_string + ''.join(text_generated)) def main(_): # Recurrent Neural Networks(RNN) 모델을 선언합니다. RNN_model = RNN(batch_size=batch_size) # 데이터 구조 파악을 위해서 예제로 임의의 하나의 배치 데이터 에측하고, 예측결과를 출력합니다. #Sanity Check : 데이터 문제 없는지 확인 for input_example_batch, target_example_batch in dataset.take(1): example_batch_predictions = RNN_model(input_example_batch) print(example_batch_predictions.shape, "# (batch_size, sequence_length, vocab_size)") # 모델 정보를 출력합니다. RNN_model.summary() # checkpoint 데이터를 저장할 경로를 지정합니다. checkpoint_dir = './training_checkpoints' checkpoint_prefix = os.path.join(checkpoint_dir, "ckpt_{epoch}") for epoch in range(num_epochs): start = time.time() # 매 반복마다 hidden state를 초기화합니다. (최초의 hidden 값은 None입니다.) hidden = RNN_model.reset_states() for (batch_n, (input, target)) in enumerate(dataset): loss = train_step(RNN_model, input, target) if batch_n % 100 == 0: template = 'Epoch {} Batch {} Loss {}' print(template.format(epoch+1, batch_n, loss)) # 5회 반복마다 파라미터를 checkpoint로 저장합니다. if (epoch + 1) % 5 == 0: RNN_model.save_weights(checkpoint_prefix.format(epoch=epoch)) print ('Epoch {} Loss {:.4f}'.format(epoch+1, loss)) print ('Time taken for 1 epoch {} sec\n'.format(time.time() - start)) RNN_model.save_weights(checkpoint_prefix.format(epoch=epoch)) print("트레이닝이 끝났습니다!") sampling_RNN_model = RNN(batch_size=1) sampling_RNN_model.load_weights(tf.train.latest_checkpoint(checkpoint_dir)) sampling_RNN_model.build(tf.TensorShape([1, None])) sampling_RNN_model.summary() # 샘플링을 시작합니다. print("샘플링을 시작합니다!") print(generate_text(sampling_RNN_model, start_string=u' ')) if __name__ == '__main__': # main 함수를 호출합니다. app.run(main)결과 :AttributeError: 'RNN' object has no attribute 'reset_states'tf.keras.layers.Embedding에 batch_input_shape에서 오류가 발생해서,https://www.tensorflow.org/api_docs/python/tf/keras/layers/Embedding 참고해서 지웠고, 다른 부분은 안 건드렸습니다.tf.keras.layers.Embedding( input_dim, output_dim, embeddings_initializer='uniform', embeddings_regularizer=None, embeddings_constraint=None, mask_zero=False, weights=None, lora_rank=None, **kwargs )
- 미해결TensorFlow 2.0으로 배우는 딥러닝 입문
[질문]colab환경에서 텐서보드(TensorBoard)를 이용해서 학습과정 시각화(Visualization)하기강의 관련 질문
안녕하세요. AISchool 강사님 이전 강의와 비슷한 내용의 질문 입니다. colab환경에서 tensorboard 결과를 확인할 수 있는 방법이 없나요? 코드를 colab환경에서 실행시켰는데, 제 드라이버에서는 tensorboard와 관련된 파일이 보이지 않아서 문의 드립니다.
- 미해결TensorFlow 2.0으로 배우는 딥러닝 입문
[질문]colab환경에서 tf.train.CheckpointManager API를 이용해서 파라미터 저장하고 불러오기 실행에 대한 질문
안녕하세요. AISchool 강사님checkpoint 강의 중 질문사항이 발생해서 질문 드리게 되었습니다.checkpointmanagerAPI를 이용해서 파라미터 저장하고 불러오기 에서 colab에서 실행시키면 model 이라는 디렉터리가 안만들어지 던데.colab은 checkpoint가 동작하지 않는 건가요?colab에서 코드를 실행시킨 후 제 드라이버를 확인해 보면 model 디렉터리가 만들어지지 않고 checkpoint를 저장한 파일들이 보이지 않아서 질문 드립니다.
- 해결됨TensorFlow 2.0으로 배우는 딥러닝 입문
colab에서 구동 가능한 char-rnn 코드 관련 질문
안녕하세요. 강사님다른 분의 질문에서 확인 colab향 char-rnn 코드를 보다가 질문 사항이 생겼습니다. colab향 코드와 강의에서 설명한 python 코드의 차이를 보면 app.run과 같은 absl 라이브러리 관련 코드가 colab향 코드에는 없는데, 이게 colab에서는 absl 라이브러리를 import 할 수 없기 때문이지 궁금합니다. 신기한게 강의에서는 구글에서 absl 라이브러리를 만든 것으로 제가 들은 것 같은데, 정작 google의 colab 환경에서는 해당 라이브러리를 사용할 수 없다는 사실이 신기 합니다. P.S 혹시 colab 환경에서 실행 가능한 char-rnn 코드 URL주소https://colab.research.google.com/drive/1Lr-tdAWh6sJdmAcOCmimHOIaK54idw-t?usp=sharing
- 미해결TensorFlow 2.0으로 배우는 딥러닝 입문
안녕하세요 파이썬이랑 tensorflow 정확한 버전 알수있을까요?
앞에서 설치하는 동영상은 윈도우 버전이고 수업영상 구현할때는 갑자기 맥북으로 넘어가서요. 2.3으로 설치해서 코드 구현하니까 버전 문제가 생겼다 해서요 파이썬3.7.9 tensorflow 2.3버전 맞나요?File "C:\Users\Administrator\Desktop\deep-learning-tensorflow-book-code-master\Ch03-TensorFlow_Basic\3.3-linear_regression.py", line 6, in <module>W = tf.Variable(tf.random_normal(shape=[1]))AttributeError: module 'tensorflow' has no attribute 'random_normal'구현하면 이렇게 떠요
- 해결됨TensorFlow 2.0으로 배우는 딥러닝 입문
colab 환경에서 Autoencoder 구현하였으나 결과가 보이지 않는 분들 참고사항
colab 환경에서 Autoencoder를 구현하여 코드를 실행시키면 반복(Epoch)는 완료 되었는데, 결과 이미지가 확인이 되지 않는 경우가 생깁니다. 이런 경우 맨 아래의 plt.waitforbuttonpress()를 주석 처리하시면 빠르게 결과를 확인 할 수 있습니다.[plt.waitforbuttonpress()코드 주석처리][주석 처리 후 결과 확인]혹시나 제가 잘못알고 있는 사항이 있으면 바로 정정 부탁드리겠습니다.
- 해결됨TensorFlow 2.0으로 배우는 딥러닝 입문
Mnist 에 keras를 통해 softmax를 활용한 regerssion error 발생
안녕하세요. windows 환경에서 코드를 실행시키고 있는데 error가 발생해서 문의 드립니다. 코드는 제가 전혀 손대지 않아서 강사님이 공유해 주신 그대로의 코드 입니다. [mnist_classification_using_softmax_regression_v2_keras.py 코드]# -*- coding: utf-8 -*- import tensorflow as tf # MNIST 데이터를 다운로드 합니다. (x_train, y_train), (x_test, y_test) = tf.keras.datasets.mnist.load_data() # 이미지들을 float32 데이터 타입으로 변경합니다. x_train, x_test = x_train.astype('float32'), x_test.astype('float32') # 28*28 형태의 이미지를 784차원으로 flattening 합니다. x_train, x_test = x_train.reshape([-1, 784]), x_test.reshape([-1, 784]) # [0, 255] 사이의 값을 [0, 1]사이의 값으로 Normalize합니다. x_train, x_test = x_train / 255., x_test / 255. # 레이블 데이터에 one-hot encoding을 적용합니다. y_train, y_test = tf.one_hot(y_train, depth=10), tf.one_hot(y_test, depth=10) # tf.data API를 이용해서 데이터를 섞고 batch 형태로 가져옵니다. train_data = tf.data.Dataset.from_tensor_slices((x_train, y_train)) train_data = train_data.repeat().shuffle(60000).batch(100) train_data_iter = iter(train_data) # tf.keras.Model을 이용해서 Softmax Regression 모델을 정의합니다. class SoftmaxRegression(tf.keras.Model): def __init__(self): super(SoftmaxRegression, self).__init__() self.softmax_layer = tf.keras.layers.Dense(10, activation=None, kernel_initializer='zeros', bias_initializer='zeros') def call(self, x): logits = self.softmax_layer(x) return tf.nn.softmax(logits) # cross-entropy 손실 함수를 정의합니다. @tf.function def cross_entropy_loss(y_pred, y): return tf.reduce_mean(-tf.reduce_sum(y * tf.math.log(y_pred), axis=[1])) #return tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(logits=logtis, labels=y)) # tf.nn.softmax_cross_entropy_with_logits API를 이용한 구현 # 최적화를 위한 그라디언트 디센트 옵티마이저를 정의합니다. optimizer = tf.optimizers.SGD(0.5) # 최적화를 위한 function을 정의합니다. @tf.function def train_step(model, x, y): with tf.GradientTape() as tape: y_pred = model(x) loss = cross_entropy_loss(y_pred, y) gradients = tape.gradient(loss, model.trainable_variables) optimizer.apply_gradients(zip(gradients, model.trainable_variables)) # 모델의 정확도를 출력하는 함수를 정의합니다. @tf.function def compute_accuracy(y_pred, y): correct_prediction = tf.equal(tf.argmax(y_pred,1), tf.argmax(y,1)) accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32)) return accuracy # SoftmaxRegression 모델을 선언합니다. SoftmaxRegression_model = SoftmaxRegression() # 1000번 반복을 수행하면서 최적화를 수행합니다. for i in range(1000): batch_xs, batch_ys = next(train_data_iter) train_step(SoftmaxRegression_model, batch_xs, batch_ys) # 학습이 끝나면 학습된 모델의 정확도를 출력합니다. print("정확도(Accuracy): %f" % compute_accuracy(SoftmaxRegression_model(x_test), y_test)) # 정확도 : 약 91% 그리고 해당 코드가 있는 곳에 python으로 실행을 시키면 아래와 같은 결과가 나옵니다....(중략)...--> TypeError: unhashable type: 'list' 라는 에러가 발생하고 있습니다.--> 여러 사이트 검색과 코드 변경으로 문제 해결을 시도 하였으나 해결이 되지 않아서 어떻게 해결해야 하는지 가르쳐 주시면 감사하겠습니다. [에러 화면 전체 이미지]
- 미해결TensorFlow 2.0으로 배우는 딥러닝 입문
GRU 리셋게이트, 포겟게이트 질문
강의 슬라이드 내 리셋게이트와 포겟게이트의 축약어가 혼재돼 사용되고 있습니다.어느 게이트가 r이고 어느 게이트가 z인지 헷갈립니다.
- 미해결TensorFlow 2.0으로 배우는 딥러닝 입문
ANN 구현
앞선 강의(softmax regression)에서는 train_data = train_data.repeat().shuffle(60000).batch(batch_size) 형태로 구현됐었는데이후 강의(ann, autoencoder...)에서는 train_data = train_data.shuffle(60000).batch(batch_size) 형태로 구현돼 있습니다.repeat()의 유무는 중요하지 않은건가요?
- 미해결TensorFlow 2.0으로 배우는 딥러닝 입문
char-rnn 코랩 에러 ... 못보나요,, cpus는 너무 느려서
65 unique characters FATAL Flags parsing error: Unknown command line flag 'f' Pass --helpshort or --helpfull to see help on flags. E0331 00:27:13.561940 139884619077440 ultratb.py:152] Internal Python error in the inspect module. Below is the traceback from this internal error. Traceback (most recent call last): File "/usr/local/lib/python3.9/dist-packages/absl/app.py", line 156, in parse_flags_with_usage try: File "/usr/local/lib/python3.9/dist-packages/absl/flags/_flagvalues.py", line 652, in __call__ raise _exceptions.UnrecognizedFlagError( absl.flags._exceptions.UnrecognizedFlagError: Unknown command line flag 'f' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/local/lib/python3.9/dist-packages/IPython/core/interactiveshell.py", line 3553, in run_code exec(code_obj, self.user_global_ns, self.user_ns) File "<ipython-input-6-c4a8a0bf2191>", line 170, in <cell line: 168> app.run(main) File "/usr/local/lib/python3.9/dist-packages/absl/app.py", line 300, in run try: File "/usr/local/lib/python3.9/dist-packages/absl/app.py", line 369, in _run_init logging.use_absl_handler() File "/usr/local/lib/python3.9/dist-packages/absl/app.py", line 216, in _register_and_parse_flags_with_usage original_argv = sys.argv if argv is None else argv File "/usr/local/lib/python3.9/dist-packages/absl/app.py", line 166, in parse_flags_with_usage sys.stderr.write('Pass --helpshort or --helpfull to see help on flags.\n') SystemExit: 1 During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/local/lib/python3.9/dist-packages/IPython/core/ultratb.py", line 1101, in get_records return _fixed_getinnerframes(etb, number_of_lines_of_context, tb_offset) File "/usr/local/lib/python3.9/dist-packages/IPython/core/ultratb.py", line 248, in wrapped return f(*args, **kwargs) File "/usr/local/lib/python3.9/dist-packages/IPython/core/ultratb.py", line 281, in _fixed_getinnerframes records = fix_frame_records_filenames(inspect.getinnerframes(etb, context)) File "/usr/lib/python3.9/inspect.py", line 1543, in getinnerframes frameinfo = (tb.tb_frame,) + getframeinfo(tb, context) AttributeError: 'tuple' object has no attribute 'tb_frame' --------------------------------------------------------------------------- UnrecognizedFlagError Traceback (most recent call last) /usr/local/lib/python3.9/dist-packages/absl/app.py in parse_flags_with_usage(args) 155 """ --> 156 try: 157 return FLAGS(args) 13 framesUnrecognizedFlagError: Unknown command line flag 'f' During handling of the above exception, another exception occurred: SystemExit Traceback (most recent call last) [... skipping hidden 1 frame] SystemExit: 1 During handling of the above exception, another exception occurred: TypeError Traceback (most recent call last) [... skipping hidden 1 frame] /usr/local/lib/python3.9/dist-packages/IPython/core/ultratb.py in find_recursion(etype, value, records) 380 # first frame (from in to out) that looks different. 381 if not is_recursion_error(etype, value, records): --> 382 return len(records), 0 383 384 # Select filename, lineno, func_name to track frames with TypeError: object of type 'NoneType' has no len()
- 미해결TensorFlow 2.0으로 배우는 딥러닝 입문
ANN으로 Mnist 숫자분류기 코드질문
강의잘 듣고있습니다..! 익숙치 않은 코드라서 체화하려고 제맛대로? 코딩하려다 오류가 나서 질문드립니다.. 기본적으로 강의는 keras subclassing& softmax regression구현 편에 있는 코드를 따라했는데요. 거기다가 hidden_layer만 몇개 추가하고 돌렸더니 when subclassing the 'Model' class, you should implement a 'call()' method. 라고 오류가 발생합니다.. subclassing 한부분에 def call()해주었는데 말이죠 .. 아래는 구글 코랩 링크입니다. 문제점이 뭘까요? https://colab.research.google.com/drive/1m0oMUAcsPZVn9NOFXJ5OunZAIKPYDGLc?usp=sharing
- 미해결TensorFlow 2.0으로 배우는 딥러닝 입문
ppt 12p 질문
ppt 10p, 3번째 동그라미 '따라서 컨볼루션 층의 결과로 출력되는 차원은 [W, H, K]입니다' 문장에서 [W, H, K]가 아니라 [H, W, K] 아닌가요?
- 미해결TensorFlow 2.0으로 배우는 딥러닝 입문
keras에서 이미 정의된 모델을 가져와 학습할 경우
안녕하세요. 영상을 보며, 테스트를 하다가 질문 몇개가 생겨서 글을 씁니다. 1. 학습을 진행하다가 다시 재학습을 할 때, train_step을 이용하면 영상과 같이 한다는 것은 이해했습니다. 그런데 케라스에서 미리 정의된 모델(ex. densenet)을 가져와서 학습을 할 경우에는 보통 model.fit을 사용해 학습하던데요. 그 때에는 checkpoint_save = tf.keras.callbacks.ModelCheckpoint(.....) model.fit(x,y,... callbacks=checkpoint_save) 위와 같이 콜백 함수를 사용해 가중치를 저장하더라구요. 영상과는 다른 경우인 model.fit을 사용할 때, 다시 재학습을 하려면 어떤 식으로 해야 하나요. > 알려주신대로, ckpt = tf.train.Checkpoint(step=tf.Variable(0), model=model) ckpt_manager = tf.train.CheckpointManager(ckpt, directory=checkpoint_directory, max_to_keep=5) latest_ckpt = tf.train.latest_checkpoint(checkpoint_directory) if latest_ckpt: ckpt.restore(latest_ckpt) 이렇게 하면 불러와 지기는 할 것 같던데 model.fit으로 학습 하면 epoch가 다시 1부터 시작하더라구요. 그래서 이게 제대로 불러와서 재학습을 하는가 싶기도 하고요. 실제로 재학습이 된다고 해도 몇번째인지 알기도 힘들었습니다. 뭔가 깔끔한 방법이 있는지 궁금합니다. 2. 학습된 가중치를 불러올 때, 영상에서는 ckpt.restore를 썼는데요. model.load_weights와 다른 점은 같은 모델일 때 없는 것인가요. 항상 잘 듣고 있습니다. 감사합니다.
- 미해결TensorFlow 2.0으로 배우는 딥러닝 입문
모델 코드 질문
안녕하세요 강사님! 강의 매우 잘들은 학생입니다. 제가 다른 데이터를 이용해서 간단히 regression하는 코드를 작성해보았습니다. 이렇게 작성하였는데 예측을 해보면 예측 값 정확도가 매우 떨어집니다.(해당 row의 실제값은 24입니다.) 그래서 쉬운 style로 모델을 작성해보았습니다. 예측을 해보니 비교적 예측 정확도가 높습니다.(24에 가깝습니다.) 제가 보기에는 두 모델 코드를 작성한 스타일만 다르고 모두 같다고 생각되는데 왜 예측값이 많이 다른지 모르겠습니다.. 데이터를 받아온 과정은 아래와 같습니다.
- 미해결TensorFlow 2.0으로 배우는 딥러닝 입문
코드 질문
코드 중 하기 부분이 이해되지 않습니다. # 평균 손실을 측정합니다 average_loss += current_loss/total_batch batch for loop 안에서 average_loss += current_loss 를 계산하고 이후 epoch for loop 뒷단에서 average_loss = average_loss/total_batch 를 계산해야 1 epoch당 평균 loss가 계산되는 것이 아닌가요?
- 미해결TensorFlow 2.0으로 배우는 딥러닝 입문
ppt 10p
ppt 10p, 아래 문장에 대해 질문이 있습니다.'또한 (W(in)-F/S)의 차원이 정수로 나누어 떨어지지 않을 수도 있기 때문에 인풋 이미지의 상하좌우 모서리에 P만큼 0을 채워주는 제로 패딩Zero-Padding을 P만큼 적용해줌' 일반적으로 제로 패딩을 시행하는 이유가 영상 모서리 부분의 특징을 더 잘 추출하기 위함이 아닌가요? 그리고 정수로 나누어 떨어지지 않으면 일반적으로 반올림을 해주는 게 맞지 않나요?
- 미해결TensorFlow 2.0으로 배우는 딥러닝 입문
ppt 13p 추가 질문
강의 ppt 13p 음성 설명이 (13:30분 경) 이상하게 돼있습니다.(1)미분 전 그래프를 활용해서 설명함(2)시그모이드 함수와 하이퍼볼릭 탄젠트 함수의 특정 인풋값에 대해 미분값이 0으로 빠져버리는 구조가 아니라 특정 range의 값(이전 질문 참고 바람)이 계속 곱해져 0으로 빠져버리는 구조가 맞음
- 미해결TensorFlow 2.0으로 배우는 딥러닝 입문
ppt 9p 추가 질문
RBM, Pre-training, ReLU가 Overfitting 방지와 어떤 관련이 있는지 설명 부탁 드립니다.
- 미해결TensorFlow 2.0으로 배우는 딥러닝 입문
ppt 5p 질문
ppt 5p, Batch Gradient Descent에서첫 번째 동그라미,'트레이닝 데이터 n개의 손실함수 미분값을 모두 더한 뒤 평균을 취해서 파라미터를 한 스텝 업데이트...' 문장을'트레이닝 데이터 n개의 손실함수 미분값을 계산해서 파라미터를 한 스텝 업데이트...'로 바꿔야 맞는 거 아닌가요? 추가로 ppt 7p, Mini-Batch Gradient Descent에서두 번째 동그라미,'...이를 100개씩 묶은 Mini-Batch 개수만큼의 손실 함수 미분값 평균을 이용해서...' 문장도'...이를 100개씩 묶은 Mini-Batch 개수만큼의 손실 함수 미분값을 이용해서...'와 같이 바꿔야 할 것 같습니다.
- 미해결TensorFlow 2.0으로 배우는 딥러닝 입문
ppt 9p 질문
ppt 9p, 'Hinton의 Science 논문을 시발점으로 RBM, Pre-training, Dropout, ReLU 등 Overfitting을 방지하기 위한 새로운 알고리즘들의 등장' 문장에서 RBM, Pre-training, ReLU는 Vanishing Gradient Problem과 Dropout은 Overfitting과 관련된 해결책 아닌가요?