전체 글 176

Q. MongoServerError: not authorized on admrul to execute command 해결방법은?

{ ok: 1, dropped: 'admrul' }​ db.createUser({ user: , pwd:, roles: [{role: 'root', db: 'admin'}] }); 환경 linux Ubuntu 20.04.4 LTS MongoDB 5.0.9 bash 에러 발생 상황 다른 곳에서 import 한 database에 문제가 있어서 해당 db를 삭제하려는 상황 https://www.tutorialkart.com/mongodb/mongodb-delete-database/ 위의 포스팅을 참고하여 해당 db로 간다음 db.dropDatabase() 입력했을 때 해당 에러 발생 에러 메세지 MongoServerError: not authorized on admrul to execute command { ..

Data/NoSQL 2022.08.02

NoSQL MongoDB 사용하기

nlp 중에서도 문서 단위의 long text를 분석 단위로 하다보니 RDB에 문서 단위의 텍스트를 저장하고 불러오는게 부담스러웠다. 문서의 길이가 대부분 5000 정도는 쉽고 table의 row도 만 개가 넘어가다 보니 단순히 SELECT * 만 해도 데이터를 받아보는데 수 초가 걸리는 상황이라 어쩔 수 없이 NoSQL로의 DB 전환을 할 수 밖에 없는 상황이 되었다. DB를 MongoDB에서 자체적으로 제공하는 클라우드 서비스인 MongoDB Atlas Database 나 AWS에서 MongoDB호환으로 서비스 하는 DocumentDB 를 활용하여 서버리스 데이터베이스를 구축하는 것이 좋겠지만, 아직까지는 서비스 운영을 위한 DB구축이 아니라 테스트 단계로 일단 AWS EC2 Ubuntu에 Mongo..

Data/NoSQL 2022.08.01

windows10 WSL 우분투에서 도커로 elasticsearch 8.3.0 설치 및 실행

