情報系院生のノート

情報技術系全般,自分用メモを公開してます。

機械学習

MLFlowの使い方

はじめに MLFlowの3本の柱 MLFlow Tracking 最小サンプル 複数の実験を管理したい Experiments Runs Tags log_param argparseをまるごと記録したい log_metric x軸をtimeじゃなくてstepで記録したい log_metricの履歴のcsvが欲しい log_artifact フォルダま…

強化学習の報酬のグラフを良い感じに書く

完成図 想定するデータ コード 説明 定数 例 完成図 報酬のグラフ こんな感じで2つのアルゴリズムを比較できるように作りました。もちろん、1つでも使えます。 (報酬が離散的すぎてやや例としては悪いですが…) 想定するデータ なんでも良いのですが、今回…

Pytorch Distributed Data Parallel(DDP) 実装例

はじめに DataParallelといえばnn.DataParallel()でモデルを包んであげるだけで実現できますが、PythonのGILがボトルネックとなり、最大限リソースを活用できません。 最近では、PytorchもDDPを推奨しています。が、ソースの変更点が多く、コーディングの難…

セグメンテーションするpytorch機械学習モデルをAWSへデプロイ(API Gateway, Lambda, ECR)

はじめに 独り言 構成 コンテナイメージの作成 フォルダ構成 Dockerfile POST, Responseスキーム app.py ローカルでテスト Lmabdaのロギング ECRにプッシュ Lambda関数作成 API Gatewayの作成 POSTテスト 感想 参考 はじめに pythonを使った機械学習モデルは…

Beating the World’s Best at Super Smash Bros. Melee with Deep Reinforcement Learning (2017)

動画 1Pが人間のエキスパート 2Pが強化学習エージェント 論文紹介 https://arxiv.org/abs/1702.06230 スマブラDXを強化学習して、エキスパートに勝利した論文です。 DX大好きなので読んでみました。 しかしQ学習が非定常性な相手であるself-playに向かないっ…

Emergent Complexity via Multi-Agent Competition (ICLR 2018)

論文紹介 https://arxiv.org/abs/1710.03748 競争的な環境におけるSelf playに関する論文を読んだメモです。 zennのスクラップという機能を使ってみました。 zennのメモ Emergent Complexity via Multi-Agent Competition (ICLR 2018) しばらくスクラップをO…

EfficientDetのsingle-machine model parallelを実装して、D8(D7x)を学習させる

はじめに 実装したリポジトリ 実装解説 バックボーン NMS まとめ はじめに 魚群コンペ記事の第二弾です。 tmyoda.hatenablog.com EfficientDetの良さそうなリポジトリを見つけ、このリポジトリをコンペに使おうと思いました。 github.com しかし、EfficientD…

mAP(mean Average Precision)を手っ取り早く上げるには

はじめに 結論 理由 mAPの算出方法 APの算出方法 例 mAPを上げるには はじめに signateの物体認識コンペ(魚群検知)に参加したので、そのときに得た知見をいくつか共有したいと思います。(複数記事に分ける予定) signate.jp 新記事公開しました。(21.02.1…

pysparkの使い方に慣れるためにirisデータセットをいじってみる

はじめに 環境構築 サンプル集 読み込み カラム確認 統計量 スライシング ランダムサンプリング 列の追加 ユーザ定義関数 グルーピング groupBy→aggで集計 groupBy→pivotで縦横変換 一意の識別子を付ける DFのJOIN 列を取り出す 参考文献 はじめに pysparkを…

SingularityコンテナでOpenCV+Boostを使ったC++コードをコンパイル

はじめに コンテナ作成 作成したビルド&強化学習に必要な環境 実行方法は2つあります Singularity Libraryからpull .defファイル 注意点 はじめに 研究でC++コードをpybind11を使ってPythonから呼んで強化学習をしています. 強化学習をGPU上で回したくなっ…

Singularity + headless VNC + Pipenvを使ってサーバ上で強化学習環境を整える(gym, pybullet)

はじめに headless VNCとは headless VNCを触ってみる docker Singularity 導入 docker singularity (rootless) singularity libraryからpull (おすすめ!) ローカルPCでbuild サーバ上での作業 xfce4 パネル初期化コマンド はじめに 強化学習をしてると何か…

singularityの使い方

はじめに メリット Dockerとの違い コンテナ作成方法 コンテナ作成例 pytorch/conda-cudaをDocker Hubから.sif作成 sandboxでコンテナを作成するオプション マシン上のdockerにあるhello-world imageから conda-torch.defから コンテナ実行方法 conda-cuda-t…

Learning agile and dynamic motor skills for legged robots 解説スライド

スライド 説明 感想 スライド [DLゼミ] Learning agile and dynamic motor skills for legged robots from harmonylab 説明 複雑なモータ制御が必要なロボットの制御方法を提案 シミュレーションのみで学習した方策をロボットに転送し、実 環境のロボット制…

MuZero

スライド Mastering Atari, Go, Chess and Shogi by Planning with a Learned Model (MuZero) from harmonylab 説明 囲碁・将棋などのドメインはモデルベースな強化学習手法が成功を収めてきたが、そのモデルを自動で獲得し、AlphaZeroなどの従来手法を上回…

EMERGENT TOOL USE FROM MULTI-AGENT AUTOCURRICULA(OpenAIかくれんぼ)

スライド EMERGENT TOOL USE FROM MULTI-AGENT AUTOCURRICULA from harmonylab 説明 調和系DLゼミ、札幌AI勉強会で発表させて頂いたスライドです。 内容は、チーム戦のかくれんぼを通じて,相互の戦略を獲得できたとする研究です。 各チームごとにシンプルな…

DQNからA3C, PPOまで

スライド 強化学習 DQNからPPOまで from harmonylab 説明 DQNからA3C, PPOまでの変遷を順に説明したスライドです。札幌AI勉強会で発表させて頂いた資料になります。 強化学習は基本的にDQNからの派生がほとんどなので、いきなり新しい手法の論文を見てもわけ…

A3C

スライド 北大調和系 DLゼミ A3C from Tomoya Oda 説明 エピソードのサンプリング・学習が非同期 + Actor-Criticな手法の提案。更にGPUではなくCPUのみでDQNより学習時間を削ることに成功。また、DQNが苦手な行動空間が連続な場合の可能性も示した。 しかし…

pandasで行検索するときの速度比較

pandasで行検索 忙しい人向け dfを定義 検索条件が1つのとき 検索条件が2つのとき 検索条件が3つのとき 結論 pandasで行検索 忙しい人向け 結論から言うと,apply, map, queryを使うよりも ==, <=等の等号不等号を使った検索の方が早いです. dfを定義 impor…