Flaskのベストプラクティスの研究

FlaskといえばpythonでさくっとWebアプリをつくれるフレームワークです。 ちょっとしたAPIを公開する分にはすべてを1ファイルに書いてしまって何ら問題ないのですが 複数ファイルに分けたくなるような規模のWebアプリを実装するときにプロジェクト構成がカオ…

MeCab用のDockerfile

前回の内容の環境構築をDockerfileで作ろうとしてドハマりしました.. 「mecab dockerfile」とググれば何個も参考になる記事が出てくるので楽勝だろうと踏んで作業開始。 しかし、Dockerfileを作りビルドしたところ、、 opt/mecab-ipadic-neologd/bin/../libe…

キャンプ場レビューからWordCloudを生成

趣味のキャンプに役立つ何かをということで キャンプ場のレビューコメントからWordCloudを生成するというのをやってみました。 やったこと キャンプ場のレビューを集める MeCabで単語に分割する WordCloudを生成する キャンプ場のレビューを集める なっぷ と…

ワールドカップ ユニフォームカラー

つい先日終了したばかりのワールドカップですがユニフォームの色が気になり、 ロシア大会を含むここ7大会のベスト8のチームのユニフォームの色を調べてみました。 (注) ホームのユニフォームを表示しています。ロシア大会に出場しているチームはロシア大会の…

リモートのJupyter Notebookを自動でブラウザで開く方法

2ヶ月くらい前に「現場で使える! TensorFlow開発入門 Kerasによる深層学習モデル構築手法」という書籍を買ってみたのですが手をつけずに放置してました..。サンプルコードぐらい動かそうということで環境構築をAzure上で行いました。 この本の中では nvidia-…

変動係数でPOGデータの分析

せっかく集めたデータなので変動係数(Coefficient of Variance)を使って粘って解析してみます。 データは5/3時点で集計したものを引き続き使っています。 変動係数(Coefficient of Variance)とは 定義 CV = 標準偏差 / 平均値 何を意味する? 相対的なば…

RandomForestでPOGの賞金予測をする

結論から書けば玉砕でした。。 そりぁそうですよ 全兄弟で同じ厩舎でも一方はG1馬、他方は未勝利馬ということもあるわけですから。 数千サンプルのデータと二十次元程度の特徴量から予測するなんておこがましかったわけです。 いちおうトライしたのでやった…

2018-2019年度POG用の2歳馬リストを作る

先日作ったスクリプトで自分でも2歳馬リストが作れることが分かったので作ってみました。 方法 必要なデータをスクリプトで取得 $ python get_horse_data.py --age 2 -o pog2018_1.csv --include_no_debut $ python get_horse_additional_data.py -i pog2018…

fast.aiのPractical Deep Learning For Coders, Part 1 (2018 edition)

fast.aiのPractical Deep Learning For Coders, Part 1 (2018 edition) を細々と続けていましたがようやく一通り終えた...! というところまでいきました。 7 weeksのコースなので2倍ぐらいの時間がかかっちゃった計算になります。。 さらにブログの筆もなか…

netkeibaのデータのスクレイパー

今週末は桜花賞。いよいよクラシックシーズンの開幕です。 ということは、、 来年度のPOGの足音も聞こえてきたってことになります。 今年こそは機械学習を使って一人勝ち!! その第一歩としてnetkeibaの各種ランキングのスクレイパーを実装しました。 github.…

lang_model-arxiv.ipynbで必要となるarxiv.csvとall_arxiv.pickleを取得する方法

ニッチすぎてこれが役に立つ人は果たして何人いるのだろう。。という記事ですが少し苦労したのでメモです。 何かと言うと、細々と続けている MOOC講座 fast.ai の part1 v2の lang_model-arxiv.ipynb でソースとなるファイルが見つからない問題です。 問題と…

Azureマシンのjupyterをローカルから開けるようにする

Azureで仮想マシンを起動すると毎回パブリックIPアドレスが変わるのでsshするときとても面倒です。 さらに、Azureマシン上でjupyter notebookを立ち上げたときも毎回tokenの値が違うのでこれをコピペでブラウザに貼り付け、localhostの部分を自分のIPアドレ…

CUDA9.1の環境でTensorFlowをインストールする

fast.aiのpart1 v2は基本的に PyTorch を使って進めることになりますが Keras+TensorFlow用の notebook(keras_lesson1.ipynb)が1つだけあります。 これも動かしたる! と思ってTensorFlowのパッケージをインストールしようとしたところ、、 part1 v2用の環…

fast.aiのpart1 v2の環境構築

まだオフィシャルではないようですが私がひいきにしているMOOC講座、Deep Learning Part 1: Practical Deep Learning for Coders の v2 が昨年末にオープンになりました。 Unofficial release of part 1 v2 - Part 1 - Deep Learning Course Forums Welcome …

NetlifyとNowへ引っ越し

Azureで自分のホームページ(と呼べるほどの代物でもないけど。。)をホスティングしていますが 何と月々のフリークレジットの85%以上をこれらのWebアプリが占めていました... エッ、まじ? どうりでディープラーニング学習用に使える分が残ってないはずだ..…

