All Projects → teddylee777 → docker-kaggle-ko

teddylee777 / docker-kaggle-ko

Licence: other
머신러닝/딥러닝(PyTorch, TensorFlow) 전용 도커입니다. 한글 폰트, 한글 자연어처리 패키지(konlpy), 형태소 분석기, Timezone 등의 설정 등을 추가 하였습니다.

Programming Languages

Jupyter Notebook
11667 projects
Dockerfile
14818 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to docker-kaggle-ko

Kaggle-Competition-Sberbank
Top 1% rankings (22/3270) code sharing for Kaggle competition Sberbank Russian Housing Market: https://www.kaggle.com/c/sberbank-russian-housing-market
Stars: ✭ 31 (-32.61%)
Mutual labels:  kaggle, xgboost, lightgbm
HumanOrRobot
a solution for competition of kaggle `Human or Robot`
Stars: ✭ 16 (-65.22%)
Mutual labels:  kaggle, xgboost, lightgbm
Apartment-Interest-Prediction
Predict people interest in renting specific NYC apartments. The challenge combines structured data, geolocalization, time data, free text and images.
Stars: ✭ 17 (-63.04%)
Mutual labels:  kaggle, xgboost, lightgbm
Mlbox
MLBox is a powerful Automated Machine Learning python library.
Stars: ✭ 1,199 (+2506.52%)
Mutual labels:  kaggle, xgboost, lightgbm
MSDS696-Masters-Final-Project
Earthquake Prediction Challenge with LightGBM and XGBoost
Stars: ✭ 58 (+26.09%)
Mutual labels:  kaggle, xgboost, lightgbm
fast retraining
Show how to perform fast retraining with LightGBM in different business cases
Stars: ✭ 56 (+21.74%)
Mutual labels:  kaggle, xgboost, lightgbm
Open Solution Home Credit
Open solution to the Home Credit Default Risk challenge 🏡
Stars: ✭ 397 (+763.04%)
Mutual labels:  kaggle, xgboost, lightgbm
Benchmarks
Comparison tools
Stars: ✭ 139 (+202.17%)
Mutual labels:  kaggle, xgboost, lightgbm
kaggle getting started
Kaggle getting started competition examples
Stars: ✭ 18 (-60.87%)
Mutual labels:  kaggle, xgboost
kaggle-plasticc
Solution to Kaggle's PLAsTiCC Astronomical Classification Competition
Stars: ✭ 50 (+8.7%)
Mutual labels:  kaggle, lightgbm
kaggle-code
A repository for some of the code I used in kaggle data science & machine learning tasks.
Stars: ✭ 100 (+117.39%)
Mutual labels:  kaggle, xgboost
autogbt-alt
An experimental Python package that reimplements AutoGBT using LightGBM and Optuna.
Stars: ✭ 76 (+65.22%)
Mutual labels:  kaggle, lightgbm
kaggle-berlin
Material of the Kaggle Berlin meetup group!
Stars: ✭ 36 (-21.74%)
Mutual labels:  kaggle, xgboost
Open Solution Mapping Challenge
Open solution to the Mapping Challenge 🌎
Stars: ✭ 291 (+532.61%)
Mutual labels:  kaggle, lightgbm
Data Science Competitions
Goal of this repo is to provide the solutions of all Data Science Competitions(Kaggle, Data Hack, Machine Hack, Driven Data etc...).
Stars: ✭ 572 (+1143.48%)
Mutual labels:  kaggle, xgboost
Allstate capstone
Allstate Kaggle Competition ML Capstone Project
Stars: ✭ 72 (+56.52%)
Mutual labels:  kaggle, xgboost
Lightgbm
A fast, distributed, high performance gradient boosting (GBT, GBDT, GBRT, GBM or MART) framework based on decision tree algorithms, used for ranking, classification and many other machine learning tasks.
Stars: ✭ 13,293 (+28797.83%)
Mutual labels:  kaggle, lightgbm
kaggle-recruit-restaurant
🏆 Kaggle 8th place solution
Stars: ✭ 102 (+121.74%)
Mutual labels:  kaggle, lightgbm
Home Credit Default Risk
Default risk prediction for Home Credit competition - Fast, scalable and maintainable SQL-based feature engineering pipeline
Stars: ✭ 68 (+47.83%)
Mutual labels:  kaggle, xgboost
Kaggle Competition Favorita
5th place solution for Kaggle competition Favorita Grocery Sales Forecasting
Stars: ✭ 169 (+267.39%)
Mutual labels:  kaggle, lightgbm

