반응형

출처 : 밑바닥부터 시작하는 딥러닝

 

1.1 파이썬이란?

간단하고 배우기 쉬운 프로그래밍 언어입니다.

오픈 소스라 무료로 자유롭게 이용할 수도 있지요.

영어와 유사한 문법으로 프로그램을 작성할 수 있고 불편한 컴파일 과정도 없어서 편리합니다. => 입문자에게 최적인 언어입니다.

 

파이썬 코드는 읽기 쉽고 성능도 뛰어납니다.

데이터가 많거나 빠른 응답이 필요할 떄도 파이썬은 제 몫을 톡톡히 해냅니다.

실제로 구글과 마이크로소프트, 페이스북 등 IT첨단에서 겨루는 기없들은 파이썬을 자주 사용하고 있답니다.

넘파이와 사이파이 Scipy같은 수치 계산과 통계 처리를 다루는 탁월한 라이브러리가 더해져 데이터 과학 분야에엇 확고한 위치를 차지하고 있죠 . 딥러닝 프레임워크 쪽에서도 

예: 카페, 텐서플로, 체이너 , 테아노 같은 유명 딥러닝 프레임워크들이 파이썬용 API를 제공합니다.

 

1.2 파이썬 설치하기

1.2.1 파이썬 버전

파이썬 2.x와 3.x 버전 100%호환되는 것이 아니다. 그래서 어느 버전을 설치할지 신중하게 선택해야 합니다.

(정확히 말하면 '하위 호환성' 이 없습니다.)

 

1.2.2 사용하는 외부 라이브러리

넘파이 , matplotlib =>딥러닝을 구현하기 위해서 

넘파이: 수치 계산용 라이브러리 입니다. 고도의 수학 알고리즘과 배열(행렬)을 조작하기 위한 편리한 메소드가 많다.  효율적 으로 구현 가능

matplotlib :  그래프를 그려주는 라이브러리 입니다.  시각화 

 

파이썬

넘파이

matplotlib

 

1.2.3 아나콘다 배포판

배포판: 사용자가 설치를 한 번에 수행할 수 있도록 필요한 라이브러리 등을 하나로 정리해둔 것입니다.

그중 아나콘다는 데이터 분석에 중점을 둔 배포판입니다.

 

1.3 파이썬 인터프리터

버전 확인 

python --version

1.3.1 산술 연산 덧셈과 곱셈 등

* 곱셉

/ 나눗셈

** 거듭제곱

파이썬 3에서는 정수를 나눈 결과는 실수(부동소수점)가 됩니다.

 

1.3.2 자료형

자료형이란 데이터의 성지를 나타내는 것

type()로 확인

 

1.3.3. 변수

x와 y등의 알파벳을 사용하여 변수를 정의할 수 있습니다.

변수를 사용하여 계산하거나 다른 값을 대입할 수도 있습니다.

 

파이썬은 동적언어로 분류되는 프로그래밍 언어입니다.

동적이라 함은 변수의 자료형을 상황에 맞게 자동으로 결정한다는 뜻입니다.

# 주석 처리

 

1.3.2 리스트

a = [1,2,3,]

[]안의 수를 인덱스(색인)라 하며 인덱스는 0부터 시작합니다.

슬라이싱 slicing이라는 편리한 기법이 준비되어 있습니다. 범위를 지정해 원하는 부분 리스트를 얻을 수 있습니다.

 

1.3.5 딕셔너리 

키와 값을 한 쌍으로 저장합니다.

{"":""}

 

1.3.6 bool

True(참)와 False(거짓) 라는 두 값 중 하나를 취합니다.

and, or, not 연산자를 사용할 수 있습니다. 

 

1.3.7 if문

파이썬에서는 공백 문자가 중요한 의미를 지닙니다. 

4개의 공백 문자가 있습니다. 탭

 

1.3.8 for문

for ... in ...: 구분을 사용하면 리스트 등 데이터 집합의 각 원소에 차례로 접근할 수 있습니다.

 

1.3.9 함수

 

1.4 파이썬 스크립트 파일

1.4.1 파일로 저장하기

1.4.2 클래스

클래스에는 그 클래스만의 전용 함수(메서드)와 속성을 정의 할 수도 있습니다.

__init__라는 특별한 메소드가 있는데 , 클래스를 초기화 하는 방법을 정의합니다.

이 초기화용 메서드를 생성자 constructor라고도 하며 , 클래스의 인스턴스가 만들어질 때 한 번만 불립니다.

파이썬에서는 첫 번쨰 인수로 자신(자신의 인스턴스)을 나타내는 self를 명시적으로 쓰는 것이 특징입니다.

 

인스턴스 변수는 인스턴스 별로 저장되는 변수입니다.

파이썬에서는 self.name 다음에 속성 이름을 써서 인스턴스 변수를 작성하거나 접근할 수 있습니다. 

 

1.5 넘파이

 

1.5.1 넘파이 가져오기 

import numpy as np 

 

1.5.2 넘파이 배열 생성하기

np.array()는 파이썬의 리스트를 인수로 받아 넘파이 라이브러리가 제공하는 특수한 형태의 배열을 반환합니다.

x= np.array([])

 

1.5.3 넘파이의 산술 연산

원소별 element-wise : 원소 수가 같아야 한다. 원소수가 다르면 오류가 발생하니 원소 수 맞추기는 중요하답니다. 

넘파이 배열은 원소별 계산 뿐 아니라 넘파이 배열과 수치 하나(스칼라값)의 조합으로 된 산술 연산도 수행할 수 있습니다.이 경우 스칼라값과 계산이 넘파이 배열이 원소별로 한번씩 수행됩니다. 이 기능을 브로드캐스트라고 합니다.

X = np.array([])

X/ 2.0

 

1.5.4 넘파이의 N차원 배열

1차원 백터

2차원 행렬 matrix

백터와 행렬을 일반화한 것을 텐서라고 합니다. 

3차원 이상의 배열을 다차원 배열이라고 합니다.

shape 행렬의 형상 

행렬에 담긴 원소의 자료형은 dtype으로 알 수 있습니다. 

 

1.5.5 브로드 캐스트 broadcast

1.5.6 원소 접근

원소의 인덱스는 0부터 시작합니다. 

1차원 배열로 X.flatten()

 

1.6 matplotlib 그래프를 그려주는 라이브러리

 

1.6.1 단순한 그래프 그리기

plt.plot

plt.show()

 

1.6.2 pyplot의 기능

plt.legend()

 

 

1.6.3 이미지 표시하기 

imread()

imshow()

 

1.7정리

 

 

반응형

' > 밀바닥부터 시작하는 딥러닝' 카테고리의 다른 글

06. 학습 관련 기술들  (0) 2020.10.20
05. 오차역전파법  (0) 2020.10.16
04. 신경망 학습  (0) 2020.09.25
03. 신경망  (0) 2020.09.23
02. 퍼셉트론  (0) 2020.09.21

+ Recent posts