본문 바로가기

파이썬(Python)/파이썬 관련5

[Hugging Face🤗] Padding & Truncation 정리 보통 transformers에서 커스텀 LLM 모델을 만들 때, tokenizer도 미리 pretrained되어있는 모델을 주로 사용한다. 예를들어 RobertaTokenizer를 사용한다고 가정해보자. from transformers import RobertaTokenizer #tokenizer tokenizer = RobertaTokenizer.from_pretrained('roberta-base',sep_token = '') 보통은 텍스트 데이터를 모델에 입력할 때, 모든 텍스트의 길이를 통일시켜 주는 경우가 많다. 하지만 문장의 길이가 모두 다르기 때문에 통일을 시켜 주는데, 이때 해주는 작업이 padding 작업이다. Padding은 짧은 문장을 길게 늘일때 사용하는 기법으로, 예를들어 입력 문.. 2023. 6. 28.
GPU 메모리 확보하기 모델을 돌릴 때 OutofMemory error가 발생하는 경우가 있다. 보통은 이런 경우에는 - 커널을 재시작하기(나도 모르게 모델이 여러개 올라가 있는 경우가 있다) - 사용하지 않는 변수를 제거하기 - Batch size를 줄여서 학습해보기 - 모델 자체의 네트워크 사이즈를 줄여보기 - inference 단계에서는 자동미분(torch.no_grad()) 사용하기 를 하는 경우가 일반적이지만, torch에서 캐쉬를 지워주는 함수도 사용해 볼 수 있다. 사용 방법은 torch.cuda.empty_cache()를 실행시켜 주면 된다. 2023. 6. 13.
Selenium으로 웹사이트(디시인사이드) 크롤링하기 이번 포스트에서는 Selenium으로 국내 온라인 커뮤니티중 하나인 DC Inside(디시인사이드)를 크롤링하는 방법에 대해 정리하고자 합니다. 일반적으로 웹에서 데이터를 가져올 때 해당 사이트에서 제공하는 공식 API가 있으면 가장 좋지만, 그렇지 않은 경우에 request와 BeautifulSoup을 이용해서 크롤링을 진행할 수 있습니다. 하지만 request를 사용하는 경우 sleep()을 사용했음에도 불구하고 접속 차단을 하는 사이트가 존재합니다. 또한 크롤링 타깃 사이트가 동적페이지인 경우, request를 이용하여 동적 페이지를 크롤링 못하는 건 아니지만(예시 : 네이버 데이터랩 크롤링) 개인적으로 다른 사이트에 적용 해 보았을 때 잘 안 되는 경우가 있었습니다. 이러한 경우에는 request.. 2023. 4. 15.
Pytorch 버전 확인하기 코딩을 하다가 'pytorch-lightning' 이라는 라이브러리를 사용해보려고 설치했는데 무슨 "Segmentation fault (core dumped)" 라는 에러가 뜨기도 하고 "Import error ~ undefined symbol ~~" 과 같은 에러도 발생해서 StackOverflow,Github, 등등을 돌아다니던 중 유용한 코드가 있길래 가져왔습니다! $python -m torch.utils.collect_env 위 커맨드를 입력하면 Pytorch의 버전은 물론 CUDA 버전 및 torch.cuda.is_available() 의 정보도 알려주며 torch와 관련된 라이브러리의 버전 정보까지(중요) 알려줍니다. 상당히 종합적인 정보를 볼 수 있어서 버전 충돌과 같은 이슈를 해결하는데 어.. 2021. 11. 5.
[Python] 가상환경(Virtual Environment) 세팅하기 어느 날 평화롭게 코드를 짜던 도중 예상치 못한 오류가 발생했다. 에러의 내용을 살펴보면 새롭게 설치한 라이브러리가 하나 있는데, 해당 라이브러리를 설치하는 과정에서 기존에 설치한 라이브러리의 버전을 바꾸게 되었고, 그 결과로 기존에 깔려있던 다른 라이브러리와 버전 호환이 안된다는 내용이었습니다..ㅜㅜ 지금까지 그냥 하나의 환경에서 잘 쓰고 있던 나에게는 당장 급하게 가상 환경을 세팅 해야만 했습니다. 그래서 이왕 가상 환경을 세팅하는 겸, 나중에 또 찾아볼것이 명확하기에 이참에 정리 해 보고자 합니다. 본 포스트에서 다루는 내용은 다음과 같습니다. 가상환경 생성 및 실행 (종료 포함) 가상환경 복사 설치한 가상환경 목록 확인 가상환경 삭제 1. 가상환경 생성 및 실행(종료) 새로운 가상환경을 만들기 위.. 2021. 8. 4.