반응형

Boostcamp AI tech 3기 41

TIL 2022-01-24(월) pytorch basics

#부스트캠프3기 #TIL Today I Learned Date : 20220124(월) □ Facts PyTorch Numpy + AutoGrad + Function Numpy 구조를 가지는 Tensor 객체로 array 표현 자동미분을 지원하여 DL 연산을 지원 다양한 형태의 DL을 지원하는 함수와 모델을 지원함 Dataset, Multi-GPU .... 지금 표준은 파이토치와 텐서플로 두 개다. 케라스 자체가 연산 지원하기 보다 이러한 다른 언어를 쉽게 쓸 수 있게 함 케라스는 텐서플로 사에 흡수되었다. 파이토치와 텐서플로 가장 큰 차이는 그래프 그리는 점 하나는 스태틱 -> 백프로포게이션 파이토치는 실행 시점에서 그래프를 그린다. 자동미분 실행시점에서 그래프를 그린다. squeeze, unsquee..

TIL 2022-01-21(금) cnn, rnn

#부스트캠프3기 #TIL Today I Learned Date : 2022-01-21(금) □ Facts 이 커널을 한 번씩 옮기면서 계산해보자 여러분이 관찰 할 것은 입력만 변하고 커널은 그대로인 것 그러면 25가 나옴 입력크기를 (H, W) 커널 크기를 (Kh Kw)라 했을 때 출력 크기는 (Oh Ow) 라 ㅎ하면 다음과 같이 계산 Oh = H - Kh + 1 Ow = W - Kw + 1 가령 28 & 28 입력은 3x3 커널로 연산하면 26x26이 나온다. □ Findings 연쇄법칙 풀기 z = (x + y) ^2 이 z를 둘로 쪼갤 수 있다. z = W^2 두 미분의 곱으로 z에 대한 x의 미분으로 계산하게 됨 각 뉴런에 해당하는 값을 텐서(tensor)라고 부른다. 각 텐서는 메모리에 저장이 ..

pytorch의 reshape and view 차이 (+ contiguity 문제)

https://discuss.pytorch.org/t/in-pytorch-0-4-is-it-recommended-to-use-reshape-than-view-when-it-is-possible/17034 In PyTorch 0.4, is it recommended to use `reshape` than `view` when it is possible? In PyTorch 0.4, is it generally recommended to use Tensor.reshape() than Tensor.view() when it is possible ? And to be consistent, same with Tensor.shape and Tensor.size() discuss.pytorch.org Tensor.s..

[Week02] Pytorch - 3강 Pytorch 기본 환경 세팅 : colab에서 ssh 연결해 vscode 실행하기

# Pytorch Project Template [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/BoostcampAITech/lecture-note-python-basics-for-ai/blob/main/codes/pytorch/07_torch-study/pytorch_project.ipynb) !pip3 install torch !pip3 install torchvision from google.colab import drive drive.mount('/content/drive') !git clone https://github.com/vict..

[Week02] Pytorch - 1강 Introduction to Pytorch

딥러닝을 할 때 코드는 처음부터 다 짠다? ㄴㄴ 남이 만든 걸 쓰는게 이점이 많다. 자료가 많고 관리도 잘되고 표준임 왜 텐서플로를 개방했는가? 문서화하기 위해서 지금 표준은 파이토치와 텐서플로 두 개다. 케라스 자체가 연산 지원하기 보다 이러한 다른 언어를 쉽게 쓸 수 있게 함 케라스는 텐서플로 사에 흡수되었다. 파이토치와 텐서플로 가장 큰 차이는 그래프 그리는 점 하나는 스태틱 -> 백프로포게이션 파이토치는 실행 시점에서 그래프를 그린다. 자동미분 실행시점에서 그래프를 그린다. 텐서플로는 - Define and Run 그래프 정의 코드를 만들고 실행 시점에 데이터를 넣어준다. 파이토치는 - Define by Run (Dynamic Computational Graph, DCG) Pytorch는 실행을 ..

TIL 2022-01-20 벡터, 행렬, 경사하강법까지

