분류 전체보기
[절약]. 프렌차이즈 상품 기프티콘 구매(경매)로 저렴하게 먹기
나는 투썸플레이스 매장에 자주 가곤한다. 가는 이유는 커피가 맛있어서가 아니라.. ㅋㅋ 자리가 넓어 눈치안보고 작업할 수 있고 공부하는 사람들이 많아 긍정적인 에너지를 받기 때문이다. 일주일에 한 번은 꼭 오는 것 같다. 하지만 문제는 커피 가격이다. 현재 아메리카노(R)의 가격은 4500원이다. 이번 포스팅은 다들 잘 알고있지만 상품대신 기프티콘을 구매하여 15% 할인된 가격으로 상품을 구매할 수 있는 방법을 공유하고자한다. 여러가지 기프티콘 경매 서비스들이 있지만 나는 신한은행(SOL)어플에 있는 모바일 쿠폰 마켓 (기프티스타) 를 사용하고있다. 신한은행(SOL)어플에서 쿠폰 사고팔기 메뉴를 클릭하면 쉽게 접속이 가능하다. 신한은행을 이용하는 사람은 자동으로 계좌를 연동해서 쉽게 구매를 진행할 ..
[날짜]. datetime으로 무슨 요일인지 구하기
from datetime import datetime def datetime_to_weekday(datetime_str : str) -> None: """ ex ) datetime_str : "19-02-03" """ date_time = datetime.strptime(datetime_str, '%y-%m-%d') date_type = date_time.date() weekday = date_type.weekday() int_to_week = {0: "월", 1: "화", 2: "수", 3: "목", 4: "금", 5: "토", 6: "일"} print(int_to_week[weekday] + "요일") datetime_to_weekday("2022-04-21")
[error]. arm64 에서 Mecab 설치시 에러 해결법
aarch64 configure: error: cannot guess build type; you must specify one 문제 발생 : 현재 EC2 메모리 최적화 인스턴스 ( arm64 ) 에서 konlpy 형태소 분석기 Mecab 설치시 오류 발생 리눅스에서 Konlpy 설치를 할때 다른 형태소 분석기는 pip로도 설치가 되지만 Mecab 은 따로 조치를 취해줘야한다. 공식 홈페이지에서는 git에 연동된 bash 파일을 읽어서 실행시키도록 권장하고있다. https://konlpy.org/en/latest/install/ Installation — KoNLPy 0.6.0 documentation Ubuntu Supported: Xenial(16.04.3 LTS), Bionic(18.04.3 LTS..
[ElasticSearch]. 크론탭(crontab)으로 리눅스 서버 꺼지면 자동 재실행 하기
나는 현재 엘라스틱 서치 8.1.2 버전을 사용중이고 3개의 클라우드 서버(AWS EC2)를 바인딩하여 사용중이다. elasticsearch node 1 : 4GB , 2cpu t3.medium elasticsearch node 2 : 2GB , 2cpu t3.small elasticsearch node 3 : 2GB , 2cpu t3.small 문제 발생 : - 상대적으로 저 스펙인 (노드2) 와 (노드3) 서버가 자주 꺼지는 문제 발생 문제를 해결하기 위해 elasticsearch.log 를 살펴보았지만 원인을 찾기 어려웠다.. 계속 디버깅중... 그래서 임시방편이기도 하면서 제일 간단한 방법인 죽으면 자동으로 다시 실행시키는 방법을 적용해보기로했다. 리눅스에는 크론탭(crontab)이라고해서 자동으..
[챗봇] faiss로 빠르게 유사도 검색하기(Similarity Search)
Faiss 는 Facebook AI 에서 개발한 유사도 검색 모델이다. 밀집 벡터의 효율적인 유사성 검색 및 클러스터링을 위한 라이브러리입니다. Faiss 는 numpy 나 torch 에서 제공해주는 cosine_similarity 보다 훨씬 빠릅니다. 빠른 이유는 벡터들 간의 연관성까지 포함하여 임베딩 정보를 가지고 있기 때문입니다. 즉, 벡터 길이(n)가 고정되어 있을 경우에는 빠른속도를 기대할 수 있지만 매번 다른 벡터들일 경우엔 매번 벡터간 연관성 계산 + 유사도 계산이 필요하기 때문에 기존 numpy 함수를 사용하는 것이 더 빠릅니다. 즉 faiss 는 길이(n)를 제한하는 대신 미리 벡터끼리의 정보를 계산해두고 그것을 이용하여 빠르게 검색합니다. ( 틀리면 마구마구 지적 부탁드립니다. ) 실습..
[NLP]. 임베딩 벡터(embedding vector)를 문자열로 저장하는 방법(feat. byte type , base85 )
Bi-Encoder의 장점은 임베딩한 벡터를 미리 연산을 해두어 속도가 빠르다는 장점이 있다. 여기서 임베딩값들을 메모리(RAM) 자원에 가지고 있는 것이 가장 좋지만 전 포스팅에서 이야기하였듯이 높은 메모리는 곧 서버 비용이다. 비용 절감을 위해서 벡터를 문자열로 변환해서 RDBMS에 저장해서 불러오는 방식으로 구현하기로했다. flaot 형식으로 저장하지 않고 문자열로 저장하는 이유는 문자열로 저장하는 것이 용량도 적게 들고 768열로 각각의 float를 저장해서 불러오는 것보다. 문자열로 저장한 값을 numpy에 np.fromstring() 매서드를 사용하는 것이 더 효과적이기 때문이다. 하지만 위 방법에는 몇 가지 문제가 있다. 1. 문자열의 길이가 너무 길다. : BERT는 기본적으로 768차원이..
[Mac_M1]. tokenizer install error 해결하기
https://towardsdatascience.com/hugging-face-transformers-on-apple-m1-26f0705874d7 Install Hugging Face Transformers on Apple M1 Along with Tensorflow and Tokenizers Package towardsdatascience.com curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh git clone https://github.com/huggingface/tokenizers pip install setuptools_rust M1 맥북에서 transformer 모델을 설치할때 마다 발생하는 패키지 설치 에러
[Mac_m1]. sentencepiece install error 해결하기
https://github.com/google/sentencepiece/issues/608 Add Mac M1 Compatibility · Issue #608 · google/sentencepiece Hi, Like the most part of Python librairies, SentencePiece won't install on Mac M1 architecture... "A revolution in data science" they said... what a joke, every data science library ... github.com arch -arm64 brew install cmake pip install --no-cache-dir sentencepiece 맥북 m1 너는 진짜 ......
[교육자료]. 파이썬으로 행맨(Hangman) 게임 구현하기
출처 : https://nadocoding.tistory.com/11 파이썬 행맨 (Hangman) 게임 만들기 즐거운 코딩 시간입니다 ! 이번 개발 주제는 '행맨' 게임이구요. 행맨 게임은 다들 아시겠지만 아주 유명한 단어 퀴즈 프로그램입니다. 어떤 단어가 주어지면 그 단어의 길이만큼 빈 칸(밑줄) 이 nadocoding.tistory.com import random 정답리스트 = ['banana','apple','orange','grape','mango'] 누적입력알파벳 = '' 정답 = random.choice(정답리스트) 남은기회 = len(정답) * 2 while(True): print(f"남은 기회는 {남은기회}번 입니다.") 남은기회 -= 1 if 남은기회
[딥러닝]. 효과적인 학습(training) 방법 모음
1. FP32 와 FP16을 적절하게 사용하여 리소스를 절약하여 학습속도를 높힘 Mixed Precision을 이용하여 GPU resource를 효율적으로 사용할 수 있는 방법 https://bo-10000.tistory.com/32 [딥러닝 논문리뷰] Mixed Precision Training (ICLR 2018) NVIDIA와 Baidu에서 연구하고 ICLR 2018에 발표된 논문인 Mixed Precision Training을 바탕으로 정리한 글입니다. 딥러닝 학습 과정에서 Mixed Precision을 이용하여 GPU resource를 효율적으로 사용할 수 있는.. bo-10000.tistory.com 2. 추가 예정