Entries from 2020-01-01 to 1 year

Google Football コンペ

銅メダルでした。 以前のRLコンペから学んでやらなかったこと DQN などの自前実装:自分の学習のためなら良いが、自前実装はバグりやすくたくさんの罠がある。すでに動いているベースラインが運営から提供されているのでそれを使う。そうすれば reward / obs…

Visual Studio Code + Docker for Kaggle

Kaggle 用の docker image が公開されているのでそれを Mac 上の Visual Studio Code 使う。 やったこと Remote-Containers という拡張を入れて拡張経由で docker を使う。これは host と container 内の両方で Visual Studio Code を起動するので開発環境=…

Karabiner-Elements

Karabiner-Elements を使っていたのだが Visual Studio Code で有効になり困っていたので入れ直す。 それでしたら frontmost_application_unless でできます!オフにしたい機能ごとにこういう条件をmanipulatorsに付けるとできます。bundle_identifiersは htt…

Kaggle Halite コンペ + 強化学習

Halite by Two Sigma | Kaggle に参加していた。今回はお誘いいただいて @threecourse さん と @Seed57_cash さんとチームで挑んた。 コンペの目的 4人プレイの岩塩(halite)集めゲーム 1プレイヤーが複数の shipyards and ships を操作することが可能 盤面サ…

DQN デバッグメモ

デバッグの過程をまとめる。ほぼ自分用。 自分用のまとめ PyTorch でも tensoarboard を使ってたくさんログをとる。ログをとればおかしいところはみつかる。 ログすべきもの observation を tensorboard で visualize する。 次の最善手が分かっている obser…

Reinforcement Learning の self play についてのまとめ

強化学習の self play について知りたいことがあるので、ざっくりと有名な論文を読んでいく。熟読はしない。 知りたいこと self play は同一インスタンス、別インスタンスどちらか? 直感的にはどこかで stuck しそうな感じがするけど? 学習が進んでいるこ…

Jupyter/Colab における pyplot リアルタイム描画

強化学習の様子を visualize するために pyplot でグラフをリアルタイム描画していたが遅くて筋が悪いのでやめた。inline で表示すると plot 数が増えると極端に遅くなりボトルネックになる。inline リアルタイム描画をやめて、画像ファイルとして出力して i…

強化学習/RL/Reinforcement Learning のデバッグ方法

RL のデバッグは難しい。RLアルゴリズムの選択、適切な reward の設定、Deep RLの場合モデルの選定、実装の正しさ、適切なパラメータ、そもそも学習できる問題なのか。切り分けが難しい。世の中には同じように思っている人がたくさんいるようだ。情報元から…

RL での batch size

Reinforcement Learning を Welcome to Spinning Up in Deep RL! — Spinning Up documentation で勉強しながら実装している。とある実装で batch size = 5000 となっていて「値が大きすぎる」と思い、何気なく小さな値に変更した。それをすっかり忘れて試行…

OpenAI Gym の MountainCar が難しいという話

Vanilla Policy Gradient を勉強・実装している。CartPole はうまく学習できるのに MountainCar の学習が進まない reward -200 であり続けるという減少にハマった。RL のデバッグは本当に難しく、観察してもよくわからなかった。検索してみるとまさに同じ減…

Colab + PyTorch Lightning + Comet ML + Bert

Colab + PyTorch Lightning + Comet ML - higepon blog の続き。 目標 Tensorflow 2.0 コンペで自分が書いた training のコードを Colab + PyTorch Lightning + CometML に移植する。移植したことでメリットがあるかを検証する。 Google Drive の利用とその…

CUDA error: device-side assert triggered

CUDA error: device-side assert triggered のデバッグで苦労した。結論からいうと CUDA error は本当にデバッグが難しい。同じモデルを GPU ではなくて CPU 上で動かせば、もっと親切なエラーメッセージが見られる。CPU で再現しない場合は CUDA_LAUNCH_BLO…

Colab + PyTorch Lightning + Comet ML

背景 Kaggle の上位ランカーが PyTorch Lightning について言及していたの試してみる。同様に Comet ML も。Kaggle の試行錯誤を Colab (or Colab Pro) に移行できるかもあわせて検討する。 ToDO 以下淡々と ToDOをこなしていきメモを残す。 Lightning 基礎 …

GCP + Visual Studio Code 開発環境構築

前提 GCP への ssh 接続。GCP の AI notebooks インスタンスに ssh できなかったので調べた - higepon blog。 目標 Visual Studio Code のリモート接続を利用して GCP 上のコードを快適に編集。 git 周りの操作もそのまま行いたい。 Visual Studio Code 自体…

GCP の AI notebooks インスタンスに ssh できなかったので調べた

動機 Visual Studio Code でコードをリモート編集したい。そのためには local Mac からインスタンスに ssh が必要。 事実 インスタンスは起動している(Web インターフェースからコードを編集できる) インスタンスには外部IPアドレスが設定されている telnet…

突発性脳脊髄液減少症になり1ヶ月以上寝たきりだった話

時間のない人向けのまとめ ある日突然激しい頭痛に見舞われ即入院。 突発性脳脊髄液減少症(低髄液圧症候群)と診断され手術。何らかの原因で、脳脊髄液が硬膜から漏れて髄液圧が低下することで頭痛などの症状が起こる病気。 起立性頭痛(頭痛があるがしばら…