雑記

お気付きの点がありましたらご指摘いただけますと幸いです。

💜

f:id:cookie-box:20211229152010p:plain:w70

💛

f:id:cookie-box:20211229162343p:plain:w70
  • 論文[1]の研究のソースコードは[2]の trax なるライブラリの一部として公開されているそうなのですが……この trax は PyPI に登録されているのですね。pip でインストールできました(CentOS 上の Python 3.9.4 に)。何でも trax パッケージの 1.4.0 にコードを含めたとかいてあるので、GitHub 上の 1.4.0 のリリースノートに何かかいてあるでしょうか……ここには何もかいていませんね。ドキュメント[3]にもリリースノートのようなものはないようです……ライブラリの機能のうち論文[1]に該当するものはどれなのでしょうか……。
  • もう v1.3.9 と v1.4.0 の差分からそれらしいコミットを探せばいいんじゃない? ……以下がそれっぽい。

    The evaluation notebook for the NeurIPS paper "Sparse is Enough in Sc… · google/trax@2238490 · GitHub

    つまり以下のノートブックだね。

    trax/Terraformer_from_scratch.ipynb at v1.4.1 · google/trax · GitHub

  • おお、そのノートブックに論文[1]の検証コードが完全に含まれているのですね。ではそれを読めば……コード量が多いですね……。
  • 先に確認しておきたいんだけど、そのノートブックのファイル名にもなっている Terraformer というのが論文[1]の提案モデルなんだよね? 同名のインフラ構成管理ツールがあるけど関係ないよね? Xxxformer という Transformer の亜種はもはや世の中にごまんとあると思うけど先行研究だったりもしないよね? ……うん、論文2ページの記述をみるにやっぱり Terraformer というのが[1]の提案モデルでよさそうだな。じゃあこれのアーキテクチャを追えばいいと思うよ。
  • 簡単にいいますね……確かに Terraformer なる見出しがノートブックの中ほどよりやや後ろにありますが。さらにノートの終盤に Terraformer なる関数があり、これがモデルを生成して返却してくれる関数でしょうね。引数が多い……。そして返しているのは、tl.Serial 型……?
  • trax のリポジトリの README の Here are a few example notebooks:- の最初のリンクにあったよ。trax では Serial という概念でデータに適用していく関数を管理するみたいだね。