Flask를 이용하여 파이토치를 REST API로 베포하기2
코딩/이미지 분류 [PyTorch] 2020. 11. 13. 02:15

본 게시글은 PyTorch 공식 홈페이지의 "FLASK로 REST API를 통해 PYTHON에서 PYTORCH 베포"를 진행하면서 작성한 글입니다! 이전 게시글에서는 Flask 서버를 구동하면서 파이썬 코드를 통해 실험해보았었다. import requests resp = requests.post("http://localhost:5000/predict", files={"file": open('_static/cat.jpg','rb')}) resp.json() HTML 렌더링 이번에는 HTML 문서와 연결시켜서 해보겠다. 방법은 간단하다 랜더링이라 하는데 우선 미리 html 문서를 만들어 놓는다. 여기서 주목해야 될 부분은 form 부분이다. 이전에 API에서 POST 형식으로 'file'명칭을 기존 주소 +..

Flask를 이용하여 파이토치를 REST API로 베포하기
코딩/이미지 분류 [PyTorch] 2020. 11. 2. 15:32

본 게시글은 PyTorch 공식 홈페이지의 "FLASK로 REST API를 통해 PYTHON에서 PYTORCH 베포"를 진행하면서 작성한 글입니다! 이미지 분류 모델 구축 미리 학습된 DenseNet 모델을 통하여, 주어진 이미지 파일이 뭔지 분류하려고 한다. DenseNet 모델은 224x224의 RGB 이미지를 분류하기 때문에, 우선 데이터셋을 정규화해야 한다. import io import torchvision.transforms as transforms from PIL import Image def transform_image(image_bytes): my_transforms = transforms.Compose([transforms.Resize(255), transforms.CenterCrop(..

머신러닝 : CNN (합성곱신경망) [Convolution, Pooling]
코딩/이미지 분류 [PyTorch] 2020. 10. 6. 02:04

CNN 즉 합성곱신경망은 고수준의 뉴런이 저수준의 뉴런의 출력에 기반한다는 아이디어에서 나온 개념이다. 기존의 완전연결 층에서는 3차원 데이터를 입력 층에 넣어주기위해 1차원 데이터로 변환했다. 이렇게 1차원으로 변환한 데이터는 공간적인 정보가 사라진 상태라 이미지같은 경우 구조가 깨져버려 정보가 많이 사라져버린다. 따라서 구조 정보를 보존하면서 학습하는 방법으로 등장한게 합성곱 신경망 (CNN)이다. LeCun에 의해 처음 개념이 개발되었고, LeNet이 그 첫번째 구조이다 CNN은 층을 크게 합성곱층(Convolutional Layer)과 풀링층(Pooling Layer)으로 반복하여 구성한다 Convolutional Layers(합성곱층) 합성곱은 3차원 데이터를 필터를 통해 여러 특성을 띄는 채널..

머신러닝 : 파이토치로 사진 분류하기 [CIFAR-10 CLASSIFIER]
코딩/이미지 분류 [PyTorch] 2020. 10. 5. 20:39

본 게시글은 PyTorch 공식 홈페이지의 "파이토치로 딥러닝하기 : 60분만에 끝장내기"를 진행하면서 작성한 글입니다! 머신 러닝을 하기 위해, 이미지, 텍스트, 오디오, 비디오 등의 데이터를 사용할 때 numpy 배열로 데이터를 로드할 수 있다. 그리고 이 numpy 배열을 Torch.*Tensor로 변환해 Pytorch에서 사용할 수 있다. 이번에 도전해볼 CIFA-10에서의 예제는 R,G,B 3채널의 32*32 크기의 이미지들로 ‘airplane’, ‘automobile’, ‘bird’, ‘cat’, ‘deer’, ‘dog’, ‘frog’, ‘horse’, ‘ship’, ‘truck’의 클래스가 섞여있다. 이제 이 10가지 클래스의 사진들을 분류할 수 있도록 학습하는 것이 목표이다. 이러한 데이터..

머신러닝 : 파이토치 시작하기 [Tensor 생성, 덧셈, CUDA]
코딩/이미지 분류 [PyTorch] 2020. 10. 4. 02:20

본 게시글은 PyTorch 공식 홈페이지의 "파이토치로 딥러닝하기 : 60분만에 끝장내기"를 진행하면서 작성한 글입니다! 머신 러닝 (인공 지능)을 활용하면서 가장 많이 들어보는 라이브러리는 텐서플로우와 파이토치일 것이다. 아무래도 라이브러리의 이점은 기울기를 계산해주는거랑, 이미 만들어진 모델 사용 가능 등등 하여튼 엄청나게 편리하다는 점이다. 파이토치와 텐서플로우 모두 사용해 본 적이 없기 때문에 구체적인 비교는 할 수 없고.. 수업에서 파이토치를 사용한다고 해서 파이토치 먼저 학습해보려고 한다... 파이토치 홈페이지에서는 이런 사람들이 파이토치를 사용한다고 한다. NumPy를 대체하면서 GPU를 이용한 연산이 필요한 경우 최대한의 유연성과 속도를 제공하는 딥러닝 연구 플랫폼이 필요한 경우 우선, 가..