[AI Project] CIFAR-10 이미지 생성하기

yenaryu·2022년 2월 16일
0

DATA

목록 보기
8/14

프로젝트 진행 과정

1. 작업환경 구성

 
2. 데이터셋 구성

  • train_x의 이미지 정규화
  • 로드한 학습 데이터 시각화
  • 미니배치 데이터셋 구성

 
3. 생성자 모델 구현

  • 생성자 모델 구현 함수 작성
  • 랜덤 이미지 생성

 
4. 판별자 모델 구현

  • 판별자 모델 구현 함수 작성
  • 생성한 랜덤 이미지를 판별자 모델이 판별한 결과값 확인

 
5. 손실함수와 최적화 함수 구현

  • 생성자와 판별자의 손실함수(loss) 구현
  • 판별자의 출력값을 가지고 실제/생성(real/fake) 이미지 판별 정확도(accuracy)를 계산하는 함수 구현
  • 생성자와 판별자를 최적화하는 optimizer를 정의

 
6. 훈련과정 상세 기능 구현

  • 1개 미니배치의 훈련 과정을 처리하는 train_step() 함수 구현
  • 16개의 고정된 seed를 입력으로 하여 훈련 과정 동안 생성한 이미지를 시각화하는 generate_and_save_images() 함수 구현
  • 훈련 epoch마다 생성자/판별자의 loss 및 판별자의 실제/생성(real/fake) 이미지 판별 accuracy 히스토리(history)를 그래프로 시각화하는 draw_train_history() 함수 구현
  • training_checkpoints 디렉토리에 몇 epoch마다 모델을 저장하는 checkpoint 모듈 설정

 

7. 학습 과정 진행하기

  • epoch 설정 후 모델 학습 진행
  • 학습 과정에서 생성된 샘플 이미지로 만든 gif 파일을 통해 학습 진행 과정 시각화

 

8. (optional) GAN 훈련 과정 개선

  • 생성된 샘플 이미지, 학습 과정 그래프 등을 통해 이전 훈련 과정의 문제점을 분석
  • Epochs 조정하여 모델 개선

 

구현한 프로젝트

PROJECT : CIRAR-10

 

회고

EPOCH = 1000
batch_size = 256
tf.keras.optimizers.Adam(1e-4) 의 모델으로 성능 개선

 


📆 2022-02-15

0개의 댓글