Deep Learning

HuggingfaceのTokenizerのvocabを取得する

Huggingfaceを使って自然言語処理を行っていた時、モデルごとのvocabularyの違いが気になった。 vocab.txt を見れば分かるのだが、Pythonで取得したかったので調べてみた。 まずはTokenizerのリファレンスを...
Deep Learning

PytorchでエラーRuntimeError: CUDA error: Device-side assert triggered

huggingfaceでDeBERTaを使っい、Masked Language Modeling(MLM)をした時に表題のエラー。 File "/usr/local/lib/python3.8/dist-packages/transform...
Deep Learning

KerasでBERTの最終4層のhidden stateをconcatする

BERTのfine tuningをする際、最終4層のembeddingを使うと精度が向上する可能性がある。 サンプルコードはPytorchのばかりだったので、Tensorflow/Kerasでも再現してみた。 軽量モデルで実験したいのでAL...
Deep Learning

Tensorflowでコサイン類似度のレイヤーを作る

Sentence Transformerの勉強をしている時、テキストの類似度を図る指標としてコサイン類似度が出てきた。 Tensorflowにはコサイン類似度を計算するlossやmetricsはあるが、Layerは存在しない。 なので、Bi...
Python

plt.gca()を使ってpandasのplotを複数並べて楽にsubplotする

pandasでdf.plot()をすると、matplotlibを使わなくても簡単にグラフを作ることが出来る。 しかし、複数のグラフを作りたくてsubplotsしようとすると途端に面倒になり、df.plot()の引数やmatplotlibのf...
Deep Learning

Kerasのmodel.fit()で出力されるlossやmetricをloggingする

kerasでmodel.fit()すると、ターミナルに出力されるエポック毎のlossやmetricをPythonでloggingしたい。 Epoch 00001: LearningRateScheduler setting learning...
Deep Learning

Kerasのmodel.summary()をloggingする

Pythonのloggingを使ってきた時、kerasのmode.summary()をログに保存したくなった。 しかし、そのままloggerの引数に与えてもNoneが帰ってきてログに記録されなかった。 import logging logg...
Deep Learning

Tensorflowで DeBERTaを使おうとしたらTokenizer class DebertaV2Tokenizer does not exist or is not currently imported

HuggingfaceからDeBERTaを使おうとしたら表題のエラー。 ValueError:Tokenizer class DebertaV2Tokenizer does not exist or is not currently imp...
LeetCode

1155. Number of Dice Rolls With Target Sum

k面のサイコロをn個振った時、合計値がtargetになる組み合わせの数を求める問題。 全探索する場合、1~kのどれが出るかという試行がn回繰り返され、O(K^N)となり間に合わない。 ここで、サイコロの出目を1つずつ足していくことを考える。...
LeetCode

貪欲法とDPで 1029. Two City Scheduling

問題はこちら。 2N人をA,Bの2つのグループ分け、均等に振り分けるために必要なコストを最小化する問題。 Aに振り分けるコスト、Bに振り分けるコストが与えられる。 貪欲法 Aに行きやすい人はAに行かせ、Bに行きやすい人はBに行かせれば良い。...