나이먹은 고리타분한 아저씨가 되어버린 나...

수학이 무서워서, 새로운 것 배우기가 무서워서 피해다녔는데...

결국은 AI/ML 공부를 할 수 밖에 없게 되어버렸다.


뭐 이제와서 내가 Modeler가 되거나 Data Engineer가 될 것은 아니지만

인프라쟁이이기에 최소한 MLOps 관련되어서는 알아야 하기에

기본적인 AI/ML 공부는 해야하는 상황에 놓여졌다.


항상 SW 공부할 때 나만의 환경에서 CLI 위주로 하는 스타일이었는데...

그래서 AI/ML 공부도 그렇게 해보려고 했는데,

결국은 Jupyter Notebook의 편리함을 이용하지 않을 수가 없었다.


Jupyter Notebook도 나의 환경에서 설치해서 해볼 수 있지만,

최근 GCP를 사용해볼 이유도 있어서

Colab 환경을 사용해보기로 마음 먹었다.


그러던 中 Kaggle 에서 제공해주는 데이터를 Colab에 넣어야할 상황이 벌어졌는데

Colab과 Kaggle을 바로 연결할 수 있는 방법이 있다고 해서

한 번 알아보았다.


1. Colab

    - 구글에서 무료로 제공해주는 훌륭한 머신러닝 개발환경이다.

    - 제공해주는 환경의 스펙이 아래와 같다고 한다. 와우~!! 대박~!!

        . CPU : 제온

        . Mem : 13GB

        . HDD : 320GB

        . GPU : NVidia Tesla K80

    - https://colab.research.google.com/



2. 준비

    - Colab 접속 후 아래와 같이 "파일 - 새 Python 3 노트"를 선택하자.




3. Kaggle 설치

    - "!"를 앞에 붙이면 시스템 명령어를 사용할 수 있다.

    - 타이핑 후 왼쪽의 화살표(?)를 클릭하면 실행된다.




4. Kaggle 인증키 다운로드

    - Colab에서 Kaggle 데이터를 가져오기 위해서는 접근할 수 있는 권한이 있어야 한다.

    - Kaggle 사이트에서 내 계정에 대한 인증키를 얻어보자.



    - "Edit Profile"을 클릭한 다음



    - "Create New API Token"을 클릭하면, "kaggle.json" 파일이 다운로드 된다.



5. 인증키 업로드

    - 다운로드 받은 인증키를 Colab에 업로드하자.



    - 윗 부분의 "+ 코드"를 선택하면 새로운 라인이 추가된다.

    - 아래 코드를 넣은 뒤 왼쪽 플레이 버튼을 누르면 "파일 선택" 버튼이 나온다.


from google.colab import files

files.upload()


    - "파일 선택"을 누른 뒤 아까 다운로드 받은 Kaggle 인증키 파일을 골라주면 위와 같이 나온다.



6. 인증키 복사하기

    - 업로드된 인증키를 정해진 곳에 넣어줘야 한다.

    - kaggle을 위한 디렉토리를 우선 만들어보자.


!ls -al

!mkdir -p ~/.kaggle

!ls -al ~/


    - 인증키를 복사한 뒤 속성 변경까지 해놓자

!cp kaggle.json ~/.kaggle/kaggle.json

!chmod 600 ~/.kaggle/kaggle.json

!ls -al ~/.kaggle/


    - 위와 같이 한 번에 여러 라인을 넣을 수도 있다.



7. Kaggle 데이터 목록

    - Kaggle 데이터 목록을 살펴볼 수 있다.



!kaggle competitions list



8. Kaggle 데이터 확인하기

    - Kaggle 사이트에서 Dataset을 보면 다운로드를 받을 수 있는 API를 확인할 수 있다.




9. Titanic 데이터 다운로드

    - Colab에 다운로드 받아보자.

    - 주의할 점은 시스템 실행을 위해서 항상 앞에 "!"를 붙여야 한다.



모두들 즐거운 머신러닝 생활~~~~!!!

반응형

'잘난놈되기 > AI-ML' 카테고리의 다른 글

Colab에서 Kaggle 데이터 사용하기  (0) 2020.01.24
머신러닝 공부 #1 (Pandas)  (0) 2020.01.04
pandas 환경 만들기 (in Ubuntu)  (0) 2019.12.28


머신러닝에 대해서 공부를 한다고 하면,

예전에는 (아직도) R 등과 같은 수학에 맞춰진 언어를 소개하기도 하지만 대부분은 Python을 추천한다.


사실은 Python이라는 언어 자체가 중요한 것이 아니라

머신러닝을 할 때 필요한 많은 기능(?)들을 제공해주는 라이브러리들이 중요한데

Pandas, Numpy 라이브러리가 워낙에 잘 되어 있어서 Python을 사용하라고 하는 것이다.

물론 Python이라는 언어 자체도 매력적이긴 하지만...



이에 대해서 공부를 하고자 하는 분들에게 드리는 좋은 정보~


Google에서 무려 한국어로 제공해주는 "머신러닝 단기집중과정" 온라인 강좌

https://developers.google.com/machine-learning/crash-course


그 중에서도 Pandas에 대해서 직접 실습해가며 배울 수 있는 정말 멋진 과정

- https://colab.research.google.com/notebooks/mlcc/intro_to_pandas.ipynb?utm_source=mlcc&utm_campaign=colab-external&utm_medium=referral&utm_content=pandas-colab&hl=ko



