予想通り不合理 -FXと機械学習と-

FXの自動売買や機械学習、その他勉強したことをシェアします

Kaggle -Google Cloud & YouTube-8M Video Understanding Challenge- まずは登録③

kapiparaです。

 

ようやくGCEのインスタンス作成が完了したので、Kaggleのサンプルソースを叩いてpredictionデータの作成、submitまで行こうと思います。

 

SSHで接続して気づいたが、

      「環境構築しないといけない?」

 

kapipara18@kaggle1:~$ python --version
Python 2.7.12+

 

おうおう。

 

kapipara18@kaggle1:~$ pip list
The program 'pip' is currently not installed. To run 'pip' please ask your administrator to install the package 'python-pip'

 

あ”-....

Cloud shellとおんなじ設定でいいのでそのままインスタンス作成できればいいのに....

 

sudo apt-get update
sudo apt-get upgrade
sudo apt-get -y install python-pip

pip download tensorflow
pip install --user -U tensorflow*.whl

 

kapipara18@kaggle1:~$ pip list
DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.
appdirs (1.4.3)
boto (2.40.0)
chardet (2.3.0)
crcmod (1.7)
funcsigs (1.0.2)
google-compute-engine (2.2.4)
mock (2.0.0)
numpy (1.12.1)
packaging (16.8)
pbr (2.0.0)
pip (9.0.1)
protobuf (3.2.0)
pyparsing (2.2.0)
requests (2.10.0)
setuptools (34.3.3)
six (1.10.0)
tensorflow (1.0.1)
urllib3 (1.15.1)
wheel (0.29.0)

 

うむ。

ではではgithubのREADMEに戻って。

https://github.com/google/youtube-8m/blob/master/README.md

 

mkdir -p features; cd features
curl data.yt8m.org/download.py | partition=1/video_level/train mirror=asia python

これでDLが始まるのでしばし待機。

 

待機している間に調べもの..

Google Cloud Machine Learning??

Hypertuneでハイパーパラメータのチューニングが手間いらず...だと?

VMインスタンスでしっぽりやろうとしている今の状態。あってる??

ベータ版だけど気になりすぎるので勉強する。

 

curl data.yt8m.org/download.py | partition=1/video_level/validate mirror=asia python
curl data.yt8m.org/download.py | partition=1/video_level/test mirror=asia python

一旦全部DL

 
そして学習

MODEL_DIR=/tmp/yt8m
python train.py --train_data_pattern='./features/train*.tfrecord' --model=LogisticModel --train_dir=$MODEL_DIR/video_level_logistic_model
ディレクトリパスは若干変更。
checkpointを吐いたらすぐにctrl + Cで終了。

python eval.py --eval_data_pattern='./features/validate*.tfrecord' --model=LogisticModel --train_dir=$MODEL_DIR/video_level_logistic_model --run_once=True
で評価。してみたが、validateデータのバッチごとの認識精度を出すだけか。

python inference.py --output_file=$MODEL_DIR/video_level_logistic_model/predictions.csv --input_data_pattern='./features/test*.tfrecord' --train_dir=$MODEL_DIR/video_level_logistic_model
そしてついにprediction.csc作成。

INFO:tensorflow:Done with inference. The output file was written to /tmp/yt8m/video_level_logistic_model/predictions.csv
SSHでつないだコンソールの機能を使って最後にcsvのDLをやったが、これが死ぬほど遅い。びっくりするぐらい遅い。遅いというよりはファイルサイズの問題だと思うが、死ぬほど時間がかかる...
遅すぎるので一旦キャンセルして圧縮。

192439310 Apr  6 15:14 predictions.csv

192439310 Apr  6 15:14 predictions.csv
 76328240 Apr  6 15:14 predictions.csv.gz

約3分の1になった。これでなんとか今日中に行けそうだが..
圧縮したりDLしたりっていう行為自体いまいちな気がする。

ダウンロードが完了したのでKaggleで電話番号の登録をしていざsubmit。

f:id:kapipara18:20170407010113p:plain

うむ。うまくいった。採点中...

f:id:kapipara18:20170407010230p:plain

きた!302位!笑

ようやく名前は載ったので、これから精度向上策をどんどん打っていく。

以上。

style="-moz-user-select: text; position: absolute; top: -99px;">INFO:tensorflow:Done with inference. The output file was written to /tmp/yt8m/video_level_logistic_model/predictions.csv

kapipara18@kaggle1:~/youtube-8m$

kapipara18@kaggle1:~/youtube-8m$