목록python (4)
Stats & AI tech blog - '일단 시도함'
지난 포스팅에서는 PyTorch를 활용한 심층신경망(DNN) 모델 학습에 대한 코드를 알아보았다.이번 포스팅에서는 이미지 분석을 위한 합성곱신경망(CNN) 모델을 생성하고 학습하는 코드를 알아보도록 하겠다. CNN 모델 구축과 학습 과정은 아래 순서대로 진행한다.필요한 라이브러리/패키지 불러오기연산을 수행할 장치(CPU or GPU) 설정데이터 불러오기CNN 모델 생성 및 파라미터 정의모델 학습 및 평가 1. 라이브러리/패키지 불러오기import numpy as np # 넘파이 배열import matplotlib.pyplot as plt # 그래프 그리기import torchimport torch.nn as nn # 딥러닝 모듈from torch.autograd import Variable # 자동 ..
오늘은 파이썬의 enumerate()함수를 사용해서 for loop문을 작성하는 방법에 대해 알아보겠다.for문을 작성하는 방식은 사람마다 다를 수 있는데, 어떤 방식들이 있는지, 그 중 가장 파이썬스러운 방식은 무엇인지 확인해보려고 한다. 1. for 문먼저 인덱스 i를 0으로 초기화 시킨 후에 루프마다 1을 더해 간다. 이런 방식은 루프문이 종료된 후에도 i가 그대로 남아있다는 단점이 있다i=0for letter in ['A','B','C']: print(i, letter) i+=12. range(), len() 함수 사용두 번째로는 range()와 len()함수를 이용하는 방법이다. 먼저 iteration할 목록를 정의해놓고 목록의 length를 인덱스 range로 사용하는 방식으로, 많이 사..
이번 포스팅에서는 파이토치(PyTorch)에서 신경망 모델을 정의하는 방법에 대해 알아보려고 한다.모델을 정의할 때는 계층(Layer), 모듈(Module), 모델(Model) 3가지 개념을 먼저 알아야 한다. 계층 (Layer)합성곱층이나 선형계층 등이 있고 계층이 모여 모듈이나 모델을 구성한다.모듈 (Module)하나 이상의 계층이 모여 모듈이 되거나, 모듈이 모여 새로운 모듈을 만들 수도 있다.모델 (Model)최종적으로 원하는 신경망 구조로 한 개의 모듈이 모델이 될 수도 있다. 계층과 모듈을 사용해서 신경망 모델을 정의하는 방법에도 여러 가지가 있는데 하나씩 알아보겠다. 1. 단순 신경망 정의 모듈을 상속받지 않는 아주 간단한 모델을 만들 때 사용하는 방법으로 구현이 쉽고 단순하다는 장점이 있다..
1. 파이토치 개요 파이토치(PyTorch)는 2017년 초에 공개된 딥러닝 프레임워크이다.초기에는 파이썬 넘파이(Numpy) 같은 과학 연산용 라이브러리로 공개되었지만, 점점 딥러닝 프레임워크로 발전하게 된 케이스다. 파이토치(PyTorch)는 간결하고 쉬운 구현성과 GPU를 사용한 빠른 연산 처리로 유명해졌고, 아래와 같은 주요 특징을 가지고 있다. GPU(Graphics Processing Unit) 딥러닝에서 기울기를 계산할 때 CPU 대신 GPU를 사용하면 훨씬 빠른 속도로 미분 연산을 처리할 수 있다. CUDA, cuDNN이라는 API를 통해서 GPU에서 사용하는 병렬 처리 알고리즘을 연산에 사용한다.텐서(Tensor)텐서(Tensor)는 파이토치의 데이터 형태로 매우 중요한 핵심 개념이다. ..