본문 바로가기

반응형

머신러닝공부

(45)
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 사용 파이토치(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[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..
GTSRB(German Traffic Sign Recognition Benchmark) Project 간단 정리 및 Example script 독실 신경 정보학 연구원들이 교통표지판(Traffic sign)을 예측하기 위해서 만든 데이터이며, 평균적으로 32 x 32 크기를 가지는 color 이미지로서, 43개의 교통 표지판과 관련된 약 4만 개의 이미지를 포함함 모델 아키텍처 및 개발 프로세스 Conv Layer -> Conv Layer -> MaxPooling Layer -> Flatten Lyaer -> Dense Layer -> Dense Layer 데이터 로드 : Colab에서 wget을 이용하여 데이터 다운로드 데이터 전처리 : 디렉토리 정리, OpenCV 이용한 이미지로드 cv2.imread(), train data& test data 생성 및 정규화 모델 아키텍처: loss = 'sparse_categorical_crossentr..
Callback 함수 간단 정리 개념 Callback 함수는 1. 특정 상황에서 실행되는 함수를 시스템에 먼저 등록해두면 2. 해당 상황이 발생했을 때 등록되어 있는 함수가 실행되고 3. 시스템에서의 결과를 통해서 개발자는 등록된 콜백 함수가 실행된 것을 알 수 있다. 즉, 콜백 함수라는 것은 특정상황에서 실행될 함수를 시스템에 등록해두면, 그러한 상황이 발생했을때 시스템이 자동으로 실행해주는 함수라고 볼 수 있다. 그래서 TensorFlow에서도 다양한 콜백 함수가 있는데, TensorFlow 콜백 함수는 모델의 학습 방향, 저장 시점 그리고 학습 정지 시점 등에 관한 상황을 모니터링 하기 위해 주로 사용됨 예를들어, 학습 도중에 학습율(learning_rate)을 변화시키거나 일정시간이 지나도 검증데이터(validation data..
Transfer Learning 전이학습을 활용한 나만의 이미지 분류 시스템 구현 예제 script Training Data는 카메라로 찍은 사진 혹은 네트워크에서 무작위로 다운 받은 사진들 Training Data 만들기 나만의 이미지로 Training Data를 만들기 위해서는 1. 먼저 dog_image/train과 같이 임의의 이름을 가지는 root_directory를 만든 다음, 이러한 root directory의 하위 directory로서, 이용자가 분류하고자 하는 이미지의 정답을 나타내는 directory. 예를 들면 chihuahua, jindo_dog, shepherd, yorkshire_terrier와 같은 directory를 생성한다. 2. 정답 이미지 데이터를 디렉토리 안에 최소 100개 이상 저장한다. 3. ImageDataGenerator.flow_from_directory()..

반응형