본문 바로가기

Data Science/Deep Learning

[밑바닥부터 시작하는 딥러닝 1] Ch 1. 헬로 파이썬

1장은 파이썬의 기초적인 내용들에 대한 설명이 주를 이룬다.

 

필자는 파이썬 기초에 대한 지식이 있는 상태에서 교재를 접했기 때문에, 1장은 그냥 가벼운 마음으로(?) 읽어넘겼다.

 

다만, 1장에서도 중요한 내용들이 있기에, 특별히 주의깊게 살펴봐야 할 부분들에 대해서 정리해보도록 하겠다.

 

  • 클래스
    • 개발자가 직접 클래스를 정의하면 독자적인 자료형을 만들 수 있음
    • 또한 해당 클래스만의 전용 함수(메서드)와 속성을 정의할 수 도 있음
    • 클래스 생성은 딥러닝 모델 생성 시에 필수적이므로, 개념을 잘 익혀두어야 함

클래스 정의에는 __init__이라는 특별한 메서드가 있으며, 클래스를 초기화하는 방법을 정의한다.

 

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

 

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

 

관련 내용의 코드 예시를 아래에 첨부해두었다.

 

# Man 클래스 생성 예시
class Man:
    def __init__(self, name): # 생성자
        self.name = name
        print('Initialized!')

    def hello(self): # 메서드 1
        print('Hello ' + self.name + '!')

    def goodbye(self): # 메서드 2
        print('Good-bye ' + self.name + '!')
        
m = Man('Brian')
m.hello()
m.goodbye()

 

위 예시 코드의 출력 결과

 

  • 벡터(Vector)
    • 1차원 배열
  • 행렬(Matrix)
    • 2차원 배열
  • 텐서(Tensor)
    • 3차원 배열
  • 브로드캐스트
    • 넘파이 배열과 수치 하나(스칼라 값)의 조합으로 된 산술 연산을 수행함
    • 이 경우 스칼라 값과의 계산이 넘파이 배열의 원소별로 한 번씩 수행됨

 

말했다시피 1장은 파이썬 기초에 대한 내용이므로 빠르게 훑어보았다.

 

단, 여기서 클래스 생성 부분에 대한 내용은 특히나 중요하기 때문에, 클래스 생성을 자유자재로 할 수 있도록 연습하는 것이 중요하다!!

 

 

★ 참고 자료

- 밑바닥부터 시작하는 딥러닝 교재