TensorFlow #3

갱갱·2025년 1월 1일

ZB_TensorFlow & pyTorch

목록 보기
3/7
post-thumbnail

2024.12.29

Part 11. 텐서플로

  • Chapter 03. 간단한 Model 학습 시키기
    01. Deep learning Flow
    02. Deep learning Flow-preprocessing
    03. Deep learning Flow-modeling
    04. Deep learning Flow-evaluation -> 미학습, 학습필요 (2025.01.01)




Chapter 03. 간단한 Model 학습 시키기

01. Deep learning Flow


Deep learning Flow 기본




1) Data 가져오기

데이터 받기 및 구조확인



어떤 데이텅니지 확인하기


막간의 퀴즈... 훈련용 데이터셋에는 각 수자의 그림이 몇개씩 들어가 있는지 ? (QUIZ)

28X28 픽셀짜리 그림이 60000 개 들어가 있음.
0부터 9까지 약 5000개씩 존재함.


sns로 조금 더이쁘게?..



중간퀴즈

이미지를 시계 반대 방향으로 90도 회전하고, 아래위를 반전

기존 이미지




정답 : transpose






02. Deep learning Flow - Preprocessing

  • 데이저 검증
  • 전처리
  • 데이터 증강...



데이터 검증

  • 데이터 중에 학습에 포함 되면 안되는 것이 있는가??
    • ex> 개인정보가 들어있는 데이터, 테스트용 데이터에 들어있는 것, 중복되는 데이터 등.
  • 학습 의도와 다른 데이터가 있는가 ??
    • ex> 얼굴을 학습하는데 발 사진이 들어가있진 않은지?.. (가끔은 의도하고 일부러 집어넣는 경우도 존재)
  • 라벨값에 잘못된 데이터가 있는가??
    • ex> 7인데 1로 라벨링, 고양이인데 강아지로 라벨링 등..

mnist 데이터셋에서는 255보다 크거나 0보다 작은 값이 있으면 안된다. 따라서 해당 값이 있는지 확인하는 함수를 생성하여 데이터 검증 작업을 진행.




전처리

  • 입력하기 전에 모델링에 적합하게 처리하는 것.
  • 대표적으로 Scaling, Resizing, label encoding 등이 있다.
  • dtype, shape 항상 체크 !!!

One-Hot Encoding 참고자료



Scaling

Scale 함수를 통해서 모든 값을 0~1사이 값으로 변경. 그래프를 통해 시각화 하면...

시각화까지 하여, 해당 코드가 잘 작동하는지 검증하였다. 그럼 실제 테스트 데이터에 적용한다.



Flattening

reshape을 통해서 차원축소 진행 (Flatten)



Label Encoding (y값)

One-Hot Encoding을 통해서 y값 행렬로 변경.



Class 이용해서 관리

보통은 큰 작업을 하나의 클래스로 만들어서 관리한다.

위와 같이, class를 통해 접근하여 함수관리를 하면 편리하다.


class 보충설명





03. Deep learning Flow - Modeling

  1. 모델의 정의
  2. 학습 로직 - 비용함수, 학습파라미터 세팅
  3. 학습

모델 정의



학습 로직



학습 실행





04. Deep learning Flow - evaluation

profile
(hellow. world)

0개의 댓글