Pytorch의 Dataset과 DataloaderPyTorch는 데이터를 다루기 위해 두 가지 클래스인 torch.utils.data.DataLoader 와 torch.utils.data.Dataset 를 제공한다. 두 가지 데이터 기본 요소를 제공하여 미리 준비해둔(pre-loaded) 데이터셋 뿐만 아니라 가지고 있는 데이터를 사용할 수 있다. Dataset은 데이터셋을 정의하는 클래스로 샘플과 정답(label)을 저장하고, DataLoader는 Dataset을 감싸서 미니배치 학습, suffling 등을 쉽게 처리할 수 있도록 도와준다. 즉, Dataset은 데이터의 구조를 정의하고, DataLoader는 학습에 적합하게 데이터를 꺼내는 역할이다. Dataset 다루기 PyTorch는 torch..
인덱싱(Indexing) 예제import torchimport numpy as npx = torch.tensor(np.arange(15).reshape(3,5))print(x)# tensor([[ 0, 1, 2, 3, 4],# [ 5, 6, 7, 8, 9],# [10, 11, 12, 13, 14]])print(x.shape) # torch.Size([3, 5]) 1) 1번 행 전체 인덱싱print(x[1]) # tensor([5, 6, 7, 8, 9]) 2) 1번 행, 2번 열 원소 인덱싱print(x[1, 2]) # tensor(7) x[row_index, col_index] → 행/열 좌표로 바로 접근 3) 1번 열 전체 인덱싱 print(x[:, 1]..
Numpy 배열의 연산배열의 각 요소에 대해 연산을 수행한다. 이를 요소 별 연산 (element-wise operation) 이라고 한다.import numpy as npa = np.array([1,2,3,4,5])b = np.array([10,10,10,10,10])print(a+b) # [11 12 13 14 15]print(a/b) # [0.1 0.2 0.3 0.4 0.5]print(a*b) #[10 20 30 40 50]print(a@b) # 150print(np.dot(a,b)) # 150print(a*a.T) # [ 1 4 9 16 25] 기본 행렬 곱 연산처럼 하고 싶다면, 행렬 곱(내적)의 연산자인 @ 연산자나 np.dot()을 사용하면 된다.또한, 전치 연산은 .T를 사용하면 된다...
1. 문제 크기가 N×M인 지도가 존재한다. 지도의 오른쪽은 동쪽, 위쪽은 북쪽이다. 이 지도의 위에 주사위가 하나 놓여져 있으며, 주사위의 전개도는 아래와 같다. 지도의 좌표는 (r, c)로 나타내며, r는 북쪽으로부터 떨어진 칸의 개수, c는 서쪽으로부터 떨어진 칸의 개수이다. 주사위는 지도 위에 윗 면이 1이고, 동쪽을 바라보는 방향이 3인 상태로 놓여져 있으며, 놓여져 있는 곳의 좌표는 (x, y) 이다. 가장 처음에 주사위에는 모든 면에 0이 적혀져 있다. 지도의 각 칸에는 정수가 하나씩 쓰여져 있다. 주사위를 굴렸을 때, 이동한 칸에 쓰여 있는 수가 0이면, 주사위의 바닥면에 쓰여 있는 수가 칸에 복사된다. 0이 아닌 경우에는 칸에 쓰여 있는 수가 주사위의 바닥면으로 복사되며, 칸에 쓰여..
1. 문제 마법사 상어가 토네이도를 배웠고, 오늘은 토네이도를 크기가 N×N인 격자로 나누어진 모래밭에서 연습하려고 한다. 위치 (r, c)는 격자의 r행 c열을 의미하고, A[r][c]는 (r, c)에 있는 모래의 양을 의미한다.토네이도를 시전하면 격자의 가운데 칸부터 토네이도의 이동이 시작된다. 토네이도는 한 번에 한 칸 이동한다. 다음은 N = 7인 경우 토네이도의 이동이다. 토네이도가 한 칸 이동할 때마다 모래는 다음과 같이 일정한 비율로 흩날리게 된다. 토네이도가 x에서 y로 이동하면, y의 모든 모래가 비율과 α가 적혀있는 칸으로 이동한다. 비율이 적혀있는 칸으로 이동하는 모래의 양은 y에 있는 모래의 해당 비율만큼이고, 계산에서 소수점 아래는 버린다. α로 이동하는 모래의 양은 비율이 적혀있..
PyTorch는 대표적인 딥러닝 프레임워크 중 하나로, 빠른 연산과 GPU 가속을 지원합니다. 여기서는 PyTorch의 핵심 개념인 텐서(Tensor) 생성과 속성, 연산 방법에 대해 정리해보자. 텐서(tensor)란?Pytorch의 기본 데이터 구조이다. Numpy의 ndarray와 유사하지만, GPU에서 실행 가능한 점이 큰 차이다.import torch tensor 생성 방법1) 데이터로부터 직접 생성torch.tensor()를 이용하여 직접 데이터를 생성할 수 있다.x_data = torch.tensor([[1,2,3],[4,5,6]])print(x_data) #tensor([[1, 2, 3], # [4, 5, 6]]) 2) Numpy 배열로부터 생성torch..
🔹클래스(Class)와 객체(object) 클래스(class): 같은 종류의 객체를 만들기 위한 설계도 (예: 과자 틀)객체(object): 클래스를 사용해 만들어진 실체 (예: 틀로 찍어 낸 과자)class Cookie: passa = Cookie() # a와 b는 객체b = Cookie() 💡객체 vs 인스턴스클래스로 만든 객체를 ‘인스턴스’라고도 한다. 그렇다면 객체와 인스턴스의 차이는 무엇일까? - a는 객체 (일반 표현) - a는 Cookie 클래스의 인스턴스(클래스와의 관계 강조) 즉, 인스턴스라는 말은 특정 객체(a)가 어떤 클래스(Cookie)의 객체인지를 관계 위주로 설명할 때 사용한다. 🔹메서드(Method)클래스 안에서 정의된 함수를 method(메서드)라고 한다.cl..
numpy 데이터를 좀 더 효과적으로 처리하는 방법에 대해 알아보자. 🔎reshape()배열의 형태(차원)을 변경할 수 있게 해주는 함수이다.굉장히 크거나 외부 데이터를 다루는 경우, 데이터 처리를 용이하게 하기 위해 모양을 바꾸는 경우에 사용한다.arr = np.arange(10)print(arr) # [0 1 2 3 4 5 6 7 8 9]arr = arr.reshape(2,5)print(arr) #[[0 1 2 3 4] # [5 6 7 8 9]]arr = arr.reshape(5,2)print(arr) # [[0 1] # [2 3] # [4 5] # [6 7] # [8 9]] 위의 코드와 같이 하나하나..
- Total
- Today
- Yesterday
- 클래스 총 정리
- 백준
- 강화학습
- 로지스틱 회귀
- *args
- **kwargs
- Andrew Ng
- 머신러닝
- 딥러닝
- ML 프로세스
- cnn
- ML Process
- 숏코딩
- ML
- Action spaces
- *
- ML 종류
- 파이썬
- python
- 강의노트 정리
- baekjoon
- 손실함수
- 경사하강법
- NumPy
- **
- ndarray
- sorted
- 비용함수
- 앤드류응
- Sort
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 |