엘라스틱서치는 역색인을 통해 풀텍스트서치를 지원해주어 검색의 속도와 성능이 뛰어나다고 들었다. NLP 솔루션 과정에서 엘라스틱서치를 활용할 수 있는지 모색하기 위해 엘라스틱서치를 설치하고 파이썬 클라이언트 패키지를 활용해 노트북에서 사용해봤다. 내 환경 : windows10 pro WSL2 ubuntu 20.04.4 LTS Docker Image 내려받기 Docker Image(https://www.docker.elastic.co)에서 os 및 버전에 맞게 선택 docker pull [docker.elastic.co/elasticsearch/elasticsearch:8.3.0-amd64]() 파이썬 클라이언트 패키지 설치, 엘라스틱 버전에 맞춰서 버전 설정해서 설치 pip3 install elastics..

OS/Windows 2022.07.20

Windows 10 WSL linux에서 도커 docker 사용하기

WSL로 설치한 우분투(ubuntu 20.04.4 LTS) 에 도커를 설치해 사용하려고 했는데, 리눅스 도커를 검색해서 나온 포스팅들을 따라해도 제대로 설치 실행이 되지 않았다. $ docker version 을 입력해 확인해보면 다음과 같은 좋지 않은 메세지를 확인할 수 있었다. Cannot connect to the Docker daemon at tcp://localhost:2375. Is the docker daemon running? 참고 포스팅을 확인해보니 docker client는 설치가 되었지만 docker server는 설치가 되지 않는다고 한다 ㅠㅠ Windows HOST에 Docker Engine을 설치하고 WSL에서 Docker Engine을 연결하는 방식으로 사용해야 한닪다. WSL..

OS/Windows 2022.07.19

Windows10에서 WSL로 리눅스 쉽게 사용하기

원래 개인용으로는 Mac을 오랫동안 사용해왔고, 개발 역시 Mac에서 시작했지만, 입사 이후에는 회사에서 제공해주는 & 그리고 팀에서 공통으로 사용하는 Windows 기반으로 업무를 해오고 있다. 그러나 때때로 linux를 써야할 일이 있고(원격 GPU 서버에 접속하여 학습, 또는 AWS EC2를 통해 사용하는 웹서버, docker 사용... ), 로컬에서 linux를 쓸 경우에는 VMware 가상머신을 사용해서 리눅스를 설치, 사용했는데 당연하게도 느려서 사용성은 크게 떨어졌었다. 그런데 본이 아니게 회사에서 컴퓨터를 바꾸게 되면서 새롭게 Windows 셋팅을 하다가 WSL (Windows Subsystem Linux)를 통해서 쉽게 리눅스OS 사용이 가능하다는 것을 알게 되었다. 참고 블로그를 따라서..

OS/Windows 2022.07.19

pdf 파일을 jpg파일로 변환하기

편집과 색인이 불가능한, 이미지 형태로 저장된 pdf 파일에서 텍스트를 추출하는 작업을 하고 있다. OCR을 활용해 추출했지만, 원본 pdf 파일의 글자가 흐린 경우, 당연하게도 문자인식이 잘 되지 않는다. 문제 해결을 위해 pdf 를 jpg로 바꾼 다음, opencv 라이브러리를 통한 처리를 활용해 보다 선명한 텍스트 이미지를 만들어 보려고 시도중. pdf2image 라이브러리를 활용하려 했지만, 에러 발생 PDFInfoNotInstalledError: Unable to get page count. Is poppler installed and in PATH? 검색해보니 poppler 설치가 필요하다고 한다. 윈도우즈에서 poppler를 설치하려면? https://github.com/oschwartz10..

카테고리 없음 2022.04.18

slack_sdk를 활용해 에러로그를 보내는 슬랙봇 만들기

nlp 과제를 하다보니 cv 과제를 할 때 보다 특정 사이트에서 데이터를 가져오는 작업을 하는 일이 많아졌다. 그런데 수천개 페이지 이상의 자료를 크롤링하다보니 처음에 예상하지 못했던 에러가 발생하는 일이 잦았다. 밤새 수천 개쯤 걸어둔 작업이 완료되었을거라 기대하고 아침에 확인했을 때, 열 개쯤 돌아가다 멈춘 걸 보고 좌절 ㅠㅠ. 을 반복해서 겪다보니 에러 발생시 폰으로 알림을 받고 싶어졌다. 슬랙봇이 비교적 쉽게 이런 일을 해준다고 해서 검색. 준비물 : 슬랙 아이디와 슬랙 워크스페이스 https://api.slack.com/messaging/webhooks 1. 슬랙앱 만들기 : 이전에 만든 적이 없다면, 아래 주소에 가서 새로운 슬랙 앱을 만든다. from scratch (처음부터 만들기)를 선택..

Etcs 2022.03.28

Q. java.lang.OutOfMemoryError: java.lang.OutOfMemoryError: Java heap space 에러 발생 원인과 해결방법은?

환경 Windows 10 Pro python 3.8.12 IDE - vscode 에러 발생 상황 konlpy 0.6.0 버전의 형태소분석기 Kkma로 명사 추출을 진행중. 동일한 코드로 테스트를 위해 10000개 행까지만 슬라이싱해서 진행할 경우는 코드가 잘 돌아가지만, 전체 텍스트를 동일한 코드 실행할 경우 outofmemory 에러 발생 # 3. 명사 추출 def extract_nouns(text, stopwords_path = False): kkma = Kkma() noun = kkma.nouns(text) result = [] if stopwords_path: stopword_list = get_stopwords(stopwords_path) # Stopword 및 한글자 형태소 제거 for n i..

한국어 오픈소스 말뭉치 활용 라이브러리 코포라 Korpora

세상에! 이렇게 유용한 라이브러리가 있었다니! 한국어 오픈소스 말뭉치들의 다운로드와 전처리를 라이브러리로 불러와서 쉽게 사용할 수 있게 해주는 라이브러리 Korpora를 이제야 알게 되었다. 한국어 nlp 테스트를 정말 쉽고 편하게 할 수 있을 것 같다. 앞으로 더 많은 오픈소스 텍스트가 공개되고, Kopora에도 편입되어 연구와 활용에 널리 사용할 수 있게 되길 희망한다. https://ko-nlp.github.io/Korpora/ko-docs/introduction/ 코포라 소개 · Korpora 코포라 소개 Korpora는 오픈소스 말뭉치들의 다운로드와 전처리 기능을 제공하는 파이썬 라이브러리입니다. 복잡한 설명을 피하고 싶으신 분들은 ‘설치 방법'과 ‘빠른 사용법'만 읽으셔도 간편 ko-nlp.g..

Q. jupyter notebook 파일을 실행할 때 새로운 가상환경을 만들고 이용하는 방법은?

A. ipykernel 라이브러리를 활용하면 쉽게 이용 가능하다. 환경 Windows 10 Pro python 3.8.12 IDE - Visual Studio Code 파일 포맷 - .ipynb 참고 anaconda, virtual env + jupyter notebook 활용 https://janakiev.com/blog/jupyter-virtual-envs/ https://daseuul.tistory.com/12 python -m venv "가상환경이름" source ./"가상환경이름"/bin/activate # 리눅스에서 실행할 경우 . "가상환경이름"\Scripts\activate # 윈도우즈에서 실행할 경우 python -m site python -m pip install ipykernel py..

이미지 검색 결과를 바탕으로 데이터셋 만들기 (Google Custom Search API, Bing Image Search API)

지금까지는 주로 잘 알려진 벤치마크 데이터셋이나 AI Hub나 kaggle의 데이터셋을 활용하는 과제만 해왔다. 그래서 사실 직접 이미지 데이터를 수집하고 정제하는 경험이 많지 않았...거의 없었다. (물론 이미 수집된 데이터도 과제에 따라서 정제하고 전처리하는 과정을 거치긴 하지만 거친 세상(in the wild ㅋㅋ)에 있는 데이터를 수집해서 추리는 과정에 비하면 훨씬 간단하고 단순한 편이다. 이번에 시간이 좀 생겨서 모델 품질 향상을 위해 다양한 데이터를 활용할 겸, 이미지 데이터셋 만들기 연습,훈련도 할 겸 이미지 검색 결과를 바탕으로 데이터셋을 만드는 연습을 해봤다. 1. Google Custom Search API 활용하기 참고 http://sudahe.blogspot.com/2019/08/s..