ナンガのダウンジャケット

昨年末にナンガのダウンジャケットを買いました。 それがあまりにも良い買い物だったので記事を書きます。。 ナンガとは? ナンガというのはブランド名 “ジャパンブランド”である“NANGA(ナンガ)”。 社名の由来はヒマラヤにある8,000メートル級の高峰“ナンガバ…

Batch Normalizationの実験

Practical Deep Learning For Coders, Part 1の lesson3.ipynb に Batchnorm resolves this problem by normalizing each intermediate layer as well. The details of how it works are not terribly important (although I will outline them in a moment)…

Practical Deep Learning For Coders, Part 1をやっと終えた

fast.ai のMOOC講座、Practical Deep Learning For Coders, Part 1をやっていて 一通り学習できたので Part 2 へ進む前にまとめてみます。 どんな講座? 7個のレッスンがありディープラーニングのBest practicesを学べます。 講座の中でKaggleの実際のコンペ…

Kerasのログを可視化するスクリプト

KerasのバックエンドがTensorFlowだとTensorBoardを使ってLossやAccurayを可視化できますがバックエンドTheanoだとTensorBoardに相当するツールがありません..。そこでログからグラフを作成するスクリプトを作りました。 github.com 使い方 Cmd + C でログを…

ベイズの定理

ベイズの定理と言えば、赤玉白玉の問題が定番ですがせっかく勉強するので競馬を題材にやってみました。 ベイズの定理の公式 よく見かけるけど、よう分からんという式ですね。。 事象Aを観測したあとで事象Bが発生する確率は と表すことができます。 事象Aに…

AzureのGPUインスタンスを立てる

Azureのアカウントを持っているのでAzureでもGPUインスタンスを立ててみました。 fast.ai に Azure用GPUインスタンスセットアップのドキュメントとスクリプトが用意されていたので基本的には楽チンにセットアップができます。 が一部ハマったのでメモ instal…

Jupyter Notebookを印刷するときにレスペーパー化する

fast.aiの Practical Deep Learning for Coders は Jupyter Notebookで教材が提供されています。 コードは紙に出力したい派なのでipynbファイルを紙に印刷してそれを見ながら勉強しています。 ただ、 以下のようなTraining時の長い出力がダラダラと含まれて…

いきなりHerokuにRailsアプリがデプロイできなくなった..

密かに運営している POG集計サービス「Poger mailing service」の中で行っているスクレイピング処理が今日から誤動作し始めちゃいました。。 これはhtmlの出力仕様が変わったに違いない! (当たり) 急いで不具合を修正して、 Herokuに git push heroku mast…

スマートビームレーザーがすごい

超小型レーザープロジェクター Smart BEAM Laser を買いました。 これがめっちゃよい 焦点調整不要! 電源ケーブル不要! 無線接続で投影可能! ƪ(•◡•ƪ)" 画質はそこそこですが他の方のレビューでもかなり評判高いです。 未来すぎるモバイルプロジェクター、…

fast.aiでTensorFlowをバックエンドとして使う

fast.ai はKerasのバックエンドとしてTheanoを前提としていますがTensorFlowも使うことができます。 ~/.keras/keras.json を { "image_dim_ordering": "tf", "epsilon": 1e-07, "floatx": "float32", "backend": "tensorflow" } とすればTensorFlowになり、…

Theanoのインストール

fast.ai の Practical Deep Learning For Coders, Part 1 は Keras v1(バックエンドはTheano)を使用します。 なので、早速 Ubuntu14.04に Theanoをインストールしていきます。 インストール 公式ページ に書いてある通り、以下の1行で楽々インストール $ c…

AWSのGPUインスタンスを立てる

ちょっと前からfast.ai が提供しているディープラーニング学習のオンラインコース、Practical Deep Learning For Coders, Part 1を始めています。 このコースはためになり面白い! ƪ(•◡•ƪ)" (Udacityのコースより全然よい。しかも無料) しかし、 自宅マシ…

Slackメッセージの感情分析

前の記事に引き続き、Slackメッセージの感情分析を行います。 メッセージの収集 まずはSlackメッセージの収集からです。 Slackチャネル上に飛び交うメッセージをログングするボットを作成し、対象チャネルにinviteしてメッセージを収集します。 ボットはhubo…

FloydHubのトライアルで使えるGPU利用枠が激減..

なんと、 FloydHubのトライアルで使えるGPU時間が10/1から大幅に減ってしまったようです... >< 100時間 → 2時間 (◞‸◟) Our promotional period, during which we offered 100 hours free GPU has already ended. If you signed up during that period, you…

RNNで感情分析(Sentiment Analysis)

RNN(Recurrent Neural Network)を使って感情分析(Sentiment Analysis)をしてみます。 今回はchainerを使って実装していく中で理解に苦労した点を図にまとめます。 RNNとは何なのか? RNNの基本、については以下の記事が分かりやすいです。 再帰型ニュー…