deepko

deepko (DEEP learning docker for KOrean) 는 파이썬(Python) 기반의 데이터 분석 / 머신러닝 / 딥러닝 도커(docker) 입니다.

  • 파이썬 기반의 데이터 분석, 머신러닝, 딥러닝 프레임워크의 상호 의존성 충돌을 해결 후 배포합니다.

  • 한글 폰트, 한글 자연어 처리(형태소 분석기) 를 위한 라이브러리가 사전에 설치되어 있습니다.

  • GPU 를 지원합니다 (LightGBM, XGBoost, PyTorch, TensorFlow).

  • 도커를 통한 빠른 설치와 실행이 가능합니다.

개요

TensorFlow 의 tensorflow/tensorflow:2.12.0rc1-gpu-jupyter의 도커를 베이스로 확장하여 GPU 전용 Docker파일(gpu.Dockerfile)을 구성하였습니다.

TensorFlow에서 유지보수하고 있는 2.12.0rc1-gpu-jupyter 도커의 경우 한글 형태소 분석기나 한글폰트, 그 밖에 PyTorch를 비롯한 여러 머신러닝/딥러닝 라이브러리가 제외되어 있기 때문에 필요한 라이브러리를 추가 설치하고 의존성에 문제가 없는지 확인한 후 배포하는 작업을 진행하고 있습니다.

본 Repository를 만들게 된 계기는 안정적으로 업데이트 되고 있는 tensorflow/tensorflow-gpu-jupyter에 기반하여 한글 폰트, 한글 자연어처리 패키지(konlpy), 형태소 분석기(mecab), Timezone 등의 설정을 추가하여 별도의 한글 관련 패키지와 설정을 해줘야 하는 번거로움을 줄이기 위함입니다.

테스트된 도커 환경

  • OS: Ubuntu 20.04
  • GPU: RTX3090 x 2 way
  • CUDA: 11.8 (2023년 03월 18일 업데이트)
  • Python (anaconda): 3.8

CUDA 11.8 업데이트 방법

링크: https://teddylee777.github.io/linux/ubuntu2004-cuda-update/

업데이트 내역

업데이트 내역: https://github.com/teddylee777/deepko/wiki/%EB%B2%84%EC%A0%84-%EC%97%85%EB%8D%B0%EC%9D%B4%ED%8A%B8

한글 관련 추가 패키지

  • apt 패키지 인스톨러 카카오 mirror 서버 추가
  • Nanum(나눔) 폰트, D2Coding 폰트 설치
  • matplotlib 에 나눔폰트, D2Coding 폰트 추가
  • mecab 형태소 분석기 설치 및 파이썬 패키지 설치
  • konlpy: 한국어 정보처리를 위한 파이썬 패키지
  • jupyter_notebook_config.py : Jupyter Notebook 설정 파일 추가

설치된 주요 라이브러리

catboost                     1.1.1
cmake                        3.26.0
fastai                       2.7.11
fasttext                     0.9.2
folium                       0.14.0
gensim                       4.3.1
graphviz                     0.20.1
huggingface-hub              0.13.2
hyperopt                     0.2.7
jupyterlab                   3.6.1
kaggle                       1.5.13
keras                        2.12.0rc1
konlpy                       0.6.0
librosa                      0.10.0.post2
lightgbm                     3.3.5
matplotlib                   3.7.1
mecab-python                 0.996-ko-0.9.2
missingno                    0.5.2
mlxtend                      0.21.0
notebook                     6.5.3
numpy                        1.23.5
opencv-python                4.7.0.72
optuna                       3.1.0
pandas                       1.5.3
plotly                       5.13.1
prophet                      1.1.2
pyfasttext                   0.4.6
PyMySQL                      1.0.2
QtPy                         2.3.0
scikit-image                 0.20.0
scikit-learn                 1.2.2
scipy                        1.9.1
seaborn                      0.12.2
sentencepiece                0.1.86
soynlp                       0.0.493
soyspacing                   1.0.17
spacy                        3.5.1
SQLAlchemy                   2.0.6
tensorboard                  2.12.0
tensorflow                   2.12.0rc1
tensorflow-datasets          4.8.3
tokenizers                   0.13.2
torch                        2.0.0+cu118
torchaudio                   2.0.1+cu118
torchdata                    0.6.0
torchsummary                 1.5.1
torchtext                    0.15.1
torchvision                  0.15.1+cu118
transformers                 4.27.1
wandb                        0.14.0
wordcloud                    1.8.2.2
xgboost                      1.7.4

