retarfiの日記

自然言語処理などの研究やゴルフ、音楽など。

Python

HuggingFaceのtransformers.trainerをDeepSpeedと一緒に使うときの注意覚書

事前学習関連で色々試していたらHuggingFaceのtransformersとDeepSpeedのIntegrationでうまくいかないところがあった。 具体的には、transformers.TrainerとDeepSpeedを同時に使っていて、さらにgraidient_accumulation_stepsが1でない場合に、transformers.…

transformersのDataCollatorForWholeWordMaskについての覚書き

以前BERTやELECTRAを日本語で事前学習するリポジトリを作った (https://github.com/retarfi/language-pretraining)のだが、 その際に参考にしたtransoformersのversionは4.7.2だった。 v4.7.2では、DataCollatorForWholeWordMaskの実装が間違っていたため、…

本当に簡単なゴルフ場を探す

ゴルフを始めてあまり経っていない人とラウンドに行く機会が増えました。 ゴルフ場を予約するときに気になってきたのが、コースの難易度です。 特に始めたての頃は、コースが難しすぎると大変です。 (もちろん自分のスコアも良くはないのですが) なので、な…

WikiExtractorが実はbulletを落としている

久々にWikipediaのdumpファイルを処理しようとWikiExtractorを動かそうとしたのですが、 GitHubからcloneしただけでは動かず。 zenn.dev ここにあるように、詳しくは調査していませんがPythonを3.7にしたら動きました。 それより大事なこととして、初期状態…

tqdmのprogress barが改行しまくらないようにする

ディスプレイの横いっぱいにターミナルを展開していると、tqdmが横いっぱいに開いてしまってウィンドウ幅を半分にすると改行しまくってしまう時がある.。 この場合はすぐ100%になるから良いが、少しずつのときは困る。 tqdmのドキュメントtqdm.tqdm - tqdm d…

JupyterでToC&HTMLがうまく機能しない

Jupyterで作成したドキュメントを、HTMLで出力して他の人と共有することで、いちいちPowerPointなどスライドにせずとも簡単に作成できます。 特にExtentionであるTable of Contents(ToC)によって、Markdownによる目次が追加でき、より見やすいファイルを作る…

HTMLをキャッチする

お久しぶりです。 3ヶ月程空いてしまいましたが、レポートが忙しくて全然記事を書けませんでした(書くことがなかったという説もある)。 最近はW杯ですね。ふと、totoを統計的に考えたら当たるんじゃないか、なんて考えてtoto miniの各パターンの投票割合を計…

小4のチャレンジ問題を考える

塾で小4を教えているのですが、そこでこのような問題がありました。 1□2□3□4□5□6□7□8□9=1 という式があります。 (1) □の中に+と-を入れてこの式を1つ完成させなさい。 (2) □の中に+と-とx(乗法)を入れてこの式を1つ完成させなさい。 この問題を解くだけなら…

100本ノック

学科でプログラミング言語を使うこともあり、先生からおすすめされたPythonの100本ノックをはじめました。 www.cl.ecei.tohoku.ac.jp 紹介にある通り、実践的な課題に取り組むことを目標にしています。 ので、これを実践していきたいと思います。 私のプログ…