Posts

gymnasium と Stable-Baselines3 を使って機械学習で自前の環境を作成する

趣味で検討している DL モデルの loss 値が全く収束しないので、 DL 処理一発で問題を解くのを諦めて、 DL 処理と強化学習を組合せて対応するように方針を変えた。 そんな訳で、強化学習のフレームワークをいくつか調べ、 gymnasium を使うことにしてみた。 gymnasium は、 元々は OpenAI が開発していた gym が開発終了したことを機に gym から分岐して開発されているフレームワーク。 強化学習の要素 強化学習は、ある環境下で出来るだけ良い行動を取れるように学習する方法。

ブラウザの Ctrl-N ショートカットを変更する

emacs 使いとしては、ブラウザ内の textarea も emacs のキーバインドで操作をしたい。 しかし、 emacs の超基本的なキーバインドの一つ Ctrl-n は ブラウザのデフォル機能の「あたらしいウィンドウを開く」に バインドされていて、クライアントサイドの JavaScript では どうしても上書きできないっぽい。 そこで今回は、ブラウザの Ctrl-n の動作を変更する方法について話をしていく。 結論を最初に書いてしまうと、 限定的な変更はできたが、汎用的ではないので使い勝手が悪くオスス

Android 版 Firefox のアプリ切り替え時の処理

Android 版 Firefox は、 バックグラウンドに切り替えると android の省電力機能によって、 Web ページの状態が保持されず、 アプリをフォアクラウンドに切り替えた際に Web ページがリロードされることがあります。 静的な Web ページであれば、リロードするだけで画面を再構成されます。 セッション管理が必要な Web ページであれば、 Cookie を利用してセッションを復元できます。 Web Extension の場合、通常の Web ページとは異なる制御が必要になります。 省電力機能によって Web Extension のペー

Firefox の File System API (オリジンプライベートファイルシステム)

ブラウザ上で動作するウェブアプリ内のデータは、 基本的に RAM 上で管理されるだけで不揮発には保持されない。 不揮発にデータを保持するには、次の 3 つの方法がある。 Cookie データの本体をサーバ側で記録しておき、 サーバ側で管理しているデータへのアクセスキーをブラウザ側で不揮発に管理する方法。 Web Storage API Key-value 方式の簡易的な DB で、 比較的に小さいサイズのデータをブラウザ側で不揮発に管理する方法。 File System API ブラウザ側のファイルシステムを

ブラウザ(Firefox)の拡張機能で「出来ること」と「出来ないこと」

ブラウザ(Firefox)の拡張機能は、 通常の Web のクライアントサイドプログラム(JavaScript + wasm) では出来ないことが 実現可能になっている。 例えば、拡張機能は表示中の全てのタブ内の情報にアクセスできる。 とはいえ、何でも出来てしまうと、それはそれでセキュリティ上問題になる。 そのため、セキュリティ問題となるようなことはそもそも実現できない。 例えば、ブラウザを実行している環境内のネットワークへの TCP,UDP で