pytorchでデータ数を増やすとやけに学習時間が増えるバグ

pytorchで学習する処理を書いた際、データセット内のデータ数の増加により学習時間が増えた。 データ数増加で学習時間が増えるのは当然だろうと思うかもしれないが、今回書いていた処理はデータセットのすべてを学習に使わないもので、指定したbatch数分だけ…

kedroで01_rawのディレクトリ構造に合わせて各フェーズのデータを出力する

以前kedroのドキュメントを見たときに推奨されるデータ管理用のディレクトリ構造が定義されているのを見つけた。 https://kedro.readthedocs.io/en/stable/12_faq/01_faq.html#what-is-data-engineering-convention 整理しやすそうだと思ったため自前のスク…

pandasインストール時にエラー(pip 1.20.1)

以下の実行時にnumpyのインストールでエラーとなった。 pip install pandas==1.3.4 1.3.4は別の環境にて最近インストールした記憶があり、そちらは普通に成功していたはずだったので違いを調べてみたところpipのversionが違った。 失敗したのはpip1.20.1で、…

アルファベット文字列Sよりも辞書順で小さい回文のパターン数計算

今年に入って基本的なアルゴリズムの勉強としてatcoderのコンテストにチャレンジしている。勉強ついでのアウトプットとしてこちらの問題についてメモ。 https://atcoder.jp/contests/abc242/tasks/abc242_e 問題自体は、アルファベットのみの文字列Sに対し特…

wslでのcuda toolkitのインストールでエラー

wsl上でcuda toolkitを入れたらnvidia-smiでエラーが出るようになったのでメモ こちらで環境に合わせたインストールコマンドがわかる CUDA Toolkit 11.1 Update 1 Downloads | NVIDIA Developer 入れる前に実行してあったnvidia-smiの結果 +----------------…

tmuxで保存したセッションを間違って上書きしてしまった場合

通常tmuxのwindowやpaneの内容はtmux serverをkillしてしまうと消えてしまう。そのためPCの再起動などかける場合は消えてしまうのだが、tmux-resurrectというプラグインを利用することでディスクに内容を保存しておいて復旧することができる。 さきほどPCを…

tmuxで保存したセッションを間違って上書きしてしまった場合

通常tmuxのwindowやpaneの内容はtmux serverをkillしてしまうと消えてしまう。そのためPCの再起動などかける場合は消えてしまうのだが、tmux-resurrectというプラグインを利用することでディスクに内容を保存しておいて復旧することができる。 さきほどPCを…

vim-quickrunで標準入力が受け取れない

コードの実行 -> 修正というサイクルを早めるのに便利なvim-quickrunだが、実行時に以下のようにすることで<input_file>の中身を標準入力として受け取ることができる。 :QuickRun -input <input file> https://github.com/thinca/vim-quickrun/blob/877c8d0/doc/quickrun.txt#L110 の</input_file>…

argparse-dataclassからhydraに移行する

argparse-dataclassを少し使っていたのだが、hydraに移行してみたのでメモ。 前回書いたこちらの話に関係するが、解決したもののやはりhydraを試してみるかと思ったため。 https://jsapachehtml.hatenablog.com/entry/2021/10/23/184058 題材としては今年始…

argparse-dataclass使用時に__future__.annotationsをimportするとエラーが出るので中身を調べてみた

argparse-dataclassはdataclassをargparseに合う形に変換して渡してくれるもの。 https://github.com/mivade/argparse_dataclass もともとargparseを使っていたのだが、以下の理由から引数を管理するクラスを作りたくなった。 package化して外から使える形に…

pythonのlinter&formatterを設定する

前回neovimに関連したpython環境を見直したが、ついでにlinterやformatterをちゃんと入れておくことにしたのでメモ linterの設定 vim-lspにて表示するための設定はこちらを参考にして以下のようになった。 https://qiita.com/tk0miya/items/5a5beb2586c63792…

neovimのpython環境についてメモ

vim-lspによる補完がうまく効かない状態になっていた。補完が効かない問題自体はvenvの環境そのものがおかしくなっていたようで新しく作り直したら問題なかったのだが、その際に調べたことをせっかくなのでメモしておく。 手元の環境はこんな感じ pyenvで入…

colaboratoryでapexのinstallに失敗する

タイトルの通りでapexのinstallに失敗したのでメモ。 実行したコマンドはこちら !git clone https://github.com/NVIDIA/apex.git !git checkout ebcd7f084bba96bdb0c3fdf396c3c6b02e745042 # 2021/09/18時点での最新 %cd apex !pip install -v --no-cache-di…

pytorchのdata load時に処理が止まる

dataloader経由でデータを取得する際に処理待ちのような状態になって動かなくなることがあったのでメモ。 具体的にやろうとしてたのはDETRを動かしてみることで、画像2枚だけの小さなデータセットを用意して実行したところ以下の部分以降に処理が進まなかっ…

coqui-ai/ttsでvocoderの学習

こちらの続きとしてvocoderの学習と、生成したmelspectrogramをvocoderに通して音声生成してみる https://jsapachehtml.hatenablog.com/entry/2021/06/16/094213 学習 前回書いた通りmultiband-melganを試してみる。データセットもJSUTで同じくLJSpeechと同…

