コッコ

Python

テキストの前処理でGiNZAを使って個人情報のマスキングをする

LLMの学習データを用意していた際、人名などの個人情報をマスキングしたくなった。 調べてみると、日本語の自然言語処理ライブラリであるGiNZAで固有表現を抽出できるみたい。 v5からTransformersモデルを採用しており、解析精度が向...
Deep Learning

torchinfoでHugging Faceのモデルのsummaryを出力しようとするとRuntimeError: Failed to run torchinfo.

kerasのmodel.summary()と似たようなことをpytorchのモデルで行ってくれるライブラリとして、torchinfoがある。 llama2がどんな構造でパラメータ数なのか気になったのでtorchinfoを使ってみた所、表題の...
Linux

Ubuntuで電源を落とさずにSSD/HDDをホットスワップする

再起動せずにSSD/HDDを交換したい場面があったので、Ubuntuでのホットスワップの手順をまとめた。 マザーボードやBIOSがホットスワップに対応していること前提。 以下、交換したいストレージは/dev/sdbでアンマウント済、ルートユ...
その他

EndNoteにarXivの文献を取り込む方法

文献管理ツールのEndNoteにarXivの論文を取り込むのに手こずったので備忘録。 arXivの論文ページ右側のDownloadからNASA ADSをクリック。 左側のExport Citationを選択し、Export FormatをE...
LeetCode

pythonで深さ優先探索の行きがけ、帰りがけ、通りがけの使い分け

深さ優先探索では、行きがけ(preorder)、帰りがけ(postorder)、通りがけ(inorder)を使い分けることがあるが、こんがらってしまう。 理解しやすいよう2分木で簡単な実装をしてみた。以下、当該ノード、左部分技、右部分技のこ...
Prometheus

PrometheusでError executing query: exceeded maximum resolution of 11,000 points per timeseries.

Prometheusにはクエリを投げてグラフ表示する機能がある。 Res(s)は表示するデータの解像度を指定するパラメータであり、デフォルトは空欄で勝手にグラフを調整してくれる。 全データをグラフに表示してみたくなり、Resに1を入力したと...
LeetCode

1799. Maximize Score After N Operations

Dailyで出てきたHardの問題。 解説を見るとビットマスキングとDPを使っていて難しい。 もっと単純に、素直に解けたので備忘録。もちろん最適解ではない。 成約を見ると以下の通りである。 1 <= n <= 7nums.length ==...
Deep Learning

TFRecordsでmodel.fitする時にメモリリークが起きてメモリ使用量が増え続けてしまう

大量のTFRecordsを使い、tf.dataでモデルの訓練をしていた際、メモリの使用量が増え続け、Out of Memoryになってしまっていた。 仮想メモリ(スワップ)を3TB程度用意してみたが、スワップも食い続けてしまったため、ハード...
Python

メモリに乗り切らない大量のデータの平均値と標準偏差をWelfordアルゴリズムで逐次計算する

Kaggleに取り組んでいた時、大量のデータセットが与えられた。 一般的に、ニューラルネットに入力するデータは標準化している方がいいと言われているが、データが大量にあってメモリに乗り切らず、sklearn.preprocessing.Sta...
Python

PyQt5とOpenCVを同時に使おうとしてエラー If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config

PyQt5のアプリケーションを弄っていた時に、cv2.imshow()をしようとしたら表題のエラー。 If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config,...