본문 바로가기
반응형

컴퓨터50

PYTHON으로 GMAIL 보내는 법 (메일 자동화) 최근 아침 마다 확인할 작업들이 생겨서 자동화로 매일 아침 메일 알람을 주었음 해서 관련 코드를 찾아보았다. 파이썬 SMTP 라이브러리 활용하면 코드로 메일을 보낼 수 있다고 한다. gmail이 그래도 api도 많이 공개돼 있고 쉬울 것 같아 여기선 gmail에 대해서만 다루도록 하겠다. (코드 아래 유의 사항 참조!) 전송 방법은 아래와 같으며, 아래 코드에서 (*) 표시된 부분들만 각자 필요에 맞게 수정해서 쓰면 되겠다. import smtplib from email.mime.text import MIMEText # (*)보낼 메일의 내용과 제목 content = """ 임시 내용 """ title = '메일 제목' msg = MIMEText(content) msg['Subject'] = title .. 2022. 11. 28.
[에러] TypeError: dropout(): argument 'input' (position 1) must be Tensor, not str 모델 학습 중에 다음과 같은 오류가 발생했다. 뭔가 해서 계속 구글링을 해봤는데, transformer 버전 변경에 따른 오류였다.. 사실 필자의 잘못인 게, 돌린 모델의 requirements를 설정해주지 않고 그냥 내 맘대로 돌리려다 보니 발생한 문제였다.. transformer 3.xx 버전을 요구하는 모델인데, 본인은 그냥 새로 설치하고 4.xx 버전을 사용했더니 위와 같이 오류 발생.. requirements 파일 대로 다시 환경 설정을 해주어도 되지만(그게 맞지만) 우선 아래와 같이 인자를 추가한 후 실행하니 잘 돌아가서 그냥 쓰련다. ㅎㅎ 핵심은 4.xx버전에서는 pre-trained 모델 불러올 때 인자로 return-dict를 false로 설정해주는 것이다. https://huggingf.. 2022. 7. 5.
[에러] ... cannot open shared object file: No such file or directory colab에서 python으로 실행가능한 Unitex 프로그램을 가동시키려는 와중에 위와 같은 오류가 발생했다. libunitex.so: cannot open shared object file: No such file or directory 해결책은 단순했다. ldconfig 실행하니 에러가 사라졌다. 구글에 검색했을 땐, 보통 라이브러리를 재설치 하면 해결된다고 한다. 근데 필자의 경우, pypi에 공유되는 라이브러리가 아닐 뿐더러, git에서 받은 파일을 토대로 setup.py로 직접 설치하는 방식인데다, 여러번 다시 해봐도 해결이 되지 않았는데, ldconfig 한 방에 해결되었다.. so 확장자는 찾아보니 'shared object'로 c, cpp 파일이 컴파일될 때 생성되는 object 파일의 .. 2022. 7. 5.
Porter Stemmer(포터 스테머)를 만들어보자! 영어 자연어처리를 위한 전처리 과정에서는 동사의 어간을 추출하기 위한 'stemming' 과정이 포함되기도 합니다. 영어는 굴절어로 분류되며, 그 특징을 동사에서 발견할 수 있습니다. 물론 명사나 형용사에서 나타나는 접사들의 결합 여기에 포함될 수 있습니다. 동사의 경우만 살펴보자면, 예를 들어, say, says, saying, said는 say가 문장의 시제나 상(aspect), 태(voice)를 나타내기 위해 굴절이 일어난 형태입니다. 말뭉치(corpus) 내에서 통계를 분석할 때, 필요에 따라 이들은 모두 같은 단어인 'say'가 굴절한 형태로 보고 통계 수치가 측정되어야 할 것입니다. 이를 위해서 굴절 어미인, -s, -ing, -(e)d 등을 제거하여 say(sai)와 같은 어간(stem)만을.. 2021. 4. 22.
[알고리즘] 백준. 행렬 제곱 #10830 백준 단계별로 풀어보기 분할 정복 카테고리의 문제 중 10830번 문제인 '행렬 제곱'문제를 풀어보았습니다. 문제 크기가 N*N인 행렬A의 B제곱을 구하는 코드를 작성하라. 이때 $A^{B}$의 원소를 1000으로 나눈 나머지를 출력한다. 첫째 줄에 N과 B가 주어진다. (2 ≤ N ≤ 5, 1 ≤ B ≤ 100,000,000,000) 둘째 줄부터 N개의 줄과 N개의 행렬이 주어진다. #예시 2 5 1 2 3 4 로 주어지면 2 x 2 행렬 A = 1 2 3 4 A^5(B=5)를 구하면 된다. 접근법 첫번째 시도. 우선 B가 매우 큰 값이 올 수 있기 때문에 A의 B제곱에서 제곱 수인 B를 줄일 수 있는 방법을 고민했다. 즉, A를 B번 곱하는데, 이를 B보다 적게 곱하게 하고 싶었다. 분할 정복 문제이.. 2021. 1. 19.
블랙 서바이벌 영원회귀 리뷰글 분석(EDA) (feat. 도배글 처리) 최근 인기를 끌고 있는 게임 블랙 서바이벌 영원회귀의 steam 리뷰글에 대한 분석을 해보고자 한다. 전에 했던 보겸 유튜브 제목 EDA와 비슷한 방식으로 진행해보고자 한다. 실제 코드들은 아래 아래 글에서 확인해 볼 수 있다. skyjwoo.tistory.com/entry/%EC%9E%90%EC%97%B0%EC%96%B4-%EC%B2%98%EB%A6%AC-EDAExploratory-Data-Analysis 자연어 처리 EDA(Exploratory Data Analysis) EDA란? Exploratory Data Analysis의 약자로 데이터의 실질적인 분석 및 데이터를 활용한 작업 이전에 데이터의 분포 등 대략적인 정보를 파악하기 위한 작업. 이름에서도 알 수 있듯이 데이터를 탐색하 skyjwoo... 2021. 1. 4.
반응형