pytorchでCifar10の画像分類

やってみた系の記事。 Google ColabのCudaがFalseになっていて使えないが、CPUでは学習まで進んでいたから多分動くのでは。

コード

main.py · GitHub

今日か明日にはFaceRigっぽい感じのことをするモデルか、OpenPoseについてのブログを書きます。

character-level CNNによる声優ブログ分類

声優アドベントカレンダー用に作ったけど趣旨とずれているので何も関連してないです。

目的

麻倉ももさんのブログかそうでないかを分類する二値分類モデルの作成。

https://prtimes.jp/i/16356/350/resize/d16356-350-570297-6.jpg

実装について

論文自体は二年前に発表とかなり古い技術です。
[1509.01626] Character-level Convolutional Networks for Text Classification

Rettyの方が書いたQiitaの記事を参考に作りました。

qiita.com

前処理

文章データは去年ぐらいに作成したアメーバブログ全件取得するスクリプトで手に入れました。 麻倉ももさん以外のデータも必要だったため、今回はTrySailのメンバーの一人でもある雨宮天さんの取得します。

http://musicrayn.com/s3/skiyaki/uploads/artist_photo/image/880/amamiya.jpg

ブログの記事一行ずつにラベルをつけ、学習用のcsvファイルを作成します。

今回はちょっと綺麗なデータを使いたかったので、改行コードは削除しました。

雨宮天さんのブログには 0のラベル、麻倉ももさんには1のラベルをつけました。 pandasとか使うと簡単に作れるのでオススメです。

学習

学習用データがもともと少ない(小説や新聞と違い文字数が格段に少ないため)ので、3epochほどでやめました。 f:id:be_07:20171221021011p:plain

判別

まず、麻倉ももさんのブログを判別させます。テスト用に使用したのは以下のものです。 ameblo.jp

accuracyは85.2%とそこそこの精度が出ました。二値分類の判別結果としては低いと思いますが、作成したモデルもかなり適当なのでこんなもんでしょう。

次に雨宮天さんのブログを判別させます。使用した記事は以下のものです。

ameblo.jp

accuracy は6.1%でした。

本来ならば、もっとしっかりしたモデルを作ったり、エラー分析などを行う必要があるのでしょうが、やってみた系の内容なのでそこまでやる気がないです。

新しくやること

本日二日目の記事

ノイズキャンセリング機械学習を組み合わせて何かやります。

VGGベースの顔認識

Kerasで顔認識をしたかったので、人のコード見ながら処理の流れを理解した。
参考にしたのはこれ↓

VGG-Face model for keras · GitHub

上のはバックエンドにTheanoを使っていたが、TensorFlowにした。 と言っても、画像の配列の順番を変えるだけなんで、Inputの部分を変えた。

畳み込みのBlock あたりは同じfilterとMaxPoolingを変えるだけなのでクラスでウェイとやった。

そんだけ。

あと、argparseとか導入した。

そんだけ

コード

VGG-Face model for keras · GitHub

もやっとすること

当たり前の話だけど、環境構築の際にエラーが発生した際に、レポジトリに行って同じ問題のissueがないか探す。
よほどのことがない限り該当のissueを見つけるのだけど、Docker Imageを渡して解決っていうのをたまに見かける。 ああいうの駆逐してほしい。

Deep Learningを学び始めた

卒業研究のために、Deep Learningを学び始めました。 手始めにUdacityのDeep learningコースの動画を見ています。現在、From Machine Learning to Deep Learningの半分までやりました。 Udacityいいですよね。無料で受けられるのは非常にありがたい話です。

https://www.udacity.com/course/deep-learning–ud730www.udacity.com

上のと並行して、ゼロから作るDeep Learningも勉強します。こちらは今週の木曜までに全部終わらせたいなぁ。

www.oreilly.co.jp