분류 전체보기
API - RESTful API 란?
1. API (Application Programming Interface) 응용 프로그램에서 사용 할 수 있도록, 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스 API를 통해 소스 및 DB에는 접근하지 못하게 하고 해당 프로그램을 사용할 수 있도록 기능을 제공하게 하는 것 2. REST(Representational State Transfer) 서버나 서비스에 존재하는 모든 자원(이미지, 동영상, DB)에 고유한 URI를 부여해 활용하는 것 자원을 정의하고 자원에 대한 주소를 지정하는 방법론을 의미한다. 현재 쓰이는 API 개발방법은 대부분 RESTful API다. 3. 통신을 위한 REST 구성 자원(Resource) : http://service.com/users 라는..
API 서버 개발환경 구축 - 포스트맨 설치, 사용법
포스트맨은 개발한 API를 테스트 할 수 있는 툴이다. 포스트맨을 설치해보자. https://www.postman.com/downloads/ Download Postman | Get Started for Free Try Postman for free! Join 20 million developers who rely on Postman, the collaboration platform for API development. Create better APIs—faster. www.postman.com 설치하고 이용하려면 회원가입을 해야 한다. Home 화면에서 Create New를 누른다. Collection 선택 이름을 지어주고 Add request 선택 URL을 넣어주고 Send를 눌러서 개발한 API가 ..
API 서버 개발환경 구축 - Python으로 MySQL 접속하기
먼저 비주얼 스튜디오 코드 환경에서 작업할 수 있도록 MySQL에 원격 접속할 계정을 만든다. 이 계정은 recipe_db에만 접속할 수 있도록 하겠다. use mysql; create user '유저명'@'%' identified by '비밀번호'; -- recipe_db를 관리할 권한 설정 grant all on recipe_db .* to '유저명'@'%' 그리고 MySQL에 새로운 connection을 만들어준다. 이제 GitHub 레파지토리를 만들고, 클론하고 VS code를 사용해 API 서버를 개발하려 한다. 파이썬에서 MySQL에 접속할 수 있도록 함수를 만든다. import mysql.connector from config import Config def get_connection(): ..
Tensorflow - Transfer Learning 예제
이전 포스트에서 transfer learning에 대한 간략한 개념을 알아봤으니 직접 코드로 실습해보자. MobileNetV2 로 transfer learning해서 개와 고양이 이미지를 분류하려 한다. 이전 포스트가 궁금하면? https://donghyeok90.tistory.com/170 Transfer Learning(전이 학습) 과 Fine Tuning(미세 조정) 1. Transfer Learning (전이 학습) 전이 학습(Transfer Learning)은 특정 분야에서 학습된 신경망의 일부 능력을 유사하거나 전혀 새로운 분야에서 사용되는 신경망의 학습에 이용하는 것을 의미한다. 쉽게 donghyeok90.tistory.com MobileNetV2 모바일이나, 임베디드에서도 실시간으로 작동할..
Transfer Learning(전이 학습) 과 Fine Tuning(미세 조정)
1. Transfer Learning (전이 학습) 전이 학습(Transfer Learning)은 특정 분야에서 학습된 신경망의 일부 능력을 유사하거나 전혀 새로운 분야에서 사용되는 신경망의 학습에 이용하는 것을 의미한다. 쉽게 말해서 학습이 잘 된 pre-trained model을 가져와서, 나의 문제에 맞게 활용하는 것이다. 아래 링크에서 Tensorflow에서 제공하는 pre-trained 모델들을 확인할 수 있다. https://www.tensorflow.org/api_docs/python/tf/keras/applications?hl=ko Module: tf.keras.applications | TensorFlow v2.11.0 Keras Applications are premade archite..
파일을 Train/Test 디렉토리로 나눠서 저장하는 방법
import random import tensorflow as tf from tensorflow.keras.optimizers import RMSprop from tensorflow.keras.preprocessing.image import ImageDataGenerator from shutil import copyfile 수집한 이미지 파일들을, ImageDataGenerator를 이용해 학습데이터(numpy array)로 변환하기 위해, 그 형식에 맞게 디렉토리를 만들고 저장하는 법을 알아보자. 1. 연습용 데이터 다운로드 후 압축해제 # 연습용 이미지파일 # /tmp 경로에 압축파일을 다운로드 받고 압축 푼다. import zipfile !wget --no-check-certificate \ 'ht..
Tensorflow - ImageDataGenerator를 이용한 이미지 전처리와 이미지 증강
from tensorflow.keras.preprocessing.image import ImageDataGenerator 1. 이미지 전처리 가지고 있는 이미지 파일을 인공지능에서 학습시키려면 numpy array 형태로 바꿔줘야 한다. 텐서플로우의 ImageDataGenerator 클래스의 flow_from_directory 메소드를 이용하면 쉽게 변환 할 수 있다. # train 데이터용 인스턴스 호출 train_datagen = ImageDataGenerator(rescale= 1/255.0) # test 데이터용 인스턴스 호출 test_datagen = ImageDataGenerator(rescale= 1/255.0) train_generator = train_datagen.flow_from_di..
Tensorflow - CNN 모델 예제
이미지를 보고 인간인지 말인지 분류하는 모델을 만들어보려 한다. 1. 연습용 이미지 다운로드 !wget --no-check-certificate \ https://storage.googleapis.com/laurencemoroney-blog.appspot.com/horse-or-human.zip \ -O /tmp/horse-or-human.zip !wget --no-check-certificate \ https://storage.googleapis.com/laurencemoroney-blog.appspot.com/validation-horse-or-human.zip \ -O /tmp/validation-horse-or-human.zip 2. 압축 풀기 import zipfile # 파일을 불러옴 file..