본문 바로가기
728x90
반응형

Data Science/Deep Learning32

Keras Layer 입력/출력 크기 구하는 법 특정 레이어의 입력/출력 크기를 알고 싶다면 layer.get_input_at(node_index) layer.get_output_at(node_index) layer.get_input_shape_at(node_index) layer.get_output_shape_at(node_index) 예시) model = VGG16(weights='imagenet', include_top=False) input_shape = model.layers[-4].get_input_shape_at(0) VGG16 모델을 사용하려 할 때, 끝에서 4번째 층의 입력 shape 을 알고 싶을 때 Source: https://www.kaggle.com/code/vincee/intel-image-classification-cnn-k.. 2022. 11. 16.
Keras fit_generator 대신 fit 사용하기 캐글의 노트북을 보다보니 fit_generator 가 빈번하게 나오는데 아래와 같은 메시지가 뜨기도 해서 확실히 정리하고자 찾아봤는데요 Model.fit_generator (from tensorflow.python.keras.engine.training) is deprecated and will be removed in a future version. fit_generator = > fit evaluate_generator => evaluate predict_generator => predict 이렇게 기존 기능들을 더 편리하게 쓸 수 있도록 업데이트 되었다고 합니다. 불과 몇년전인데 기능이 휙휙 바뀌니, 공식 문서를 계속 참고하면서 이미 지난 기능들을 잘못 사용하지 않도록 주의해야겠습니다 ㅜㅠ Sour.. 2022. 11. 16.
Keras ReduceLROnPlateau 클래스 지정한 metric이 향상이 안될 때, 학습률을 낮추도록 조정하는 기능을 수행함 patience로 지정한 횟수의 epoch 만큼 향상이 없을 때를 기준으로 함 tf.keras.callbacks.ReduceLROnPlateau( monitor="val_loss", factor=0.1, patience=10, verbose=0, mode="auto", min_delta=0.0001, cooldown=0, min_lr=0, **kwargs ) Source: https://keras.io/api/callbacks/reduce_lr_on_plateau/ 2022. 11. 15.
Tensorflow 이미지 로드하는 방법 오늘은 텐서플로우를 통해 이미지 데이터를 로드하는 법을 알아보겠습니다. 1. tf.keras.utils.get_file 사용하기 tf.keras.utils.get_file( fname=None, origin=None, untar=False, md5_hash=None, file_hash=None, cache_subdir='datasets', hash_algorithm='auto', extract=False, archive_format='auto', cache_dir=None ) 어떤 파일 fname 을 origin이라는 url 장소에서 가져와라는 기능인데요 path_to_downloaded_file = tf.keras.utils.get_file( "flower_photos", "https://storage.. 2022. 11. 14.
Keras 텐서플로우 전이학습 모델 API 모음 딥러닝 모델을 만들때 유용하게 사용가능한 pretrained 모델들을 가지고 와봤는데요 여러 자료를 봐도 어떤 모델을 사용할지는 연구 환경, 처리 데이터의 특징 등 다양한 요소에 의해 판단해서 결정해야 한다고 합니다. 이렇게 많은 모델이 있는 것도 신기하고 하나씩 보면서 유용하게 써봐야겠습니다. Source: https://keras.io/api/applications/ Model Size (MB) Top-1 Accuracy Top-5 Accuracy Parameters Depth Time (ms) per inference step (CPU) Time (ms) per inference step (GPU) Xception 88 79.0% 94.5% 22.9M 81 109.4 8.1 VGG16 528 71... 2022. 11. 14.
배치 정규화 (Batch Normalization) 정리 딥러닝 코드를 보면서 배치 정규화를 위한 layer을 종종 보게 되었는데요 tensorflow.keras.layers.BatchNormalization 유용한 활용을 위해 배치 정규화란 무엇이고 언제, 어떻게 사용하는지 여러 자료를 참고해 정리해보겠습니다 :) 🧐 배치 정규화란? 이름 그대로 input을 0과 1 사이의 값으로 정규화 시켜주는 인공신경망의 층입니다. 그렇다면 왜 배치정규화가 필요할까요? 인공신경망에서는 훈련을 거듭할 수록, 인풋으로 들어오는 배치 데이터의 분포는 불규칙하고 사실상 랜덤하게 됩니다. 이렇게 데이터의 분포가 변하면,모델은 계속 새로운 데이터 분포에 대응하려 하면서 전반적인 훈련이 느려지는 현상이 발생하게 됩니다. 이때, 훈련을 계속하더라도 데이터의 분포를 유지시켜주는 일종의 .. 2022. 11. 14.
728x90
반응형