딥러닝기초_0316_wed

allzeroyou·2022년 3월 16일
0

딥러닝기초

목록 보기
2/22

preview

다음주 수요일까지 비대면 수업, 금요일부터 대면 수업

파이썬

  • if 조건문
    조건에 따라 코드 실행하거나 실행하지 않게 할 때 사용하는 구문
    들여쓰기는 지난 조건이 충족될 때 실행되는 코드를 표현

  • for 반복문
    특정 명령문들의 반복 실행
    문자열, 리스트, 딕셔너리 등과 조합하여 for 반복문을 사용

 for 반복자 in 반복할 수 있는 것:
 	명령어()
  • 함수
    특정 기능을 수행하는 일련의 명령들을 묶어 하나의 함수 정의
    def hello(object):
       print("Hello "+object+"!")
    hello("cat")
def return_test():
    return 100
value = return_test()
print(value)
  • Class Man 의 정의
class Man:
    def __init__(self, name): # self는 자기자신.
    # 나중에 인스턴스 생성됨. 자기자신의 이름을 대신하는 self라는 일종의 예약어
        self.name = name
        print("Intilized!")
    def hello(self):
        print("Hello "+self.name+"!")
    def goodbye(self):
        print("Good bye "+self.name+"!")

m = Man("David") # m이라는 인스턴스(객체) 생성
m.hello() # m 인스턴스의 hello 메서드 호출
m.goodbye() # m 인스턴스의 goodbye 메서드 호출

Numpy의 사용

  1. 넘파이란?
    행렬이나 다차원의 배열을 쉽게 처리하도록 지원하는 파이썬 라이브러리
    표준 파이썬에는 포함되지 않는 외부 라이브러리
    사용하기 위해서는 import 를 사용해 라이브러리를 가져옴.

  2. 넘파이 배열 생성하기
    넘파이 배열을 만들 때는 np.array() 메서드 이용
    np.array()는 파이썬 리스트를 인수로 받아와 넘파이 라이브러리가 제공하는 특수한 형태인
    배열(numpy.ndarray)타입을 반환.

  3. 넘파이 산술 연산하기

  • 배열의 연산
    배열 x와 배열 y의 원소 수가 같아야 함.

  • 다차원 배열
    2 x 2라는 a라는 행렬 작성 예시

a= np.array([[1,2],[3,4]])
a.shape
# (2,2)
a.dtype
# dtype('int64')

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

  • 형태가 다른 행렬 간 계산
import numpy as np

a = np.array([[1,2],[3,4]])
b = 10

print(a * b)

스칼라 값 10이 2 x 2 행렬로 확대된 형태에서 계산됨. => 브로드캐스트(broadcast)

  • 브로드캐스트의 다른 예
a = np.array([[1,2],[3,4]])
b = np.array([10,20])
print(a*b)

행렬에서 원소의 접근

  • 일반적인 접근 예
x = np.array([[51, 55],[14, 19], [0, 4]])
print(x)
# [[51 55]
# [14 19],
# [0 4]]
print(x[0])
# array([51, 55])
print(x[0][1])
# 55
  • for 반복문을 이용한 접근
for row in x:
    print(row)

# [51 55]
# [14 19]
# [0 4]

1차원 배열로의 변환

x = x.flatten()
print(X)
# [55 51 14 19 0 4]
x[np.array([0,2,5])]
#array([51, 14, 4])
  • 특정 조건을 만족하는 원소만 고를 수 있음

matplotlib을 이용한 그래프 그리기

import numpy as np
import matplotlib.pyplot as plt

# 데이터 준비
x = np.arange(0, 6, 0.1)
y = np.sin(x)

# 그래프 그리기
plt.plot(x, y)
plt.show()

numpy의 arrange 메서드로 [0, 0.1, 0.2, 0.3, ... 5.8, 5.9]의 배열 데이터 생성해 x에 할당
numpy의 sin 메서드로 [0, 0.1, 0.2, ... , 5.8, 5.9]에 대응하는 sin 함수를 적용해 y에 할당
x와 y를 인수로 사용해 plt.plot 메서드 호출 후 그래프 생성
plt.show()를 호출해 화면에 그래프 출력

  • sin 함수와 cos 함수 그래프 그리기

이미지 표시하기

import matplotlib.pyplot as plt
from matplotlib.image import imread

img = imread('python.jpg')
plt.imread(img)
plt.show()
profile
모든 건 zero 부터, 차근차근 헛둘헛둘

0개의 댓글