Skip to content

Latest commit

 

History

History
152 lines (95 loc) · 6.3 KB

README.md

File metadata and controls

152 lines (95 loc) · 6.3 KB

KKB TEAM Kaggleリポジトリ

バージョン管理規則

pushやmergeについて

このリポジトリは,メンバーがありとあらゆるところにpushできるようになっていますが,それをやるととても大変なことになるので,必ず適切なbranchを用意してそこからpullrequestを出してチームのメンバーに見てもらってからマージするようにしてください.ここでいうチームとは例えばモデル班,前処理班などのことも指します.

branch

origin masterは本提出用のbranch,origin developは開発branchです.origin developに基本的にみんなのコードをmergeしていく形にして,みんなで話し合って最終提出するコードをmasterにmergeしていく形にします.なので基本的にorigin developからbranchを切ってください.あとorigin develop含め,みんなが使いそうなbranchは原則動くコードがある状態にしてください.

特にgit push origin mastergit push origin develop絶対にやらないようにお願いします.

作業例

モデル作成チームがモデルの改良をすることを考える.

※初めてdevelopブランチに入る時,

git checkout -b develop origin/develop

これでdevelopブランチは,originのdevelopブランチを示すことになる.これやんないとコミットログいかれる.

developブランチからブランチを切る.どこからブランチ切るかは割と重要.デフォルトではcheckoutすると,直前にいたブランチから切られるはず(要検証).参考

git checkout develop
git checkout -b model
git checkout -b fix_pool

こうすればdevelopから切れてmodelにいって,modelから切れてfix_poolに飛べるのかな?

ここで作業する.作業後,

git add (file)
git commit -m "message"
git push (remote名) fix_pool

この後,このfix_poolをmodelブランチにプルリク出す.modelチームメンバーと相談して適切な変更だと思ったらmodelにマージ.そのあとdevelopにプルリクを出してみんなで相談して適切な変更だと思ったらdevelopにマージ.

マージに関してはコンフリクト等の問題があるので柔軟にやる.

Google Colab環境構築

  1. このブログを参考に,各自のdriveにリポジトリをcloneする.ここでcloneする先は"gdrive/My Drive/KKB-kaggle/"とすること!!!"gdrive/My Drive/"と入力してしまうとあなたのGoogle Driveのファイル全てがgit追跡の対象になります.

  2. /KKB-kaggle/terminal.ipynbというnotebookを作成する(ローカルでjupyter notebookを用いてterminal.ipynbというnotebookを作成し,/KKB-kaggle/にアップロードするのがいいかも?).terminal.ipynbはgitに追跡されないように.gitignoreに登録されています.

  3. terminal.ipynbに 以下のセルを追加し,毎回実行するようにする.

from google.colab import drive
drive.mount('/content/gdrive/')
%cd gdrive/My\ Drive/KKB-kaggle/

KKB-kaggleでgitなどのターミナル操作を行う際は,以後このnotebookで行うようにしましょう.(!git add .など)

これ以降の操作は,各コンペのディレクトリのREADMEを読んでください.

ローカル環境構築(WIPです.無視してください)

ローカル環境の構築は現在推奨していません.WIPです. 以下の方法ではなく, Colabで環境構築する方法を採用してください.

基本的にGoogle Colabのバージョンと完全一致させます.自分の環境ではうまくいったけどXXさんの環境ではうまくいかなかったということがないように,統一をよろしくお願いします.特に深層学習のフレームワークではそういうことが起こりがちです.

Pythonバージョン

Python 3.6.9

※Python環境の構築については,下の方に書いてあります.

必要なpipモジュールのインストール方法

pip3 install -r requirements.txt

何度もいいますがモジュールのバージョンの統一をよろしくお願いします.

指定したPythonバージョンの設定方法

MacOSの場合

HomeBrewでは旧バージョンのPythonがインストールできないのでpyenv virtualenvを使って環境構築をします.Anacondaでも環境分けできるならそれでもいいですが,ここには書きません.一番避けるべきはcondaでインストールしたものとpipでインストールしたものが同一環境内に混在することです.

まずはpyenvとpyenv-virtualenvをインストールします.

brew update
brew install pyenv
brew install pyenv-virtualenv

Python3.6.9の環境をインストールします

pyenv install 3.6.9

もしこれに失敗するようだったら

brew update pyenv

を実行しましょう.

そしたら

cd ~

とホームディレクトリに移動し,pyenv.bashというファイルを作成してそこに,

export PYENV_ROOT=$HOME/.pyenv
export PATH=$PYENV_ROOT/bin:$PATH
eval "$(pyenv init -)"

と書き込みます.そして

source ~/pyenv.bash

とすると,pyenvでインストールしたpython3.6.9環境が使えるようになります.これはターミナルを立ち上げるたびに実行しましょう..bash_profile等に書いてもいいですが,個人的にはシステムのPython環境と分けたいのでいつもこうしてます.

これを実行する前とあとでwhich python3の実行結果が変わっていることから,違うPython環境が利用されていることがわかります.

そうしたら

pyenv virtualenv 3.6.9 KKB-kaggle
pyenv activate KKB-kaggle

を実行しましょう.そうすることでKKB-kaggle用の環境に入ります.ここで

pip3 install -r requirements.txt

を入力すると,必要なモジュールが全て入ります.