목록전체 글 (302)
elevne's Study Note

오늘은 지금껏 미뤄둔 GPT 모델에 대해서 알아보고자 하였다. GPT는 OpenAI에서 2018년 처음 제안된 모델로, GPT1으로 시작하여 지금은 GPT3까지 발표되어 있다. GPT1은 "Improving Language Understanding by Generative Per-Training" 이라는 논문에서 처음 소개되었으며 BERT보다 먼저 사전학습 기법을 활용하여 여러 문제에서 당시 기존 모델들보다 높은 성능을 보인 바가 있다. GPT1 GPT1은 BERT와 마찬가지로 매우 큰 Text Data를 활용, 비지도학습으로 사전학습을 시킨 후 Fine Tuning을 통해 여러 영역에 사용하는 방식을 사용한다. GPT1의 구조도 BERT와 마찬가지로 Transformer의 구조를 띄어 BERT와 대부분..

개인 프로젝트를 진행하며 KoBART 모델을 사용하기로 하였는데, 이를 조금 Fine Tune 시킬 필요성을 느꼈다. 다행히도 KoBART 모델은 Fine Tuning 시키기 수월하게끔 Github에 코드가 잘 정리되어 있었다. (아래 모든 코드는 Colab에서 진행되었다.) 우선 Colab에서 Drive Mount를 해준 이후 Git Clone을 할 위치로 cd 해준다. !git clone https://github.com/seujung/KoBART-summarization.git cd KoBART-summarization !git clone 명령어 뒤 KoBART Github repository 링크를 넣어준다. 위 명령어가 수행되면 cd 한 위치에 Github Repo가 잘 설치되어 있는 것을 확인..

저번 글에 이어서 이번에는 모델 Class를 만들어줄 차례이다. 코드는 아래와 같이 적어준다. class TFBERTQuestionAnswering(tf.keras.Model): def __init__(self, model_name, dir_path, num_class): super(TFBERTQuestionAnswering, self).__init__() self.encoder = TFBertModel.from_pretrained(model_name, cache_dir=dir_path) self.start_logit = tf.keras.layers.Dense(num_class, name="start_logit", use_bias=False) self.end_logit = tf.keras.layers.D..

오늘은 BERT를 사용하여 KorQuAD 데이터셋을 분석해보는 실습을 진행해보았다. KorQuAD는 기계독해 모델을 위한 데이터셋으로, Korean Question Answering Dataset의 약자이다. 이전에 BERT로 데이터분석을 진행했을 때와 마찬가지로, 우선 데이터를 불러오고 간단하게나마 EDA를 진행해보는 시간을 가졌다. 데이터는 keras.utils 의 get_file 함수를 사용하여 가져올 수 있었다. train_data_url = "https://korquad.github.io/dataset/KorQuAD_v1.0_train.json" train_path = keras.utils.get_file("train.json", train_data_url) eval_data_url = "htt..
1. HTML 파일 상에서 Input tag 등을 사용하여 입력값을 받을 때, tag 내에 onkeyup을 사용할 일이 있었다. (Input tag 안에 숫자값만 받고자 하였다.) Tag 내에 넣어줄 수 있는 유사한 것들로 onKeyUp, onKeydown, onKeyPress 가 있는데 기능은 아래와 같다. onKeyup: 사용자가 키보드의 키를 눌렀다가 땔 때 작동할 것 지정 onKeydown: 사용자가 키보드의 키를 눌렀을 때 작동할 것 지정 onKeyPress: 사용자가 키보드의 키를 눌렀을 때 작동할 것을 지정(onKeydown과 다른 점은 이는 ASCII 값으로 사용된다는 점) 아무튼 나는 Input tag 내에서 숫자만 입력받고 싶었기에 (input type="text"로 지정해야 할 이유가..

오늘은 Spring framework에서 MyBatis를 사용하는 법에 대해서 다시 한 번 정리해보았다. 우선 Spring Initializr에서 다음과 같은 dependency 들을 추가해준다. build.gradle 파일에서 의존성 관련 부분을 확인해보면 아래와 같이 적혀있을 것이다. dependencies { implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.2.2' compileO..

저번에 EasyOCR을 알아본데에 이어서, 이번에는 이미지 내 객체의 윤곽선을 바탕으로 이미지를 추출해내는 방법과, 그 이미지에 EasyOCR을 적용하는 것을 실습해보았다. 우선 필요한 라이브러리들을 Import 해준다. from matplotlib import pyplot as plt from imutils.perspective import four_point_transform from imutils.contours import sort_contours import imutils from easyocr import Reader import cv2 import requests import numpy as np from PIL import ImageFont, ImageDraw, Image OpenCV는 O..

오늘은 최근 웹 개발을 진행하면서 새롭게 알게된 것들에 대해서 정리해보려고 한다. 1. 첫 번째로 Naver 스마트에디터를 사용해보았다. 게시판 기능을 포함한 웹사이트 제작을 할 때 유용하게 사용할 수 있는 오픈소스 에디터이다. 지금까지 많은 버전이 나왔는데 2.9 버전부터는 사진 업로드 기능이 제공되지 않는다고 한다. 2.8 Version을 아래 링크에서 zip 파일로 우선 다운받아주었다. 링크: https://github.com/naver/smarteditor2/releases/tag/v2.8.2.3 압축을 풀어준 후, 원하는 경로에 파일들을 전부 복사/붙여넣기 해준다. 그 후, 필요한 js 파일을 html 파일에서 가져와야한다. (참고로 Spring Boot에서는 HTML에서 불러올 때 기본적으로 ..