機械学習エンジニアの備忘録

主に自分が勉強したことのメモ

2019-01-01から1年間の記事一覧

Github + Amazon ECR + CircleCIで独自のdocker image上でpytestを自動実行する

はじめに CI/CD環境を構築するためにしばしばJenkinsが使われますが、Jenkinsは運用・メンテナンスが面倒だったりGUIベースの設定なのでノウハウが属人化してしまいがちであるという課題があります。そこで、SaaSを使ったモダンなCI/CD環境を作りたいという…

アンサンブル学習 アルゴリズム入門 〜〜プルーニング〜〜

前回の記事では、決定木による機械学習プログラムを作成しました。rikeiin.hatenablog.comこの決定木では、作成する木の深さに上限がなくパラメータの設定を深くすればするほど複雑なモデルが作成できます。なので、単に学習データをよく再現できるモデルを…

kubernetesでsshできるpodを作る

普段自分は機械学習の研究用途でkubernetes (k8s)上のクラスターでjupyterlabを立ててそこでコーディングをしています。 なんですが、jupyterlabだと補完がいまいちだったり、pyファイルの編集においては補完が全く効かなかったりで何かいい方法はないか模索…

アンサンブル学習 アルゴリズム入門 〜〜決定木その2〜〜

前回記事からの続きになります。 rikeiin.hatenablog.com前回の記事で作成したDecisionStumpは、深さが1の決定木でしたが、同じ方法によるデータの分割を再帰的に行えば、より深い階層を持つ決定木が作成できます。この記事では先ほど作成したDecisionStump…

アンサンブル学習 アルゴリズム入門 〜〜決定木その1〜〜

アンサンブル学習とは アンサンブル学習とは、複数の機械学習モデルを組み合わせて使用するタイプの機械学習アルゴリズムのことです。 Kaggleのようなデータ分析コンペティションでもよく使われているLightGBMなどもアンサンブル学習アルゴリズムの一つです…

Kaggleの網膜コンペで銅メダルをとったので振り返る

Kaggle で開催されたAPTOS 2019 Blindness Detection(網膜コンペ)にソロで参加したのでその振り返りです。www.kaggle.com結果は174th/2943 (TOP6%)で銅メダルでした。このコンペで2枚目の銅メダルを獲得し、Kaggle Expertになることができました。 コンペ…

docker imageの保存先を変更する

最近自分はdeep learningやデータサイエンスの環境構築も基本的にdockerで行うようにしています。 dockerfileさえあれば他のVMでも簡単に同じような環境が作れるので重宝しています。しかし、docker imageって何気にサイズがでかいのでストレージの容量がす…

pytorchでレイヤーをフリーズさせる

画像分野で深層学習を用いる際はImageNetのような大規模データセットで学習した学習済みモデルを使用して転移学習、ファインチューニングを行うことが一般的です。 このファインチューニングを行う際に、最初の数エポックはモデルの最終層以外の重みを固定し…

jenkinsとgithubを連携して自動テストをする

web上にいろいろ情報が錯綜していていろいろハマったので成功したやりかたをメモしておく やりたいこと githubに新しいcommitがpushされるごとにそのソースコードをビルドしてテストする テスト結果をgithub上から確認できるようにする github側の設定 ビル…