일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- MapReduce 실습
- 올바른 변수명 짓기
- Hadoop
- Python
- docker로 airflow 설치하기
- leetcode 234
- 빅데이터를 지탱하는 기술
- 컴퓨터구조
- leetcode 238
- leetcode 121
- 문자열 조작
- webcrawler
- leetcode 937
- Hortonworks Sandbox
- 스파크 완벽 가이드
- 머신러닝
- leetcode 344
- leetcode 819
- ctf-d
- leetcode 561
- leetcode
- leetcode 5
- airflow docker
- leetcode125
- leetcode 49
- 블로그 이전했어요
- 데이터레이크와 데이터웨어하우스
- 배열
- leetcode 15
- wargame.kr
- Today
- Total
HyeM
Optimization & Training (Beginner / Expert) 본문
Optimization & Training (Beginner.ver)
▶ 준비 작업
opitmization과 traning을 하기 위해 우선, mnist 데이터 셋을 불러오고, 모델을 쌓아 준비한다.
MNIST Dataset 불러오기
모델 쌓기
▶ Optimization
: 모델을 학습하기 전 설정
- Loss Function
- Optimization
- Metrics
▷ Loss Function
: 비용함수. Loss값 계산
loss = 'binary_crossentropy'
loss = 'categorical_crossentropy'
binaray와 categorical로 2가지로 나뉜다.
클래스가 2개 일때는 binary를 사용하고, 두 개 이상 멀티플하게 다룰 때는 cateorical을 사용한다.
- binary_crossentropy
- sparse_categorical_crossentropy vs categorical_crossentropy
▷ Metrics
: 모델 평가하는 방법 (정확도)
가장 간단한 방법은 accuracy로, 전체 개수에서 맞힌 확률로 나타낸다.
▷ Optimizer (Compile)
optimizer를 적용한다. 모델을 컴파일 함.
- 'sgd' -tf.keras.optimizers.SGD()
- 'rmsprop' - tf.keras.optimizers.RMSprop()
- 'adam' - tf.keras.optimizers.Adam()
모델을 컴파일 해보자. 이때, loss function과 metrics를 맞춰줘야 한다. (안 맞춰주면 에러가 뜰 수 있다...경험담..)
▶ Prepare Dataset
Training 전 학습에 사용할 데이터 셋을 준비한다.
1. shape 확인
-> 채널이 없으니 늘려야 된다.
2. 차원수 늘리기
마지막에 train_x의 모양을 확인하여 차원수 잘 늘어난 것을 확인할 수 있다.
3. Rescaling
rescaling 해주는게 좋고 , 차원이 안맞다면 차원수 하나 늘려주고 rescaling 해주는게 좋음
rescaling 적용시 학습이 잘되고, 기울기도 잘 잡힌다.
▶ Training
본격적 학습에 들어가기전 학습용 Hyperparameter 설정해준다. (Hyperparameter는 사용자가 직접 설정해줘야 된다.)
- num_epochs : 전체 데이터를 보면 그게 한 에폭임
- batch_size
- model.fit (모델 훈련)
#shuffle안하고 순서대로 공부하면 오버피팅 & 공부하면 효과없음. 이곳저곳 shuffle하는게 좋음.
Optimization & Training (Expert.ver)
▶ 준비 작업
opitmization과 traning을 하기 위해 우선, mnist 데이터 셋을 불러오고, 모델을 쌓아 준비한다.
MNIST Dataset 불러오기
모델 쌓기
▶ Preprocess
1. tf.data사용
2. Visualize Data
metplotlib 불러와서 데이터를 시각화 한다.
* train_ds.take() : 몇개의 데이터를 가져오느냐
▶ Training (Keras)
Keras로 학습 할 때는 기존과 같지만, train_ds는 generator라서 그대로 넣을 수 있다.
▶ Optimization
▷ loss Function & Optimizer
▷ Metrics
▶ Training
model -> logit -> loss -> optm 이 과정을 그대로 구현을 해보려 한다.
@tf.function
: 기존 session 열었던 것처럼 바로 작동 안 하고, 그래프만 만들고 학습이 시작되면 돌아가도록 함
'Study > AI&DeepLearning' 카테고리의 다른 글
[PyTorch] 데이터 불러오기 & Layer 이해하기 (0) | 2021.01.18 |
---|---|
Evaluating & Prediction (0) | 2021.01.18 |
각 Layer별 살펴보기 (0) | 2021.01.11 |
MNIST 불러오기 (0) | 2021.01.11 |
시각화 기초(그래프, 이미지) (0) | 2021.01.11 |