このリポジトリは,メンバーがありとあらゆるところにpush
できるようになっていますが,それをやるととても大変なことになるので,必ず適切なbranchを用意してそこからpullrequestを出してチームのメンバーに見てもらってからマージするようにしてください.ここでいうチームとは例えばモデル班,前処理班などのことも指します.
origin master
は本提出用のbranch,origin develop
は開発branchです.origin develop
に基本的にみんなのコードをmergeしていく形にして,みんなで話し合って最終提出するコードをmasterにmergeしていく形にします.なので基本的にorigin develop
からbranchを切ってください.あとorigin develop
含め,みんなが使いそうなbranchは原則動くコードがある状態にしてください.
特にgit push origin master
やgit 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にマージ.
マージに関してはコンフリクト等の問題があるので柔軟にやる.
-
このブログを参考に,各自のdriveにリポジトリをcloneする.ここでcloneする先は
"gdrive/My Drive/KKB-kaggle/"
とすること!!!"gdrive/My Drive/"
と入力してしまうとあなたのGoogle Driveのファイル全てがgit追跡の対象になります. -
/KKB-kaggle/terminal.ipynb
というnotebookを作成する(ローカルでjupyter notebookを用いてterminal.ipynb
というnotebookを作成し,/KKB-kaggle/
にアップロードするのがいいかも?).terminal.ipynb
はgitに追跡されないように.gitignore
に登録されています. -
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です. 以下の方法ではなく, Colabで環境構築する方法を採用してください.
基本的にGoogle Colabのバージョンと完全一致させます.自分の環境ではうまくいったけどXXさんの環境ではうまくいかなかったということがないように,統一をよろしくお願いします.特に深層学習のフレームワークではそういうことが起こりがちです.
Python 3.6.9
※Python環境の構築については,下の方に書いてあります.
pip3 install -r requirements.txt
何度もいいますがモジュールのバージョンの統一をよろしくお願いします.
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
を入力すると,必要なモジュールが全て入ります.