post
【巨大データ】gdownの「Access denied」問題は諦めよう
· ☕ 2 min read
TL;DR クソデカファイルをGoogle Driveからダウンロードするときは, gdownではなくcurl直打ちでダウンロードしよう はじめに Google Drive内の50GBほどあるデータをgdownでダウンロードしようとすると以下のエラーが出た Access denied with the following error: Too many users have viewed or downloaded this file recently. Please try accessing the file again later. If the file you are trying to access is particularly large or is shared with many people, it may take up to 24 hours ...

【摩訶不思議】azcopyはなぜ速い?
· ☕ 3 min read
TL;DR azcopyとは, Azure内のblobを操作するためのツールなのだが, これを使えば摩訶不思議. なぜかwgetよりも快適にblobをダウンロードできる. azcopyがなぜこんなにも速いのか誰か教えてくれ 仮説: azcopyはコネクションを大量に張る + サーバを分散させている 導入: wgetが遅い問題 ORTの再現実験のため, ...

日本語版Image Captioningの学習・推論コードを提供する
· ☕ 1 min read
ひょんなことから最近Image Captioning(画像キャプション生成)を触っている だが, ググってもググっても日本語でImage Captioningしてる人があまりに居ない… コードを検索してもヒットしたのはこの子だけ…🤔 (しかもChainer …) https://github.com/yuyay/chainer_nic 日本語での画像キャプション生成界隈はプレイヤ ...


【相関係数】Pearson・Spearman・Kendallの使い分け
· ☕ 1 min read
ピアソン $$ r_{xy} = \frac{{\displaystyle \sum_{i = 1}^n (x_i - \overline{x}) (y_i - \overline{y})}}{\sqrt{{\displaystyle \sum_{i = 1}^n (x_i - \overline{x})^2}} \sqrt{{\displaystyle \sum_{i = 1}^n (y_i - \overline{y})^2}}} = \frac{s_{xy}}{s_xs_y} $$ データ(X,Y)が連続で正規分布に従っていることが前提 なので外れ値に弱い スピアマン $$ \rho_{xy} = \frac{\sum_{i=1}^{n}(R(x_i) - \overline{R(x)})(R(y_i) - \overline{R(y)})} {\sqrt{\sum_{i=1}^{n}(R(x_i) - \overline{R(x)})^{2}\cdot\sum_{i=1}^{n}(R(y_i)-\overline{R(y)})^{2}}} = 1 - \frac{6\sum_{i=1}^{n}(R(x_i) - R(y_i))^{2}}{n(n^{2} - 1)} $$ $R(x)$は $x$の順位 順位をそのままピアソンの式に当てはめるイメージ 正規分布・連続という仮定がない分使い勝手が良い ケンドール $$ \tau_{xy} ...

【TeamViewer】sshでパスワードを変更する
· ☕ 1 min read
TeamViewerでパスワードがわからなくなった どうやらsshで入れるならパスワードを変更できるらしい sudo teamviewer passwd [password] で任意のパスワード[password]に変更可 1 2 3 teamviewer info sudo teamviewer passwd [password] teamviewer info ...

【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から使えるように ...