pip install tweepy==3.10.0
2023년 10월 5일 목요일
2023년 9월 22일 금요일
huggingface 모델의 maximum token length 알아보는 방법
from transformers import AutoConfig
model_name = "EleutherAI/polyglot-ko-5.8b"
config = AutoConfig.from_pretrained(model_name)
max_length = config.max_position_embeddings
print("Maximum input sequence length:", max_length)
2023년 9월 12일 화요일
2022년 12월 29일 목요일
도커 간단 사용법
2022년 12월 12일 월요일
python lists로 dataframe 만들기
- python lists로 dataframe 만들기
- 컬럼명을 key, list를 value로 하는 dictionary로 만든 다음, dataframe으로 만들기
months = ['Jan','Apr','Mar','June'] days = [31,30,31,30] # make dictionary (key = column name, value = list} d = {'Month':months,'Day':days} import pandas as pd df = pd.DataFrame(d)
- source: https://cmdlinetips.com/2018/01/how-to-create-pandas-dataframe-from-multiple-lists/
2022년 12월 6일 화요일
huggingface pipeline 기능을 사용시에 truncate 하는 방법 (에러 : RuntimeError: The size of tensor a (1185) must match the size of tensor b (512) at non-singleton dimension 1))
- 발생 에러
- RuntimeError: The size of tensor a (1185) must match the size of tensor b (512) at non-singleton dimension 1
- input이 model input size보다 더커서 발생하는 문제
- tokenizer 선언히 truncate 설정해줬지만, pipeline 사용할 때는, pipeline 호출 할때, 다시 truncate를 설정해줘야 함
- 해결 방법
from transformers import pipeline model_name = "test_trainer/checkpoint-423" # load model and tokenizer model = AutoModelForSequenceClassification.from_pretrained(model_name) tokenizer = AutoTokenizer.from_pretrained("klue/bert-base", padding=True, truncation=True, max_length=512) classifier = pipeline("text-classification", model=model, tokenizer=tokenizer, device=0) classifier(text, padding=True, truncation=True)
2022년 11월 3일 목요일
[파이썬] 두개의 리스트가 각 index끼리 매칭된 상태로 shuffle 하는 방법
- 상황: 각각 리스트 형태로 된 데이터와 라벨 데이터를 셔플링하고자 할때
- 데이터와 라벨이 매칭된 상태에서 셔플링이 되어야 함
- 방법
- random과 zip을 이용한 방법
- source: https://stackoverflow.com/questions/23289547/shuffle-two-list-at-once-with-same-order
import random a = ['a', 'b', 'c'] b = [1, 2, 3] c = list(zip(a, b)) random.shuffle(c) a, b = zip(*c) print a print b [OUTPUT] ['a', 'c', 'b'] [1, 3, 2]
2022년 10월 24일 월요일
python pickle로 저장하고 불러오기
import pickle data = { 'a': [1, 2.0, 3, 4+6j], 'b': ("character string", b"byte string"), 'c': {None, True, False} } # save with open('data.pickle', 'wb') as f: pickle.dump(data, f, pickle.HIGHEST_PROTOCOL) # load with open('data.pickle', 'rb') as f: data = pickle.load(f)
# sources: https://wikidocs.net/8929
2022년 10월 23일 일요일
[python yaml load 에러] TypeError: load() missing 1 required positional argument: 'Loader'
- 에러 상황: config = yaml.load(f)
- 이유
- 파이썬 pyyaml 버전 문제
- 해결방법
- pip install pyyaml==5.4.1
[python error] ModuleNotFoundError: No module named 'yaml'
- 에러: ModuleNotFoundError: No module named 'yaml'
- 해결방법: pip install pyyaml
2022년 10월 21일 금요일
[ubuntu에서 unzip 갑자기 안될때, 대용량 압축 해제의 경우] End-of-central-directory signature not found. Either this file is not a zipfile, or it constitutes one disk of a multi-part archive
- 에러 발생한 커맨드
- unzip abc.zip
- 에러 메세지
- Archive: abc.zip End-of-central-directory signature not found. Either this file is not a zipfile, or it constitutes one disk of a multi-part archive. In the latter case the central directory and zipfile comment will be found on the last disk(s) of this archive. unzip: cannot find zipfile directory in one of DIETClassifier-openlab.zip or DIETClassifier-openlab.zip.zip, and cannot find abc.zip.ZIP, period
- 해결방법
- jar 패키지 설치
sudo apt-get install fastjar- jar 이용해서 압축 풀기
jar xvf abc.zip
python 코드 상에서 사용하는 gpu 설정법
- python 코드 상에서 사용하는 gpu 설정법
# 파이썬 사용 GPU 설정하기 ```python import os os.environ["CUDA_VISIBLE_DEVICES"]= "1" # Set the GPU 1 to use ```
2022년 10월 20일 목요일
[내장 함수의 명을 사용하는 경우 혹은 동일한 변수명으로 잘못 명명하는 경우] TypeError: '_io.TextIOWrapper' object is not callable
- 에러 발생
- TypeError: '_io.TextIOWrapper' object is not callable
- 이유
- list와 같은 내장 함수를 변수명으로 사용
- f = open('./path','w') 와 f.write("hi") 사이에 f = lambda x: x in exclusion_tags 를 선언하였음
- 변수명 조심 + 변수명은 대충 짓지 말기
[konlpy import시 발생하는 JVM 문제] "JVMNotFoundException: No JVM shared library file (libjvm.so) found. Try setting up the JAVA_HOME environment variable properly"
- 문제
- konply import시 아래와 같은 에러가 발생
- "JVMNotFoundException: No JVM shared library file (libjvm.so) found. Try setting up the JAVA_HOME environment variable properly"
- 해결방법
- sudo apt install default-jdk
[tweepy 패키지 버전 문제] konlpy 패키지 import 에러 해결 (AttributeError: module 'tweepy' has no attribute 'StreamListener')
- 문제
- konlpy import 시 발생하는 tweepy 패키지 버전 문제
- 해결방안
- pip install tweepy==3.10.0
- tweepy를 downgrade하고 3.10.0 으로 재설치하면 해결됨.
2021년 6월 21일 월요일
Do it! (GPT-2부터 자동 신경만 구성까지) 강화학습 입문 서평
역시 Do it! 시리즈!
Do it 시리즈로 하둡을 처음 접하고, 오랜만에 접한 Do it 시리즈는 그간 관심이 있었던, 강화학습이었다.
1. 인공지능 입문(X) → 강화학습 인문(O)
책의 제목은 강화학습 입문이지만, 완전 인공지능 분야 입문자에게는 이 책이 조금 많이 어려울 수 있을 것으로 생각된다. 만약 강화학습을 제외한 다른 딥러닝 분야를 많이 접해본 사람이라면 이 책의 독자로서 가장 적합하다고 할 수 있다. CNN 기반으로 모델도 만들어보고, BERT나 NLP 모델 기반으로 자연어 문제도 해결해 보는 등, 강화학습을 제외한 인공지능 타 분야에 대해서 깊이 알고 있으면 알고 있을수록 이책을 빛을 바란다. 나 또한 이미지, 텍스트 분야에 지도학습, 비지도학습 여러 딥러닝 모델을 개발하고 연구한 경험은 있지만, 강화학습을 거의 처음이었다. 여러 워크샵에서 강화학습 이론을 간단히 접했던 적은 있지만, 익숙하지 않은 이론과 수식의 압박에 포기하고만 말았다. 하지만 이 책은 쉽게 예제를 통해 개념은 쉽게 설명하고, 실제 예제를 통해서 강화학습을 쉽게 접할 수 있게 하였다.
2. 강화학습 인문서(X) → 강화학습 쿡북(O)
GPT-2기반 응답봇, 자율 주행 자동차, NAS 등 강화학습이 적용된 다양한 분야별로 실제 예제를 접할 수 있다. 각 분야별로 깊은 이해보다는 실제로 코드를 돌려보면서 강화학습을 실행해 볼 수 있다. 나는 입문서라기보다는 쿡북 개념인 듯하다. 이 책을 읽으면서 모르는 개념은 구글링을 통해 이론이 잘 정리된 블로그나 논문을 참고하면 더 큰 도움이 될 듯하다. Do it 시리즈 하둡을 할 때도 미리 간단한 개념을 공부하고 Do it 시리즈로 실습을 했던 기억이 있다. 이 책도 강화학습에 대한 간단한 개념을 미리 익히고 이 책을 읽으면서 실습을 한다면 더 큰 도움이 될 듯하다.
3. NAS에 대한 완전 친절한 실습서
AutoML을 공부하면서, NAS를 제대로 정리한 자료나, 특히 튜토리얼을 잘 접할 수가 없었다. 하지만 이 책에서는 가벼운(?) NAS에 속하는 ENAS 실습을 통해서, NAS에 대해서 친절하게 실습할 수 있도록 하였다. 이 책을 읽고나면 ENAS를 활용해서 내 데이터에 가장 적합한 딥러닝 모델을 찾을 수 있게 될 것이다. 이 책을 읽기 전에 대략적으로나마 NAS, AutoML 관련 개념을 알고 있었기에, 이 부분을 쉽게 읽을 수 있었다. 인공지능 분야 초급자라면 이책은 어려울 수 있으나, 인공지능 분야 배경지식이 있는 사람에게 바로 NAS를 자신의 문제 해결에 적용할 수 있게 만들어 주는 책이다.
세줄 요약
- 인공지능 입문자가 아닌 (인공지능에 익숙하지만 강화학습은) 입문인 사람들에게 적합
- 강화학습 이론 관련 블로그나 논문을 함께 보면서 이 책을 읽으면 실력이 향상되면서 실습도 할 수 있는 책
- 자기 원하는 분야에 강화학습을 적용하고 싶을 때, 이 책의 특정 챕터만 봐도 도움이 되는 책
2019년 6월 25일 화요일
FastText
글로브 (Glove)
Word2Vec (워드투벡터) 모델
Word2Vec 모델