Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
Tags
- sklearn
- 최솟값
- matplotlib
- Python
- Dictionary
- string
- insert()
- len()
- 덴드로그램
- data
- DataAccess
- analizer
- nan
- elbow method
- count()
- IN
- 최댓값
- numpy
- DataFrame
- pandas
- function
- 반복문
- list
- append()
- dendrogram
- wcss
- hierarchical_clustering
- Machine Learning
- 분류 결과표
- del
Archives
- Today
- Total
개발공부
EarlyStopping 라이브러리 사용법 본문
EarlyStopping ?
학습을 할 때 무작정 에포크를 늘린다고 해서 꼭 좋은 결과만 나오는 것은 아니다.
EarlyStopping은 지정된 에포크 횟수 동안 성능 향상이 없으면
자동으로 훈련을 멈추는 라이브러리이다.
예제
def build_model() :
model = Sequential()
model.add(Dense(units = 64, activation = 'relu', input_shape = (8, )))
model.add(Dense(units = 64, activation = 'relu'))
model.add(Dense(units = 64, activation = 'relu'))
model.add(Dense(units = 34, activation = 'relu'))
model.add(Dense(units = 55, activation = 'relu'))
model.add(Dense(units = 40, activation = 'relu'))
model.add(Dense(units = 30, activation = 'relu'))
model.add(Dense(units = 20, activation = 'relu'))
model.add(Dense(units = 1, activation = 'linear'))
# 옵티마이저의 learning rate 를 설정하는 방법
# metrics 검증의 척도, 학습의 에포크가 끝날때마다 출력하게 된다.
model.compile(tf.keras.optimizers.RMSprop(learning_rate = 0.001), loss = 'mse', metrics = ['mse', 'mae'])
return model
model = build_model()
# patience : 에포크를 10번 단위로 봤을 때 그 안에 성능 향상이 없으면 학습을 중단하라.
early_stop = tf.keras.callbacks.EarlyStopping(monitor='val_loss', patience=10)
epoch_history = model.fit(X_train, y_train, epochs = 100000,
validation_split = 0.2, callbacks = [early_stop])
# 콜백이란 ? 프레임워크가 실행하는 코드, 코드 실행을 프레임워크에 맡기는 것,
# 우리는 그 결과만 받는다.
아래 결과를 보면 104번째 Epoch까지 한 후 성능 향상이 없어 학습이 종료된 것을 볼 수 있다.

'Python > Deep Learning' 카테고리의 다른 글
| 여러 클래스로 분류하는 모델링, 액티베이션 함수 softmax, 예제 (0) | 2022.06.13 |
|---|---|
| 이미지 분류 모델을 생성할 때 Flatten 사용하는 이유, 실습 예제 (0) | 2022.06.13 |
| Validation, validation_split, validation data 코드 예제 (0) | 2022.06.13 |
| Learning Rate를 옵티마이저에서 셋팅하는 코드 (0) | 2022.06.13 |
| 텐서플로우를 이용한 그리드 서치하는 방법 (0) | 2022.06.13 |