post
慶應理工のアドカレ文化を遺したい
· ☕ 4 min read
はじめに この記事は慶應理工アドベントカレンダー2022の1日目の記事です. 導入 はじめましての方、はじめまして。2019年に慶應理工へ入学し、その後情報工学科に進学して今現在B4、無事ストレートでの卒業ができそうなYuWdと申します。 この度、慶應理工アドベントカレンダー2022というものを開催しました!!! 本アドカレは去 ...

How to create Matterport3D segmentation images?
· ☕ 1 min read
Intro The other day, one of my labmates needed to make a segmentation of Matterport3D. He asked for help, and I got involved in creating the segmentation. However, it turned out to be a real struggle. We were not used to 3D mesh models. After several weeks, we completed the code to create a semantic segmentation image for Matterport3D. How to create Matterport3D segmentation images Matterport3D provides access to 3D segmentation but does not give users an easy way to access 2D. Matterport3D data only provides point clouds and meshes labeled by ground truth, and the user must add color directly to the point clouds and meshes to create 2D segmentations. We, therefore, wrote code using Matterport3DSimulator to place a camera for a given scan_id and viewpoint_id and create a segmentation from the original ply file. When we run our code, we get the following image. (I concatenated the obtained images and converted to a gif) Matterport3DSimulator takes a total of 36 pictures: 12 at the top, 12 at the perimeter, and 12 at the bottom. ...


【Docker】M1MacでJUMAN・KNPを動かす
· ☕ 2 min read
はじめに どうしても手元のM1 MacでKNP・Juman++を動かしたいとき, ごく稀にありますよね. そういうときにパッとDockerfileでも書いて, knpやjumanをDocker上で動かそうとすると, なぜか以下のようなエラーが吐かれることがあります. 1 cc: error: unrecognized command-line option '-m64' とか 1 cannot guess build type; you must specify one ということで, M1 Macでも動く ...

【ABC217 E問題】セグ木にindexを保持させるテク
· ☕ 5 min read
はじめに 競プロを1年以上サボっているYuWdです. 長らく競プロから遠ざかっていたのですが, 今日から気楽に競プロを再開しようと思います. 手始めに今日は, サボり期間で受けていなかったコンテストを解いてみました. (ABC217) しかし, 解いてみた所感として, 思考力とやらはそこまで廃れきってはいないようなのですが, どうやら競プロの" ...

【tmux + zsh】Ctrl-Dでセッションをdetachする
· ☕ 2 min read
はじめに tmuxとは俗に言う端末多重化ソフト(Terminal Multiplexer) のこと. terminalを複数のセッション, ウィンドウ, ペインに分割して使用することができる代物である. ターミナルを終了してもセッションは維持されるので, sshで学習を回す際に便利である. tmuxでは通常のC-dでセッションがexitされてしまうのだが, こ ...

【PyTorch】「CUDA error: device-side assert triggered」 解決の手引き
· ☕ 4 min read
はじめに PyTorchにて, “RuntimeError: CUDA error: device-side assert triggered"というエラーに出くわすことがある ネットに転がってるモデルで発生すると特に厄介である (自分が作った沼ではないので…) またMAEでのマスク処理のような, テクニカルな処理を行う場合などにも頻発 再現性が取れず, 出力されるエラー内容も二転三転. 一定 ...

【巨大データ】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{\sum(x_{i}-\overline{x}) \sum(y_{i}-\overline{y})}{\sqrt{\sum(x_{i}-\overline{x})^{2}}\sqrt{\sum(y_{i}-\overline{y})^{2}}} $$ データ(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} = \frac{n_c - n_d}{n_c + n_d} = \frac{n_c - n_d}{n(n-1)/2} $$ データ $(x_i,y_i ...

【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つあったり ...