본문 바로가기

분류 전체보기

(110)
[Project] 크래커 프로젝트 전체 흐름 playdata 교육과정 중 진행한 프로젝트에 대한 전체적인 과정과 상세 설명. (2018.10.22 - 2019. 05.21) 1. 전체적인 프로젝트 흐름 - 이번에 진행하는 프로젝트의 전체적인 흐름도이다. - 크게 보면 안드로이드와, 딥러닝모델(Tf serving), 장고서버와 elastic search를 연결한 프로젝트이다. # 안드로이드 - 사진 촬영해서 서버로 request로 보낸다. 이때 gps를 사용하여 사용자의 위치정보까지 보낸다. - 검색결과를 시각화해서 앱에 보여준다. # 딥러닝 모델 - 사진속 간판의 텍스트를 인식하는 text detection과 text recognition 딥러닝 모델 구현 - 각각 모델을 영어로 우선 학습시킨뒤 Transfer Learning..
[TF serving] 딥러닝 모델 Tf serving에 올리기 이전까지 학습시킨 2개의 모델을 tf serving에 올려 실제 서비스에 적용할 수 있게 하는 한다. 현재 진행하는 프로젝트에서 실제 사용 된 코드. 1. 필요한 라이브러리 설치 $ apt-get update $ apt-get install tensorflow-model-server $ apt-get upgrade tensorflow-model-server - 일단 tf serving을 사용하기 위해 tensorflow-model-server를 설치 2. 모델 저장하기 1> 필요한 라이브러리 로딩 import argparse import json import numpy as np import requests import keras import tensorflow as tf import sys import..
[KR_OCR] Training(하이퍼파라미터튜닝)_v2 데이터 셋과 모델, 그외 유틸등이 준비가 되면 학습을 시작 기본파라미터부터 시작해서 다양한 방법으로 학습시켜 loss를 최소로 줄인다 9. Training_CRNN_9 ## Dropout은 LSTM에만 적용하고, 활성화 함수를 LeakyRelu로 변경 ## 데이터셋에서 문제가 발생되서 오류를 수정했음 - 총 1084개의 데이터 ( Train : 867개, Validation : 217개) - optimizer : SGD( lr = 0.001, decay=1e-6, momentum=0.9, nesterov=True, clipnorm=5 ) - 손실 값 : Focal CTC loss ( a : 0.75, r : 0.5 ) - activation func : LeakyRelu - Dropout : LSTM -..
[NLP] 03.자연어 처리 개요 - 데이터 이해하기 아래 내용은 텐서플로우와 머신러닝으로 시작하는 자연어처리 책을 바탕으로 작성 된 내용입니다. 데이터 이해하기 " 데이터 전처리 >> 정제된 전처리 >> 탐색적 자료 분석 >> 모델 >> 사용 " - 문제 해결을 위해서는 데이터 이해가 선행되어야 하는데, 이러한 과정을 EDA라고 한다. - 이러한 과정을 통해 생각하지 못한 데이터의 여러 패턴이나 잠재적인 문제점을 발견할 수 있다. - 탐색적 데이터 분석의 흐름 데이터 가져오기 import os import re import pandas as pd import tensorflow as tf from tensorflow.keras import utils data_set = tf.keras.utils.get_file( fname = "imdb.tar.gz", ..
[NLP] 03. 자연어 처리 개요 - 텍스트 유사도 아래 내용은 텐서플로우와 머신러닝으로 시작하는 자연어처리 책을 바탕으로 작성 된 내용입니다. 텍스트 유사도( Text Similarity ) - 텍스트 유사도란, 말 그대로 텍스트가 얼마나 유사한지를 표현하는 방식 중 하나 - 유사도를 판단하는 척도가 주관적이기 대문에 데이터를 정량화하기 쉽지않고 한계가 있다. - 이를 최대한 정량화해서 모델을 만드는 것이 중요하다. - 자주 사용되는 유사도 측정 방법 자카드 유사도 / 유클리디언 유사도 / 맨하탄 유사도 / 코사인 유사도 # 단어 벡터화 - 우선 각 유사도를 측정하기 전 두가지 예시 문자을 확인 sentence = ( "휴일 인 오늘 도 서쪽 을 중심 으로 폭염 이 이어졌는데요, 내일 은 반가운 비 소식 이 있습니다.", "폭염 을 피해서 휴일 에 놀러..
[NLP] 03. 자연어 처리 개요 - 텍스트 분류 아래 내용은 텐서플로우와 머신러닝으로 시작하는 자연어처리 책을 바탕으로 작성 된 내용입니다. 02. 텍스트 분류 - 텍스트 분류는 자연어 처리 문제 중 가장 대표적이고 많이 접하는 문제이다. - 자연어 처리 기술을 활용해 특정 텍스트를 사람들이 정한 범주 중 어느 범주에 속하는지 분류하는 문제다. - 2가지 범주에 대해서는 이진 분류 문제 - 3개 이상의 범주에 대해서는 다중 분류 문제라 한다. 1> 텍스트 분류의 예시 # 스팸분류 - 분류해야 할 범주는 스팸메일과 일반메일로 2가지이다 : 이진 분류 # 감정분류 - 주어진 글이 긍정적인지 부정적인지 판단하는 문제 - 경우에 따라 중립이 추가 될 수 있고, 감정이 세분화 될 수 있기 때문에 분류하려는 의도에 따라 범주가 정해진다. # 뉴스기사분류 - 다양..
[NLP] 03. 자연어 처리 개요 - 단어표현/단어임베딩/단어벡터 아래 내용은 텐서플로우와 머신러닝으로 시작하는 자연어처리 책을 바탕으로 작성 된 내용입니다. 단어 표현 - 어떤 방식으로 텍스트를 표현해야 자연어 처리 모델에 적용할 수 있을까에 대한 답을 찾는 것 - 단어표현 : 텍스트를 모델에 적용할 수 있게 언어적인 특성을 반영해서 단어를 수치화하는 방법을 찾는것 - 단어를 수치화할 때는 주로 벡터로 표현한다. - 따라서 단어 표현 = 단어 임베딩 = 단어 벡터 원-핫 인코딩 - 단어를 하나의 벡터로 표현하는 방법인데, 각 값은 0혹은 1만 갖는다. - 알 수 있는 벡터 값 가운데 하나만 1을 가지고, 나머지는 모두 0을 가지는 방식 - 여기서 1이 되는 것은 각 단어가 어떤 단어인지 알려주는 인덱스다. - 즉, 원-핫 인코딩 방식은 각 단어의 인덱스를 정한 후 각..
[NLP] 02. 자연어 처리 개발 준비 - 자연어 토크나이징 도구/전처리 자연어 처리에는 다양한 토크나이징도구들이 있는데 이번에는 자연어 토크나이징 도구를 살펴 볼 예정 자연어 토크나이징 도구 토크나이징이란, 입력 정보(문장 또는 발화)를 하나의 특정 기본 단위로 자르는 것 // 영어 토크나이징 라이브러리 - 여기서는 영어 토크나이징 작업을 수행할 수 있는 라이브러리를 소개한다. === NLTK === - 파이썬에서 영어 텍스트 전처리 작업을 하는데 많이 쓰이는 라이브러리이다. - 50여 개가 넘는 말뭉치 리소스를 활용해 영어 텍스트를 분석할 수 있게 제공한다. # 라이브러리 설치 conda install nltk import nltk nltk.download() - nltk는 단순히 라이브러리를 설치한다고 해서 바로 토크나이징 할 수 없다. 말뭉치를 다운받아야한다. - 토크..