목록전체 글 (315)
rueki

import torch import numpy as np import matplotlib.pyplot as plt %matplotlib inline import torch.nn as nn X = torch.linspace(1,50,50).reshape(-1,1) # 1부터 50까지 50 step # 크기에 맞춰서 1열 형태로 X ''' tensor([[ 1.], [ 2.], [ 3.], [ 4.],...... ''' torch.manual_seed(71) e = torch.randint(-8,9,(50,1), dtype=torch.float) # error 값, -8부터 9 까지 50 x 1 크기로 y = 2*X + 1 + e #함수 정의 plt.scatter(X.numpy(),y.numpy()) tor..
import torch x = torch.tensor(2.0, requires_grad=True) #requires_grad -> 텐서 연산 추적 y = 2*x**4 + x**3 + 3*x**2 + 5*x + 1 print(y) # tensor(63., grad_fn=) # y의 방정식에 2.0이 들어가서 연산된 값 출력 y.backward() #y에 대한 역전파 수행 x.grad #기울기 출력 x = torch.tensor([[1.,2.,3.],[3.,2.,1.]],requires_grad=True) y = 3*x + 2 print(y) ''' tensor([[ 5., 8., 11.], [11., 8., 5.]], grad_fn=) ''' z = 2*y**2 ''' tensor([[ 50., 128.,..
import numpy as np import torch x = torch.arange(6).reshape(3,2) x ''' tensor([[0, 1], [2, 3], [4, 5]]) ''' x[:,1] # tensor([1, 3, 5]), 1번째 열 원소만 슬라이싱 x = torch.arange(10) x # tensor([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) # view 함수 x.view(2,5) ''' tensor([[0, 1, 2, 3, 4], [5, 6, 7, 8, 9]]) ''' # reshape 함수 x.reshape(2,5) ''' tensor([[0, 1, 2, 3, 4], [5, 6, 7, 8, 9]]) ''' a = torch.tensor([1.,2.,3.]) b=..

스택은 데이터를 일시적으로 저장하기 위한 자료구조이다. LIFO(Last In, Fisrt Out) , 후입선출의 구조를 가지는데, 이는 가장 나중에 넣은 데이터를 가장 먼저 끝낸다는 의미이다. Push : 스택에 데이터를 넣는 작업 Pop : 스택에서 데이터를 꺼내는 작업 스택을 구현해보자. 먼저 헤더 선언을 해서 스택의 기능에 대해 간략하게 알아보자. #ifndef __intStack #define __intStack typedef struct { int max; // 스택 용량 int ptr; // 스택 포인터 int* stk; // 스택 첫 요소 포인터 }intStack; //스택 초기화 int Initialize(intStack* s, int max); //스택에 데이터 푸시 int Push(i..
1. 확률표본추출(Probability Sampling) 모집단을 구성하는 모든 추출단위에 대해 표본으로 추출된 확률을 알 수 있는 추출법 -> 표본추출틀 (Sampling Frame) 필요 ex) 모집단 : {1, 2, 3, 4, 5} -> 2개의 표본을 뽑겠다 확률 : 2/5 - 특정한 표본이 선정될 확률을 토대로 추정오차를 과학적으로 설명 단순확률추출, 계통추출, 집략추출, 층화추출 2. 비확률 표본추출(Non - probability Sampling) => 비용 적게 든다. 특정 표본이 선정될 확률을 알 수가 없어 추론에 대해서 정확도 언급을 못 한다. 해당되는 표본에 대해서만 얘기가 가능함 편의 추출(Convenience) : 자발적 참여, 백화점 앞 및 포털 사이트 인터넷 조사 유의 추출(Pu..
import torch import numpy new_arr = np.array([1,2,3]) new_arr.dtype # dtype('int32') torch.tensor(new_arr) # tensor([1, 2, 3], dtype=torch.int32) my_tensor = torch.FloatTensor(new_arr) my_tensor.dtype # torch.float32 # 빈 행렬 생성 torch.empty(2,2) ''' tensor([[0.0000e+00, 2.8026e-45], [7.0295e+28, 6.1949e-04]]) ''' #영행렬 생성 torch.zeros(4,3, dtype = torch.int64) ''' tensor([[0, 0, 0], [0, 0, 0], [0, 0..
import torch # 파이토치 import numpy as np # 행렬 연산 위함 # 배열 생성 arr = np.array([1,2,3,4,5]) # [1 2 3 4 5] arr.dtype # 배열 타입 확인 # dtype('int32') #토치를 이용한 배열 생성 x = torch.from_numpy(arr) x # tensor([1, 2, 3, 4, 5], dtype=torch.int32) torch.as_tensor(arr) # tensor([1, 2, 3, 4, 5], dtype=torch.int32) #2차원 배열 생성 arr2d = np.arange(0.0,12.0) # 0부터 12까지의 수로 배열 생성 x2 = torch.from_numpy(arr2d) print(x2) ''' ten..
이진검색은 요소가 오름차순 또는 내림차순으로 정렬된 배열에서 검색하는 알고리즘이다. 전제 조건은 이미 정렬이 되어 있다는 것이며, 선형 검색보다 좀 더 빠르게 검색할 수가 있다. 5 7 15 28 29 31 39 58 68 70 95 위의 배열에서 원소 39를 찾는 과정을 생각해볼 때, 처음으로 중앙에 위치한 요소인 31 부터 검색을 시작한다. 39는 31보다 큰 값이므로, 31이 위치한 인덱스보다 뒤에 원소가 있다는 것을 알 수가 있다. 39 58 68 70 95 그러면 범위는 39의 위치인 a[6] 부터 a[10] 까지로 좁힐 수가 있다. a[6] 에서 a[10] 의 중간 값인 a[8]의 68을 검색하게 되고 찾고자 하는 값 39는 68보다 작기에, a[6] ~ a[8] 에 위치하는 것을 볼 수가 있..