본문 바로가기

반응형

언어

(188)
PyTorch - Autograd(자동미분) 간단 정리 Colab Autograd(자동미분) torch.autograd 패키지는 Tensor의 모든 연산에 대해 자동 미분 제공 이는 코드를 어떻게 작성하여 실행하느냐에 따라 역전파가 정의된다는 뜻 backprop를 위해 미분값을 자동으로 계산 requires_grad 속성을 True로 설정하면, 해당 텐서에서 이루어지는 모든 연산들을 추적하기 시작(기록을 남김) 기록을 추적하는 것을 중단하게 하려면 .detach()를 호출하여 연산기록으로부터 분리 import torch import numpy as np a = torch.randn(3, 3) a=a*3 print(a) print(a.requires_grad) # 기본적으로 False 값을 가진다. tensor([[-0.0095, -0.1138, 0.5453], [-1...
PyTorch - numpy를 활용하기 간단 정리 Colab torch numpy Torch Tensor(텐서)를 Numpy array(배열)로 변환 가능 numpy() from_numpy() Tensor가 CPU상에 있다면 Numpy배열은 메모리 공간을 공유하므로 하나가 변하면, 다른 하나도 변함 import torch a = torch.ones(7) # 7개의 1 텐서 print(a) tensor([1., 1., 1., 1., 1., 1., 1.]) import numpy b = a.numpy() # numpy 형태의 배열 print(b) [1. 1. 1. 1. 1. 1. 1.] a.add_(1) # a의 값에 1을 더함 print(a) print(b) # Tensor가 CPU상에 있다면 numpy와 메모리 공간을 공유하므로 둘다 변함 print(b) # Te..
PyTorch - 텐서의 조작(Manipulating the Tensor) 간단 정리 Colab 텐서의 조작(Manipulations) 인덱싱(Indexing): Numpy처럼 인덱싱 형태로 사용가능 import torch x = torch.Tensor([[1, 2], print(x) print(x[0,0]) print(x[0,1]) print(x[1,0]) print(x[1,1]) print(x[:,0]) print(x[:,1]) print(x[0,:]) print(x[1,:]) [3, 4]]) # 2, 2 Tensor tensor([[1., 2.], [3., 4.]]) tensor(1.) tensor(2.) tensor(3.) tensor(4.) tensor([1., 3.]) tensor([2., 4.]) tensor([1., 2.]) tensor([3., 4.]) view: 텐서의 크기(siz..
PyTorch - 텐서의 연산 간단 정리 Colab 텐서의 연산(Operations) 텐서에 대한 수학 연산, 삼각함수, 비트 연산, 비교 연산, 집계 등 사용 import math import torch a = torch.rand(1,2) * 2 - 1 print(a) print(torch.abs(a)) print(torch.ceil(a)) print(torch.floor(a)) print(torch.clamp(a, -0.5, 0.5)) # 최대값, 최소값 설정 tensor([[ 0.7607, -0.2887]]) tensor([[0.7607, 0.2887]]) tensor([[1., -0.]]) tensor([[ 0., -1.]]) tensor([[ 0.5000, -0.2887]]) print(a) print(torch.min(a)) print(torc..
PyTorch 간단 소개 Colab 사용 파이토치(PyTorch) 페이스북이 초기 루아(Lua)언어로 개발된 토치(Torch)를 파이썬 버전으로 개발하여 2017년도에 공개 초기에 토치(Torch)는 넘파이(Numpy) 라이브러리처럼 과학 연산을 위한 라이브러리로 공개 이후 GPU를 이용한 텐서 조잦 및 동적 신경망 구축이 가능하도록 딥러닝 프레임워크로 발전시킴 파이썬답게 만들어졌고, 유연하면서도 가속화된 계산 속도를 제공 파이토치 모듈 구조 PyTorch의 구성요소 torch: Main Namespace, Tensor등의 다양한 수학 함수가 포함 torch.autograd: 자동 미부 기능을 제공하는 라이브러리 torch.nn: 신경망 구축을 위한 데이터 구조나 레이어 등의 라이브러리 torch.multiprocessing: 병렬처리 기능을 ..
AI Snake Game - Reinforcement Learning with PyTorch[2] by Patrick Loeber 아나콘다 환경에서 가상환경 생성 후 작업 conda create -n pygame_env python=3.7 콘다환경에서 파이썬3.7버전으로 'pygame_env'이름의 환경 생성 conda activate pygame_env 생성한 'pygame_env' 환경 사용 pip install pygame 파이게임 모듈 설치 pip3 install torch torchvision PyTorch 홈페이지를 참고하여 필요한 환경의 pytorch 모듈설치 (https://pytorch.org/get-started/locally/) pip3 install matplotlib ipython 시각화 자료를 만들기 위한 모듈 matplotlib 설치 pygame을 사용하여 이용할 게임 snake_game의 예제 Scrip..
AI Snake Game - Reinforcement Learning with PyTorch[1] by Patrick Loeber Reinforcement Learning Reinforcement Learning (RL) is an area of machine learning concerned with how software agents outgh to take actions in an environment in order to maximize the notion of cumulative reward. Or: RL is teaching a software agent how to behave in an environment by telling it how good it's doing. Rought overview part 1. Game(Pygame) 파이게임을 활용하여 비주얼 게임을 만든다. 게임루프 - play_step(action..
Kaggle Surface Crack Detection data Example script Kaggle surface crack detection data는 콘크리트 표면 결함을 발견하고 예측하기 위한 Kaggle의 공개 데이터로서, 평균적으로 227 x 227 크기를 가지는 color 이미지이며, crack 없는 Negative 데이터 2만개와 crack 발생한 Positive 데이터 2만개, 총 4만개의 이미지 데이터이다. 모델 아키텍처 및 데이터 전처리 Conv -> MaxPooling -> Conv -> MaxPooling -> Conv -> MaxPooling -> Flatten -> Dense -> Dense 데이터 다운로드 import tensorflow as tf from tensorflow.keras.layers import Dropout, Dense, Conv2D, Globa..

반응형