본문 바로가기

프로그래밍

(357)
[Python] cmd 에서 python 인터프리터 진입시 UnicodeDecodeError 아나콘다 프롬프트에서 python 을 입력하여, 파이썬 인터프리터로 진입하려 하였을 때, 아래와 같은 UnicodeDecodeError 가 발생했다. 인터프리터 진입시마다 에러 메시지가 발생하여 꺼림직해서, 검색을 해서 해결책을 찾아봤다. 에러메시지를 보면, read_history_file 함수 안에서 파일을 open 하는 부분에서 에러가 발생하는 것이었다. 스택오버플로우의 한 질문답변에서 원인을 찾았다. %USERPROFILE%/.python_history ( C:\Users\username\.python_history ) 파일(윈도우 환경임. 다른 운영체제는 위치가 다를 것.)에 파이썬 인터프리터 명령이 저장되어 있는데, 이 파일에 한글등이 포함되어 있으면, 파일을 읽는 과정에서 UnicodeDeco..
[Python|OPENAPI] 기상청 기상관측 자료 OPENAPI requests 샘플코드 기상청에서 openapi 로 제공하는 자료를 openapi 를 이용하여, 받아서 활용할 수 있다. 보통 python 으로는 requests 모듈을 이용하여, requests.get(url, params=params) 형식으로 간단하게 가져와서 내용은 json으로 파싱하여 사용하는 것이 익숙한 방법이다. 그런데, 기상청에 회원가입하여 발급받은 apikey 에 requests 에서 자동으로 url encoding 을 해 버리는 특수문자 %와 / 이 포함되어 있었다. 그래서, 기본적인 방법으로는 500 에러가 발생하였으며, 약간의 꼼수 코드가 필요했다. 기상청 게시판을 보니까 비슷한 상황에 있는 사람들이 있는 것도 같아서, 내가 사용하여 성공한 코드를 포스팅한다. 사용한 코드 스니펫( 즉 아래의 noq_Ses..
pandas 의 read_excel 읽기 속도를 좀 더 빠르게 하는 방법 출처 : https://stackoverflow.com/questions/50695778/how-to-increase-process-speed-using-read-excel-in-pandas pandas 의 read_excel 읽기 속도를 좀 더 빠르게 하는 방법 읽을 행과 열의 수를 제한한다 parse_cols, skip_footer 인자를 이용하여 행과 열의 갯수를 제한할 수 있다. 이렇게 하면 읽기 시간을 줄일 수 있고, sheetname = None 인 경우에도 잘 동작한다. 예를 들면, 다음과 같이주면, 첫 3 컬럼, 그리고 100줄짜리 시트라면, 처음 20줄만 읽어들이게 된다. df = pd.read_excel('file.xlsx', sheetname=None, parse_col..
[Colab] TPU 사용 훈련시 에러. ValueError: Operation 'tpu_140644740262992/VarIsInitializedOp' has been marked as not fetchable. google colab 을 이용하면, 비싼 GPU 머신을 구입하지 않고, 구글이 너그럽게 제공해 주는 GPU와 TPU를 이용하여 간단한 훈련을 할 수 있다. 간단한 이미지분류모델을 케라스로 작성하여, colab 에서 실행해 보았는데, 노트북에서 실행한다는 제약이 있지만, 아주 만족스러웠다. GPU로 실행하는 것은 코드 변경도 필요없이 실행환경 런타임에서 GPU만 선택하면 됐다. 하지만 실행환경을 TPU로 선택하는 것만으로 TPU를 활용할 수는 없었다. TPU를 사용하기 위해선 코드를 조금 변경하여야 한다. (자세한 내용을 변경될 수도 있고, colab에서 제공하는 예제 노트북에 너무 잘 나와있으므로 생략.) 환경변수를 확인하고, 만들어진 케라스모델을 keras_to_tpu_model 함수를 이용하여 tp..
Prophet plot 그래프 설명 prophet plot 그래프 설명 https://mikulskibartosz.name/prophet-plot-explained-31df79087e24 Bartosz Mikulski 2018-11-14 Prophet 이 만들어낸 플롯을 보고 당황했다. 문서에서 설명을 찾아봤지만 없었다. 구글링을 해도, 스택오버플로우에서조차 설명을 찾을 수 없었다. 이해하기를 포기하거나, 아니면, 소스코드를 파보는 두가지 방법 밖에 없었다. 다행히도 prophet 의 plot 함수 소스코드를 보니, 모든 것이 명확해졌다. 예제 문서를 보면, 위키백과의 Peyton Manninng 페이지의 일간 페이지뷰 로그를 입력데이터로 사용한다. 첫번째 단계로, 데이터셋을 다운로드하고, 라인플롯으로 플로팅해 보았다. import fbp..
[Python|Prophet] fbprophet 윈도우에 설치하기 알림 : 2021년 5월 이름이 바뀐 prophet 패키지에서도 유사한 에러가 발생하며, 같은 방식으로 문제 해결이 가능합니다. Anaconda 를 이용한 설치. 매우 간단한 방법은 Anaconda 에서 conda install 을 통해 설치하는 것이다. fbprophet 은 conda-forge 채널에 있으므로, 해당 채널을 인스톨명령에서 지정하여 설치한다. conda install -c conda-forge fbprophet Anaconda가 아닌 바닐라 파이썬에서 설치. Anaconda 가 아닌 바닐라 파이썬 에 pip 명령으로 설치하고자 할 때는, 종속된 pystan 패키지 설치 때문에 매우 고달프다. 어쨌든 가장 간단해 보이는 방법을 소개한다. 성공한 파이썬의 버전은 3.6 64비트 이고, 3...
[GENSIM] LDA 주제 분포 기준 문서간 유사도를 비교하는 방법 google gensim 그룹스에 How to compare the topical similarity between two documents fromo their LDA topic distributions? 란 질문이 올라왔음. 그 타래 중에 일부를 번역한다. 코사인 유사도 보다 쿨백-라이블러( kullback-leiber divergence )가 더 적절할지 모른다. - Victor Wang gensim 튜토리얼에 따르면, Kullback-Leibler divergence 가 코사인 유사도 보다 더 적절한 유사도이다. https://radimrehurek.com/gensim/tut3.html "코사인 유사도는 벡터스페이스모델에서의 표준적인 방식이지만, 벡터가 확률분포를 나타낼 때에는 다른 유사도 측정방..
windows 에서 pytorch / autokeras 설치하기 2019-03-26 포스팅최초작성 : pytorch 나 autokeras 등은 버전이 바뀌면서 설치방법이 바뀔 수 있기 때문에, 본 포스팅을 보는 시점이 작성시점과 너무 차이가 난다면, 다른 방법을 검색하십시오. 2019-07-09 버전변경에 따른 주의사항 : 현재 최신버전인 autokeras 4.0.0 버전에서는 torch 디펜던시 버전이 1.0.1.post2 로 바뀌면서, 윈도우에서의 설치는 불가능한 것으로 보입니다. 아래 lay님과의 댓글을 참조. 본 포스팅의 내용을 따라해 보려면, pip install "autokeras