그런데, 위의 내용 말고도 좋은 강좌가 하나 더 있다.

머신러닝에 대해서 공부하다보면 누구나 알게 되는 Kaggle !!


 Kaggle에서도 Pandas에 대해서 친절한 강좌를 제공해준다.

https://www.kaggle.com/learn/pandas


4시간이면 끝낼 수 있단다~!! ^^ (필자는 멍청해서 4일은 걸릴듯... ㅠㅜ)




모두들 즐거운 머신러닝 공부시간 되세요~


반응형

'잘난놈되기 > AI-ML' 카테고리의 다른 글

Colab에서 Kaggle 데이터 사용하기  (0) 2020.01.24
머신러닝 공부 #1 (Pandas)  (0) 2020.01.04
pandas 환경 만들기 (in Ubuntu)  (0) 2019.12.28


Ubuntu에서 Python3 환경 셋업을 한 뒤에 (https://www.whatwant.com/entry/Python3-환경-만들기-버전-변경하기-in-Ubuntu)

pandas를 사용해보고자 했더니, 에러가 발생...


Traceback (most recent call last):

  File "./test.py", line 4, in <module>

    import pandas as pd

ModuleNotFoundError: No module named 'pandas'




0. 현재 환경


    - 아래 작업을 실행한 환경은 다음과 같다


$ lsb_release -a


No LSB modules are available.

Distributor ID: Ubuntu

Description:    Ubuntu 18.04.3 LTS

Release:        18.04

Codename:       bionic



$ python --version


Python 3.6.9


    - Python 3.7 버전으로 했을 경우에는 아래와 같이 진행하면 충돌(?)이 있다. 3.6 버전으로 진행하길...




1. pandas 설치하기


    - 뭔가 무지막지하게 많이 설치된다.


$ sudo apt-get install python3-pandas


Reading package lists... Done

Building dependency tree

Reading state information... Done

The following additional packages will be installed:

  blt fonts-lyx javascript-common libaec0 libblas3 libblosc1 libgfortran4 libhdf5-100 libjbig0 libjpeg-turbo8 libjpeg8 libjs-jquery libjs-jquery-ui liblapack3 liblcms2-2 libsnappy1v5 libsz2 libtcl8.6 libtiff5 libtk8.6 libwebp6 libwebpdemux2

  libwebpmux3 libxft2 libxrender1 libxss1 python-matplotlib-data python-tables-data python3-bs4 python3-cycler python3-dateutil python3-decorator python3-html5lib python3-lxml python3-matplotlib python3-numexpr python3-numpy python3-olefile

  python3-pandas-lib python3-pil python3-pyparsing python3-scipy python3-tables python3-tables-lib python3-tk python3-tz python3-webencodings tk8.6-blt2.5 ttf-bitstream-vera x11-common

Suggested packages:

  blt-demo apache2 | lighttpd | httpd libjs-jquery-ui-docs liblcms2-utils tcl8.6 tk8.6 python-cycler-doc python3-genshi python3-lxml-dbg python-lxml-doc dvipng ffmpeg gir1.2-gtk-3.0 ghostscript inkscape ipython3 librsvg2-common

  python-matplotlib-doc python3-cairocffi python3-gi-cairo python3-gobject python3-nose python3-pyqt4 python3-sip python3-tornado texlive-extra-utils texlive-latex-extra ttf-staypuft gfortran python-numpy-doc python3-dev python3-numpy-dbg

  python-pandas-doc python-pil-doc python3-pil-dbg python-pyparsing-doc python-scipy-doc python-tables-doc python3-netcdf4 vitables tix python3-tk-dbg

The following NEW packages will be installed:

  blt fonts-lyx javascript-common libaec0 libblas3 libblosc1 libgfortran4 libhdf5-100 libjbig0 libjpeg-turbo8 libjpeg8 libjs-jquery libjs-jquery-ui liblapack3 liblcms2-2 libsnappy1v5 libsz2 libtcl8.6 libtiff5 libtk8.6 libwebp6 libwebpdemux2

  libwebpmux3 libxft2 libxrender1 libxss1 python-matplotlib-data python-tables-data python3-bs4 python3-cycler python3-dateutil python3-decorator python3-html5lib python3-lxml python3-matplotlib python3-numexpr python3-numpy python3-olefile

  python3-pandas python3-pandas-lib python3-pil python3-pyparsing python3-scipy python3-tables python3-tables-lib python3-tk python3-tz python3-webencodings tk8.6-blt2.5 ttf-bitstream-vera x11-common

0 upgraded, 51 newly installed, 0 to remove and 0 not upgraded.

Need to get 35.7 MB of archives.

After this operation, 160 MB of additional disk space will be used.

Do you want to continue? [Y/n]




2. 테스트 코드


    - 잘 동작하는지 살펴보자. 샘플은 Kaggle의 내용을 참조했다.


import pandas as pd

import pprint


pp = pprint.PrettyPrinter(indent=4)


if __name__ == "__main__":


    fruits = pd.DataFrame( [[30, 21]], columns=['Apples', 'Bananas'] )

    pp.pprint( fruits )


    exit(0)


파이팅~!!!

반응형

'잘난놈되기 > AI-ML' 카테고리의 다른 글

Colab에서 Kaggle 데이터 사용하기  (0) 2020.01.24
머신러닝 공부 #1 (Pandas)  (0) 2020.01.04
pandas 환경 만들기 (in Ubuntu)  (0) 2019.12.28

+ Recent posts