클래스
class 클래스 이름:
def __init__(self, 인수, ...):
...
def 메서드 이름 1(self, 인수, ...):
...
def 메서드 이름 2(self, 인수, ...):
...
개발자가 직접 클래스를 정의하면 독자적인 자료형을 만들 수 있다.
클래스에는 __init__라는 특별한 메서드가 있는데, 클래스를 초기화한다. 생성자라고도 부르며 클래스의 인스턴스가 만들어질 때 한 번만 호출된다. 또한 파이썬에서는 첫 번째 인수로 자신을 나타내는 self를 명시적으로 쓴다.
넘파이
import numpy as np
배열이나 행렬 계산에 도움을 주는 편리한 메소드를 가지고 있는 라이브러리이다.
x = np.array([1.0, 2.0, 3.0])
y = np.array([2.0, 4.0, 6.0])
print(x + y)
print(x - y)
print(x * y)
print(x / y)
[1. 2. 3.]
[3. 6. 9.]
[-1. -2. -3.]
[ 2. 8. 18.]
배열 생성 및 사칙연산이 가능하다.
브로드캐스트
A = np.array([[1, 2], [3, 4]])
B = np.array([10, 20])
print(A * B)
[[10 40]
[30 80]]
형상이 다른 배열끼리도 계산 가능하다.
원소 접근과 인덱스
X = np.array([[51, 55], [14, 19], [0, 4]])
print(X)
print(X[0])
print(X[0][1])
[[51 55]
[14 19]
[ 0 4]]
[51 55]
55
2차원 배열을 사용하는 것처럼 사용 가능하다.
X = X.flatten()
print(X)
print(X[np.array([0, 2, 4])])
print(X [X > 15])
[51 55 14 19 0 4]
[51 14 0]
[51 55 19]
.flatten()을 사용하여 1차원 배열로 변환(평탄화)한 이후 인덱스를 지정하여 원소를 얻거나 특정 조건을 통해 원소를 얻을 수 있다.
matplotlib
그래프(시각화) 라이브러리
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.image import imread
x = np.arange(0, 6, 0.1) # 0에서 6까지 0.1 간격으로 생성
y = np.sin(x)
plt.plot(x, y)
plt.show()
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.image import imread
x = np.arange(0, 6, 0.1) # 0에서 6까지 0.1 간격으로 생성
y1 = np.sin(x)
y2 = np.cos(x)
plt.plot(x, y1, label="sin")
plt.plot(x, y2, linestyle='--', label="cos") # cos 함수는 점선으로 그리기
plt.xlabel("x") # x축 이름
plt.ylabel("y") # y축 이름
plt.title('sin & cos') # 제목
plt.legend()
plt.show()
import matplotlib.pyplot as plt
from matplotlib.image import imread
img = imread('C:/Users/user/Desktop/coding/Deep_Learning_From_Scratch/고양이.jpg')
plt.imshow(img)
plt.show()
'프로그래밍 > 책' 카테고리의 다른 글
밑바닥부터 시작하는 딥러닝 2장 (0) | 2024.08.01 |
---|