GPU 지원 라이브러리

다음의 라이브러리에 대하여 GPU를 지원합니다.

  1. LightGBM (3.3.5)
  2. XGBoost (1.7.4)
  3. PyTorch (2.0.0) + CUDA 11.8
  4. TensorFlow (2.12.0rc1) + CUDA 11.8

실행 방법

STEP 1: Docker가 사전에 설치되어 있어야 합니다.

도커의 설치 및 사용법에 대하여 궁금하신 분들은 Docker를 활용하여 딥러닝/머신러닝 환경 구성하기 글을 참고해 주세요.

# step 1: apt-get 업데이트
sudo apt-get update

# step 2: 이전 버젼 제거
sudo apt-get remove docker docker-engine docker.io

# step 3: 도커(Docker) 설치 
sudo apt install docker.io

# step 4: 도커 서비스 시작
sudo systemctl start docker
sudo systemctl enable docker

# step 5: 잘 설치 되어있는지 버젼 체크
docker --version

STEP 2: 도커 이미지 pull 하여 서버 실행

상황에 따라 다음 4가지 중 하나의 명령어를 실행하여 도커를 실행합니다. 세부 옵션은 아래를 참고해 주세요.

  • --rm: 도커가 종료될 때 컨테이너 삭제

  • -it: 인터랙티브 TTY 모드 (디폴트로 설정)

  • -d: 도커를 백그라운드로 실행

  • -p: 포트 설정. local 포트:도커 포트

  • -v: local 볼륨 마운트. local 볼륨:도커 볼륨

  • --name: 도커의 별칭(name) 설정

  1. Jupyter Notebook8888번 포트로 실행하려는 경우
docker run --runtime nvidia --rm -it -p 8888:8888 teddylee777/deepko:preview
  1. jupyter notebook 서버 실행과 동시에 로컬 volume 마운트
docker run --runtime nvidia --rm -it -p 8888:8888 -v /data/jupyter_data:/home/jupyter teddylee777/deepko:preview
  1. 도커를 background에서 실행하는 경우 (터미널을 종료해도 서버 유지)
docker run --runtime nvidia --rm -itd -p 8888:8888 teddylee777/deepko:preview
  1. 도커를 실행 후 bash shell로 진입하려는 경우
docker run --runtime nvidia --rm -it -p 8888:8888 teddylee777/deepko:preview /bin/bash

[참고]

jupyter_notebook_config.py 을 기본 값으로 사용하셔도 좋지만, 보안을 위해서 비밀번호 설정은 해주시는 것이 좋습니다.

비밀번호 설정 방법, 방화벽 설정 방법은 Docker를 활용하여 딥러닝/머신러닝 환경 구성하기 글의 STEP 5, 7을 참고해 주세요.

[선택] .bashrc에 단축 커멘드 지정

~/.bashrc의 파일에 아래 커멘드를 추가하여 단축키로 Docker 실행

kjupyter{
    docker run --runtime nvidia --rm -itd -p 8888:8888 -v /data/jupyter_data:/home/jupyter --name dl-ko teddylee777/deepko:preview
}

위와 같이 ~/.bashrc 파일을 수정 후 저장한 뒤 source ~/.bashrc로 파일의 내요을 업데이트 합니다.

추후, 긴 줄의 명령어를 입력할 필요 없이 단순하게 아래의 명령어로 도커를 백그라운드에서 실행 할 수 있습니다.

kjupyter

추가 파이썬 패키지 설치 제안은 issue 에 남겨주세요!

감사합니다.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].