데이터 취업 스쿨 스터디 노트 -(74) 텐서플로우 오토인코더, 이미지 증강

테리·2024년 9월 20일
0

오토인코더

입력을 출력으로 가진다.

시작은 28,28 인데 strides=(2,2)여서 2칸씩 이동하니까 Conv2D 한번 지나가면 (14,14), 한번 더 지나가면 (7,7)이되서 7x7x64가 된다.

화질이 엄청 좋아짐

3번 레이어에서 아웃풋을 뽑음

3번 레이어 -> 즉 오토인코딩 나비 모양에서 가운데 제일 좁은 영역 그 부분을 출력으로 하겠다.

64개의 피처로 뽑은 애들로 군집화함.

t-SNE

이미지 증강

  • 기존의 이미지 데이터를 변형하여 데이터의 양을 인위적으로 늘리는 방법
  • 딥러닝 모델에서 학습데이터를 풍부하게 만들기 위해 자주 사용됨.
  • 회전, 좌우반전, 상하반전, 자르기, 밝기 조정 등

tf.keras.Sequential은 주로 신경망 모델을 만들 때 사용되지만, 이미지 전처리 작업에서도 사용할 수 있다.

  • Sequential은 순차적으로 작업을 쌓아가는 구조이므로, 여러 전처리 작업을 한 번에 적용하는 간단한 방법으로 사용됨. 여기서는 이미지 크기를 조정한 후 정규화하는 작업을 순차적으로 수행하는 파이프라인을 만드는 데 사용된 것이라고함.

tf.extend_dims

  • 새로운 차원을 추가하여 4차원 텐서로 만든다.
  • 원래 image 텐서의 차원: (height, width, channels)
  • tf.expand_dims(image, 0) 이후의 차원: (1, height, width, channels)
  • 이 작업을 통해 배치 차원을 추가하게 됩니다. 이미지 하나를 배치(batch)로 처리할 수 있도록 준비하는 과정이다. 딥러닝 모델에서는 데이터를 배치 단위로 처리하기 때문에, 일반적으로 배치 차원을 추가하는 것이 필요함.

map 함수를 활용

람다 레이어를 이용한 증강

람다 레이어 끝

flip_left_right(): 좌우반전

0개의 댓글