post
【ray】@remoteがメモリを大量に食う時はray.put()を使おう
· ☕ 2 min read
はじめに rayとは → https://github.com/ray-project/ray 分散並列処理を簡単に書けるフレームワーク ray.remoteは怖い @ray.remoteが付された関数が使用するオブジェクトは, 呼び出される都度内部でray.put()が呼ばれ, データがメモリ上に展開される 若干この仕様が厄介で, ray.get()なんかを使うと, 同じオブジェクトを何度もメモリ上に展 ...

pycocoevalcapのMETEORがバグる (self.meteor_p.stdin.flush)
· ☕ 1 min read
なぜかpycocoevalcapでMETEORの計算が止まる問題 どうやらself.meteor_p.stdin.flush() あたりで止まっているらしい 結論から言えば, 俺の場合キャプションに\nが入っていたせいだった そもそもCOCO captions のキャプション自体結構汚いので注意 変な改行入ってたり, キャプションがなぜか6つあったり ...


Stochastic Gradient Langevin Dynamicsを理解する
· ☕ 4 min read
はじめに MCMCの一種 目標: ある分布 $\pi(x)$からのサンプリングを行いたい Metropolis-Hastingsアルゴリズム (MH) Hamiltonian Monte Carlo (HMC) Langevin Dynamics (Metropolis-adjusted Langevin Algorithm) Stochastic Gradient Langevin Dynamics (SGLD) の順に見ていくと理解しやすい Metropolis-Hastings Metropolis-Hastingsについては既知のもとする 提案分布 $q(z)$を元に判定関数を用いて受容・棄却を行うMCMC cf. ...

ハミルトニアン
· ☕ 1 min read
解析力学において, ハミルトニアンとは「系のエネルギーを座標と運動量で表したもの」 系のエネルギー自体を表すため, 時間変化せず時間 $t$に依存しない $\mathcal{K}$を運動エネルギー、 $\mathcal{U}$をポテンシャルエネルギーとして $$H := H(q,p;t) =\mathcal{K}(p)+\mathcal{U}(q)$$ ハミルトニアンの正準方程式 運動ベクトル $p_r$と座標ベクトル $q_ ...

必要なものだけpip freezeする方法
· ☕ 1 min read
pipreqsという非常に便利なライブラリが存在する pipreqs . だけでimportされているライブラリだけを出力してくれる マジで便利 例 pipreqsを使えばこれが出力される 1 2 3 4 5 6 7 8 9 10 11 12 ❯ pipreqs . && cat requirements.txt colored_traceback==0.3.0 h5py==3.7.0 matplotlib==3.5.3 nltk==3.7 numpy==1.23.2 Pillow==9.2.0 pycocoevalcap==1.2 skimage==0.0 torch==1.8.2+cu111 torchvision==0.9.2+cu111 tqdm==4.64.0 pip freeze だとこれ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 ...

「AのB」問題
· ☕ 1 min read
名詞句「AのB」は意味が多い・曖昧すぎて, 非常に解析しにくい NLP界隈では「AのB」の怖さを徹底的に叩き込まれるらしい 先生曰く, 読み方は ✅ 「エー→のビー」 ❌「エー⤵のビー」 らしい KNPを作った京大黒橋研の論文 国語辞典を用いた名詞句「AのB」の意味解析 名詞に必須格の考え方を持ち込み, 国語辞典から「AのB」の解析=分類を試 ...

Energy Based Model
· ☕ 3 min read
Energy Based Model 生成モデルによく用いられる 拡散モデルとも関係が深い 分類回帰問題についてはYour classifier is secretly an energy based model and you should treat it like oneを参照 GANやVAE同様, データ $x$は何らかの高次元確率分布 $p(x)$からサンプリングされたものと仮定する EBMでは以下のように確率分布 $p(x)$を仮定し, $E_{\theta}(\boldsym ...


述語項構造
· ☕ 1 min read
述語項構造とは、何がどうした、という述語とその項からなる構造のことである。 https://pyknp.readthedocs.io/en/latest/usage.html 「述語」に対して, 「項」と「格」が接続されている 引用: https://www.scribd.com/archive/plans?slideshare=true tips 述語項構造はJUMAN++とKNPで取り出せる JUMAN++はRNNベースの形態素解析ツール KNPは構文・格・照応解析システム Pythonからも使える https://pyknp.readthedocs.io/en/latest/ 両者をDockerから使えるように ...


Peter Anderson
· ☕ 1 min read
すげえ人 SPICE SPICE: Semantic Propositional Image Caption Evaluation REVERIE REVERIE - Remote Embodied Visual Referring Expression in Real Indoor Environments Bottom-Up and Top-Down Attention for Image Captioning and Visual Question Answering Sim-to-Real Transfer for Vision-and-Language Navigation など, めちゃくちゃよく見る論文の著者 今はGoogleにいるらしい ...

コピュラ (copula)
· ☕ 1 min read
copula 別名: 「繋辞」 文の主語と述語を結ぶための品詞. つまり, X=Yの形式を作る品詞 例 日本語: 「だ」「です」…etc 英語: be動詞, become … etc 「Y=Xと交換可能であり、2つの要素が一致すること」を指定(してい)、「Y=Xとすることができず、YがXの属性を表すこと」を措定(そてい)と呼ぶ。これらを区別して表現する言語 ...

scrapboxとHugoを同期させる
· ☕ 2 min read
Scrapboxと個人ブログ(Hugo)を同期させるようにした. scrapboxとクローラでも言及したが, 空のリンクに検索がヒットするのはよくないと思い, 同期を始めた. scrapbox自体は書き心地やUXが最高で手放したくないため, 一部ページを同期させ, 正しく検索結果が載るか試してみる. コードは以下に示す通り. scra ...

scrapboxとクローラ
· ☕ 3 min read
適当なページをcurlするとわかるが, scrapboxでは①「俺らが見てるページ」と②「クローラが見てるページ」が違う ①はServiceWorkerがブラウザ内で動的に生成しているもの ②はかなり簡素で, 本文のみがベタ書きされたものであり, 被リンクや1hop-linkなどは特に記述されない ここが問題で, ②は内部リンクを削 ...