spreadsheetへの貼り付け時にダブルクォーテーションが消える

spreadsheetに以下のような複数行のテキストをコピペして貼り付けるとダブルクォーテーションが消える "example1" "example2" ちなみにコピーするのが一行だけだとちゃんとダブルクォーテーションも貼り付けられる どうやらテキスト先頭にダブルクォーテーシ…

colab proを使ってみた

1ヶ月だけcolab proを使ってみたのでメモ https://jsapachehtml.hatenablog.com/entry/2021/06/16/094213 こちらの記事で少し書いたが、学習に数日かかるものだったため再実行の頻度を下げようと思って一度使ってみることにした colaboratoryの無料版、有料…

coqui-ai/ttsで日本語音声合成を試す

いままで音声の生成はやってみたことがないため勉強のためにやってみたのでメモ。 目的としてはどういうことを行っているのか理解したいというのと、TTSを学習させてみた場合にどの程度のコストがかかってどのくらいの音声が生成できるのかというのが気にな…

colaboratoryとGCSのregionを一致させる

https://jsapachehtml.hatenablog.com/entry/2021/04/25/142900 こちらの書いたことの補足として調べたことをメモ サーバの位置を割り出すipinfo.ioを参照するのが簡単そうだった。 モダンなIPアドレス表示サービス「ipinfo.io」 - ソフトアンテナブログ col…

colaboratoryで使うdatasetをどこに置いておくのがよいか調べる

前回こんな記事を書いたが、どこに置いておくのが効率よいのか気になったので調べてみた https://blog.hatena.ne.jp/y-kamiya/jsapachehtml.hatenablog.com/edit?entry=26006613718710543 colaboratoryは起動のたびにまっさらの状態になるためデータセットな…

google colaboratoryでGCSからデータ取得

gcsとデータをやり取りする場合、gcloudを入れて初期設定をしてから付属のgsutilを使うという流れでやっていたが、実はgcloudは入れなくてもよいことに気づいたのでメモ gsutilの公式のインストール方法として、Pythonパッケージからのインストールという項…

google colaboratoryで効率よくデバッグしたい

google colaboratoryはgpuやtpuを無料で使うことができ大変便利だが、gpu関連の処理をデバッグしたい場合などは多少手間がかかる colab上での実行が必須のコードのデバッグ時に私が行っていた手順は以下 ローカルでコードを変更 適当にコミット colab上でgit…

テキスト感情分類(マルチラベル)

こちらの記事で追加でやってみると書いたことのいくつかについてやったのでメモ https://jsapachehtml.hatenablog.com/entry/2021/01/17/142444 マルチラベル分類 参考にしたこちらの論文と同じ形にして精度を比べてみることにした(英語のデータセットで) …

日本語のテキスト感情分類をやってみる

感情分類は以下の2通りに大分けされる模様 positive/negativeの二値分類(neutralを含める場合もあり) joy, sadnessなど複数の感情に分類 このうち特に2.についてはapiとして公開されているものもそこまで多くない印象なのでこちらについてやってみることに…

tensorflowで指定の位置の値だけを抽出して次元を減らす

元々やろうとしたことは、transformerの出力から各sentenceの末尾にあたるtokenのembeddingsだけを取り出すこと tensorflowは今までそこまで書いたことはなかったため、やってみると意外と時間がかかったためメモ 例として以下のような形を考える # 元のtens…

特定のコマンド実行が終わるまでPCをスリープさせない(mac)

時間のかかる処理をローカルPCで動かしている場合などスリープさせたくないことがある PCの電源管理の設定でスリープしないようにすればOKだが、当然それだと必要な処理が終わった後でもスリープにならないため無駄 以下のコマンドで実行中のみスリープにな…

colaboratoryに表を出力すると崩れる

tabulateで表を出力した際に以下のように崩れた 文字によって幅が異なっていることが原因(=等幅フォントじゃない) chromeのフォント設定を見てみるとOsakaになっている colaboratoryの編集用セルや出力欄は↑の設定の固定幅フォントが使われている ただ謎な…

音に対するdeep learningの入門として環境音の識別をやってみる(3)

こちらの続き https://jsapachehtml.hatenablog.com/entry/2020/10/24/183410?_ga=2.58998701.1453230663.1604732830-1050067043.1602897991 今回はBC Learningを実装してみたのでメモ BC Learning 論文: https://arxiv.org/pdf/1711.10282.pdf 公式repo: ht…

torchaudioをインストールするとtorchがcpu用のものになる

colab上でtorchaudioをインストールして使っていたのだが、いつの間にか学習速度が落ちていた $ !import torch $ !print(torch.cuda.is_available()) False とりあえずやってみると上記のようになったのでgpuが使えていないことがわかる 先月実行した際は同…

owner権限を持っているディレクトリでOperation not permitted

ストレージの整理のために~/Library以下などをチェックしていたところ見られないところがあった。 $ ls -l ~/Library/Application\ Support/MobileSync ls: MobileSync: Operation not permitted sudoをつけても同じで、そもそもownerだったのでsudoいらない…