#부스트캠프3기 #TIL Today I Learned Date : 2022.01.20(목) □ Facts 벡터 사이의 각도 벡터 사이의 각도는 l2 노름으로만 구할 수 있다. 제2코사인 법칙에 의해 구할 수 있는데 식은 다음과 같다. 두 벡터가 이루는 각을 찾을 때 저 공식을 한 쪽으로 미룬 cos 각도를 구하면 된다 각을 구하기 위해너는 두 벡터의 크기와 내적이 필요하다 밑의 벡터는 l2 노름으로 나온 유클리드 공식 적용한 값이고 위는 내적 그걸 콘사인 잔대를 하면 theta 값이 나온다 https://ko.wikihow.com/%EB%91%90-%EB%B2%A1%ED%84%B0-%EC%82%AC%EC%9D%B4-%EA%B0%81%EB%8F%84-%EA%B5%AC%ED%95%98%EA%B8%B0 두 벡..

[Week01] AI Math - 경사하강법과 알고리즘

경사하강법 - 순한맛 미분이란? 미분(differentiation)은 변수의 움직임에 따른 함수값의 변화를 측정하기 위한 도구. sympy 의 diff 함수를 사용하면 미분을 구할 수 있다. 미분은 함수 f의 주어진 점 (x, f(x))에서의 접선의 기울기를 구합니다. 경사하강법 미분값을 더하면 경사상승법(gradient ascent)이라 하며, 함수의 극대값의 위치를 구할 때 사용합니다. 미분값을 빼면 경사하강법(gradient descent)이라 하며, 함수의 극솟값의 위치를 구할 때 사용합니다. 경사상승/경사하강 방법은 극값에 도달하면 움직임을 멈춥니다. 따라서 미분이 가능한 함수의 x에서 접선의 기울기가 음수라면 x를 증가하면 감소한다. 미분값이 음수든 양수든 더하면 상승하고 빼면 감소한다 ?? ..

[Week01] AI Math - 행렬과 역행렬 그리고 무어-펜로즈 역행렬

행렬 벡터를 원소로 가지는 2차원 배열 numpy에서는 row 행이 기본 단위다. ---->이 방향 행렬을 표기할 때 row-column 순서 벡터랑 다른 점 벡터는 공간에서 한 점을 의미한다면 행렬은 여러 점들을 나타낸다. 행렬 xij는 i번째 데이터의 j번째 변수 값을 말한다. 전치행렬 전치행렬 transpose matrix는 행과 열의 인덱스가 바뀐 행렬을 말합니다. 첫번째 행은 첫번째 열이 되는 것 12 34 면 역행렬은 13 24 겠지 행렬의 덧셈 뺄셈 성분곱 스칼라곱 행렬끼리 같은 모양이면 덧셈 뺄셈이 가능하다. 곱셈부터 조금 다른데 행렬 곱은 앞의 열과 두번째 행렬의 행의 개수가 같아야 한다. 행벡터와 열 벡터 사이의 내적으로 계산되는 것이 곱셈 3*3 3*2 매트릭스 두개라면 3행 2열이 ..

[Week01] AI Math - 벡터의 길이, 각도, 내적 구하기

벡터 벡터는 숫자를 원소를 가지는 리스트 또는 배열. 스카라곱이 1보다 크면 길이가 늘어나고 1보다 작으면 길이가 줄어든다. 벡터끼리 같은 모양을 가지면 덧셈 뺄셈을 할 수 있다. 덧셈 : 상대적 위치 이동 뺄셈 : 반대방향, -벡터를 더한다고 생각하면 편하다 벡터의 노름 norm 벡터의 노름은 원점에서부터의 거리를 의미한다. 임의의 d 차원에 대해서 임을 이해하자 (위) L1 노름은 변화량 절대 값을 모두 더한다 (아래) L2 노름은 피타고라스 정리를 이용한 유클리드 거리를 계산한다. def l1(x): x_norm = np.abs(x) return np.sum(x_norm) def l2(x): x_norm = x * x x_norm = np.sum(x_norm) return np.sqrt(x_norm..

jupyter notebook : ModuleNotFoundError 모듈 설치했는데도..

우선 gradient descent 문제를 풀기 위해서는 conda에 sympy를 설치해야 한다 그래서 conda install sympy로 설치를 완료했음 (upstage) ➜ stage1 git:(master) ✗ conda install sympy Collecting package metadata (current_repodata.json): done Solving environment: done Proceed ([y]/n)? y Downloading and Extracting Packages mpmath-1.2.1 | 766 KB | ##################################### | 100% openssl-1.1.1m | 2.2 MB | ######################..

반응형