본문 바로가기

분류 전체보기128

API/ Python Flask 에서 Resource 클래스를 이용한 API 서버 개발 방법 Python Flask 에서 Resource 클래스를 이용한 API 서버 개발 방법 수업중에 배운 Recipe 에서 예제를 간단히 정리해 보았습니다. 1. 라이브러리 설치 pip install flask pip install flask-restful 2. API 서버 개발 간단 예제 app.py # 라이브러리 호출 from flask import Flask from flask_restful import Api from resources.recipe import RecipeListResource from resources.recipe_info import RecipeResource # API 서버를 구축하기 위한 기본 구조 app = Flask(__name__) # restfulAPI 생성 api = Ap.. 2022. 6. 17.
딥러닝/ 에포크 시마다 기록(log)을 남길 수 있는 CSVLogger 에포크 시마다 기록(log)을 남길 수 있는 CSVLogger # 파일썬으로 디렉토리 만드는 코드 작성 if not os.path.exists(PROJECT_PATH + '/log/' + model_type + '/') : os.makedirs(PROJECT_PATH + '/log/' + model_type + '/') from tensorflow.keras.callbacks import CSVLogger # 미리 경로를 변수에 저장해둠 LOGFILE_PATH >> ./log/mobilenetv2/mobilenetv2-by-type-training-logblock-1-1.csv csv_logger = CSVLogger(LOGFILE_PATH, append=True) 힐링아무의 코딩일기!! 2022. 6. 16.
딥러닝/ 에포크 시마다 가장 좋은 모델을 저장하는 ModelCheckpoint 에포크 시마다 가장 좋은 모델을 저장하는 ModelCheckpoint # 파일썬으로 디렉토리 만드는 코드 작성 if not os.path.exists(PROJECT_PATH + '/checkpoints/' + model_type + '/') : os.makedirs(PROJECT_PATH + '/checkpoints/' + model_type + '/') from tensorflow.keras.callbacks import ModelCheckpoint # 경로를 미리 변수로 만듬 CHECKPOINT_PATH >> ./checkpoints/mobilenetv2/by-type-mobilenetv2-block-1-1.h5 cp = ModelCheckpoint(CHECKPOINT_PATH, monitor='va.. 2022. 6. 16.
딥러닝/ Fine Tuning(파인 튜닝) 을 하기 위한 코드와 설명 Fine Tuning(파인 튜닝) 을 하기 위한 코드와 설명 파인튜닝(Fine Tuning)이란? Transfer Learning을 이용해 학습한 상태에서 베이스 모델의 파라미터를 미세하게 조정하는 것으로~ Frozen Layer 범위에 변화를 주거나 컴파일에 변화를 주어 추가로 학습을 시키는 것을 말합니다. 1. base_model을 학습 가능토록 만든다. base_model.trainable = True model.summary() summary()로 확인하기 2. 몇번째 레이어까지 학습 불가능하게 할지 정한다. base_model.layers len(base_model.layers) 길이를 구해봅니다. end_layer = 130 for layer in base_model.layers[ : end_.. 2022. 6. 16.
딥러닝/ Transer Learning을 하기 위한 코드와 설명 Transer Learning을 하기 위한 코드와 설명 기존의 잘 만들어진 모델을 활용하는 방법 CNN 모델을 두 부분으로 나눕니다. Base Model 과 Head Model 여기서 Head Model을 제거하고 가져옵니다. base_model = MobileNetV2(input_shape=(224,224,3), include_top=False) 가져온 Base Model은 학습이 안되게 막아줍니다. base_model.trainable = False base_model.summary() 확인해 줍니다. head_model = base_model.output head_model = AveragePooling2D(4,4)(head_model) head_model = Flatten()(head_model).. 2022. 6. 16.