파이썬
파이썬이란 무엇인가?
파이썬을 사용하는 이유
- 비교적 쉬운 문법이기 때문에 초보자가 접근하기에 좋다
- 수많은 라이브러리가 있다
- 인터프리터 언어
명령어를 한 줄씩 번역하는 방법을 사용하는 언어로 작성한 프로그램을 바로바로 확인할 수 있다
코랩
https://colab.research.google.com/
텐서플로우 버전 확인
%tensorflow_version
케라스(keras)
딥러닝을 만들 때 사용하는 라이브러리
import keras
로 케라스 라이브러리를 불러올 수 있다
딥러닝 모델을 만들려면 CPU나 GPU와 같은 하드웨어, 이러한 하드웨어를 구동하기 위한 라이브러리가 필요하다.
메뉴에서 런타임 > 런타임 유형 변경 을 눌러보면
다음과 같이 변경 할 수 있다.
숫자 인식 인공지능 만들기
숫자를 알아맞히는 인공지능 만들기
MNIST 데이터셋에는 아래와 같이 70,000개 손글씨 숫자가 있다
숫자는 0~9까지 총 10개로 구성되며, 이 데이터 역시 인공지능 모델을 만들때 기본으로 사용하는 데이터셋
코랩에서는 파이썬에서 사용하는 대부분의 라이브러리를 이미 제공하고 있기 때문에 라이브러리를 별도로 설치할 필요가 없다.
from tensorflow.keras.models import Sequential
순차적인 신경망을 구성할 때 사용할 수 있는 함수가 바로 케라스의 모델 도구(models) 중 시퀀셜 모델(Sequential) 함수
시퀀셜 모델을 불러오는 명령어
from tensorflow.keras.layers import Dense, Activation
- 레이어 도구(layers) 중 Dense와 Activation 도구를 불러오는 명령어
- Dense는 전결합층(fully-connected layer)을 의미
- 전결합층: 입력층, 은닉층, 출력층과 같이 각각의 층들이 바로 앞의 층과 서로 연결되어 있는 것
- Activation은 활성화 함수
from tensorflow.keras.utils import to_categorical
- 유틸 도구(utils) 중 to_categorical 함수를 불러오는 명령어
- 이미지를 잘 학습시키기 위한 방법 중 하나로 원-핫 인코딩을 사용
- 원-핫 인코딩을 구현할 수 있는 함수가 바로 to_categorical 함수
원-핫 인코딩(one-hot incoding)
하나의 값만 1로 나타내고, 나머지 값은 모두 0으로 표시하는 방법
원-핫 인코딩은 각 숫자를 0, 1, 2, 3… 같은 하나의 숫자로 나타내는 것이 아니라 벡터로 표현한다.
즉 숫자 0을 0이라고 나타내는 것이 아니라 [1, 0, 0, 0, 0, 0, 0, 0, 0, 0]으로 나타내는 것
마찬가지로 9의 경우에는 열 번째에 해당하는 숫자이기 때문에 [0, 0, 0, 0, 0, 0, 0, 0, 0, 1]로 나타낼 수 있다
from tensorflow.keras.datasets import mnist
케라스를 사용하여 딥러닝 모델 개발을 연습할 수 있는 여러 데이터가 있다
데이터셋 도구(datasets)에 있으며, mnist 데이터셋을 불러오는 명령어
import numpy as np
넘파이라는 수학 계산 라이브러리를 사용
as로 numpy를 np로 줄여서 사용
import matplotlib.pyplot as plt
맷플로립(matplotlib)이라는 그래프 라이브러리를 사용
- 막대그래프
- 꺾은선그래프
- 히스토그램
등 다양한 그래프를 쉽게 그릴 수 있는 그래프 라이브러리
그 중에서 그림을 그리는 pyplot 라이브러리를 사용하며 그것을 plt라고 줄여서 사용
본 후기는 정보통신산업진흥원(NIPA)에서 주관하는 <AI 서비스완성! AI+웹개발 취업캠프 - 프론트엔드&백엔드> 과정 학습/프로젝트/과제 기록으로 작성되었습니다.
'코딩캠프 > AI 웹개발 취업캠프' 카테고리의 다른 글
[AI 웹개발 취업캠프] 34Day - 전염병 예측/숫자 생성 인공지능 만들기 (0) | 2023.09.01 |
---|---|
[AI 웹개발 취업캠프] 33Day - 숫자 구분 인공지능(예비군/4일차) (0) | 2023.08.31 |
[AI 웹개발 취업캠프] 31Day - 딥러닝 이해_2(예비군/2일차) (1) | 2023.08.29 |
[AI 웹개발 취업캠프] 30Day - 딥러닝 이해(예비군/1일차) (0) | 2023.08.28 |
[AI 웹개발 취업캠프] 인공지능(AI) 능력시험 AICE Basic 대비 올인원 패키지 (1) (2) | 2023.08.27 |