본문 바로가기

A. Development/for Machine Learning4

Numpy Optimization and Parallelization 1. 문제상황 [100000, 1000] 크기의 matrix를 10만차원 축으로 cumsum을 했더니 약 2.3초가 걸려서 이를 더 빠르게 하고싶음. 기본 실험: 해당 matrix에 대해서 np.sum과 np.cumsum 을 수행해봄. 3번과 4번 cell에서는 cumsum을 한번에 모든 dim에대해 한것과 하나씩 바꿔가면서 한 실험 결과임 cumsum의 경우 메모리에 writing하는 연산이 많아 sum보다 많이 느림. 그런데 3번과 4번에서 속도차이가 나는 것이 이상해서, inplace cumsum으로 바꾸니 속도가 동일해짐. 2. C로 최적화?여기서 더 빠르게 하기 위해, Numpy를 C로바꾸면 더 빨라질까? 결론은 Numpy가 C보다 더 빠르다,. Python VS C https://medium... 2020. 1. 17.
Pytorch 개발 팁 Pytorch 설치하기 Pytorch를 설치하는 가장 간편한 방법은 conda를 이용하는 것이다. conda의 설치 및 사용 방법은 다음을 참조하길 바란다. conda가 이미 있다면 아래의 명령을 실행하면 최신 버전의 pytorch가 설치된다. 이때 -c 옵션을 주는 것이 중요하다. 이는 pytorch채널에서 해당 라이브러리를 탐색하여 설치한다는 의미이다. 다른 pytorch 버전을 설치하고자하면, 공식 홈페이지를 참조하자. conda install pytorch -c pytorch Multi-GPU 환경에서 특정 GPU만 default로 사용하기 bash에서 다음을 실행 export CUDA_VISIBLE_DEVICES=4 혹은 python에서 다음을 실행 os.environ["CUDA_VISIBLE_.. 2020. 1. 16.
Pandas Pandas 팁 데이터 분석을 하다보면 numpy보다 pandas가 더 편한 경우가 종종있다. 물론 연산 속도는 numpy가 훨씬 빠르다. 1. SettingWithCopyWarning 해결하기 Pandas 에서 특정 row의 특정 column에 value를 집어 넣을 때 흔히 발생하는 에러이다. 이는 문법적으로 iloc함수에 대한 python에서 해석이 불분명하기 때문에 발생한다. Indexing and selecting data - pandas 0.25.0 documentation 해결 방법은 매우 간단하다. 아래와 같이 iloc대신 loc를 사용하면 된다. How to deal with SettingWithCopyWarning in Pandas? # Groupby 특정 column을 지정하고, 해당.. 2018. 6. 29.
Numpy 문법, API, 환경설정 / HDF5를 위한 H5PY API Numpy 기본 레퍼런스 http://docs.scipy.org/doc/numpy/reference/ # Numpy object 인지 type check하기 type(a).__module__ == np.__name__ True https://stackoverflow.com/questions/12569452/how-to-identify-numpy-types-in-python # 잘 모르는 유용한 method - np.triu: upper triangle matrix를 만든다.( == lower triangle을 0으로 만든다) - np.tril: lower triangle matrix를 만든다.( == lower triangle을 0으로 만든다) - np.cumprod: 주어진 axis로 cumulativ.. 2015. 12. 1.