밑바닥부터 시작하는 딥러닝1 - ch01 헬로 파이썬

김민서·2025년 7월 20일
0

밑바닥딥러닝1

목록 보기
1/5

파이썬이라는 언어가 세상에 등장한 지 30년도 더 지났다고 한다.
내가 태어나기도 전에 이미 만들어져있었다니 ...
한국말 배울 때 파이썬도 같이 배울걸 ...
그럼 지금쯤 세계 1황이 되어있을텐데 ...

아무튼 ...
이제부터라도 열심히 하면 된다는 마음가짐으로 ^^
2025 여름방학 동안 블로그 스터디를 함께 하면서
'밑바닥부터 시작하는 딥러닝1' 책을 다 읽으려고 한다 !!
사실 종강 직후에 갓교황님에게 추천받아 바로 사뒀었는데, 안 읽고 있었다 ㅋㅋ


chapter1 헬로 파이썬

이 책에서는 파이썬을 사용하여 딥러닝 시스템을 구현한다.
그래서 'chaper1 헬로 파이썬' 에서는 파이썬과 넘파이, 맷플롯립에 대해 간략히 설명하고 있다.

파이썬

  • 동적 언어 : 변수의 자료형을 상황에 맞게 자동으로 결정하거나 자동으로 자료형을 변환함
  • 파이썬 인터프리터 시작하기 : python3
  • 파이썬 인터프리터 종료하기 : Ctrl + D

리스트

>>> list1 = [1, 2, 3, 4, 5]
>>> list1[0:2] # 인덱스 0부터 2 전까지 얻기

딕셔너리

  • 키와 값을 한 쌍으로 저장
>>> me = {'studentID' : 202513341} # 딕셔너리 생성
>>> me['studentID'] # 키를 사용해 원소에 접근
202513341
>>> me['age'] = 25 # 새 원소 추가
>>> print(me)
{'studentID':202513341, 'age':25}

클래스

  • 생성자 메서드 : 클래스를 초기화하는 방법을 정의, 클래스의 인스턴스가 만들어질 때 한 번만 호출됨.
  • 클래스 내 메서드의 첫 번째 인수로 자신을 나타내는 self를 명시적으로 쓰는 것이 특징
  • 인스턴스 변수 : 인스턴스 별로 저장되는 변수, 'self.' 다음에 이름을 써서 작성/접근
# 새로운 클래스 정의
class Man :
	def __init__(self, name) :
    	self.name = name
    def hello(self) :
    	print("Hello " + self.name + "!")
    def goodbye(self) :
    	print("Good-bye " self.name + "!")

# 인스턴스 (객체) 생성
m = Man("Minseo")
m.hello()
m.goodbye()

넘파이

넘파이 배열 생성

>>> import numpy as np

>>> x = np.array([1.0, 2.0, 3.0]) # 파이썬의 리스트를 인수로 받아 넘파이 배열 생성
>>> y = np.array([[1, 2], [3, 4]]) # N차원 배열도 생성 가능

>>> y.shape # 행렬의 형상 (각 차원의 크기)
(2, 2)
>>> y.dtype # 행렬에 담긴 원소의 자료형
dtype('int64')

넘파이 배열의 산술 연산

  • 배열의 원소 수가 같을 때, 원소별 산술 연산
  • 넘파이 배열과 스칼라값의 산술 연산 = 브로드캐스트

브로드캐스트

스칼라값 또는 어떤 배열이 함께 계산되는 배열(행렬)의 형상에 맞게 확장된 후 연산되는 것

  • 이 덕분에 형상이 다른 배열끼리의 연산을 쉽게 할 수 있음

평탄화

>>> Y = y.flatten() # 1차원 배열로 변환 (평탄화)
>>> print(Y)
[1, 2, 3, 4]
>>> Y[np.array([1, 3])] # 인덱스가 1, 3인 원소 얻기
array([2, 4])
>>> X > 2
array([False, False, True, True]) # bool 배열
>>> X[X>2]
array([3, 4])

맷플롯립

  • 그래프를 그려주는 라이브러리, 데이터 시각화가 쉬워짐
np.arange(0, 6, 0.1) # 0부터 6 전까지 0.1 간격으로 생성

plt.legend() # 얘는 뭐하는 애지

2개의 댓글

comment-user-thumbnail
2025년 8월 7일

plt.legend() 는 그래프의 범례(?)를 표시해주는 것입니다.

1개의 답글