AI
nvidia/cuda:10.2-cudnn7-devel-ubuntu18.04をベースにDockerImageをビルドしようとしたら、エラーが出たので以下を参考に直そうとしたら今度は掲題のエラーが発生。 www.nemotos.net 掲題のエラーメッセージの全文は以下。 E: Conflicting values set for o…
タイトル通りで、この対応を入れると学習時間が15時間→5時間になった。 github.com 何も考えずバリデーションデータ数と同じ値にしていたのがまずかった。。
原因は前処理の一部に実行の度に結果が変わってしまう部分があったため。random seedは固定していたがそれでもだめなところがあった。 それは、以下のようにglobでファイルを取得している箇所。 for p in Path("/path/to").glob("*"): ... Dockerコンテナにs…
exit code 137の場合、OOMが原因という情報があった。詳細は以下参照。 goody-jp.com 137はSIGKILLによってプロセスがKILLされたことを意味するので、OOM以外が原因の場合もあるが、今回はほぼ同じコードで学習データのみ変更してこのエラーが出たのでOOMが…
df = DataFrame() df = df.append(Series({"a": 1})) のような感じでappendすると、Seriesのa列はint型なのに、append後のdfのa列はfloat型になっている。。 以下によると、DataFrameインスタンスを生成する時に、列を定義してそのdtypeをintにすればいいら…
mlインスタンスタイプの上限緩和申請は他のサービスクォータの上限緩和申請とやり方が違っていてめんどくさい。。手順は以下。 サポートダッシュボードを表示 https://us-east-1.console.aws.amazon.com/support/home?region=us-east-1#/ Create Caseをクリ…
いつもPyCharmを複数起動しているせいか、非常に重くてイライラしていたが、軽くする方法を見つけたのでメモ。 設定の「Upload changed files automatically to the default server」をAlwaysからNeverに変更するとかなり軽くなった。 手動でファイルをアッ…
原因はTensorFlowとCUDAとcuDNNのバージョンが一致していないため。 tensorflow-gpu==1.15.3ではCUDA10.0とcuDNN7を使わないといけない。 DockerHubから以下のコンテナをpullして使うとエラーが出ず、GPUを使って学習出来た。 nvidia/cuda:10.0-cudnn7-devel…
Facebook製のライブラリのhydraを使ってconfigファイルを読み込んでいたところ、gcログが標準出力に出るようになってしまい鬱陶しかった。 以下の設定で使っていたが、disable_existing_loggersをtrueにするとgcログが出なくなった。ググってもdisable_exist…
どうもコンパイラに渡すオプションが間違っているっぽい。恐らくpycocotoolsのインストール時にコンパイルを実行するが、そのコンパイラがpycocotoolsの作者の環境とユーザの環境で違うのが原因だろう。 以下を実行するとインストールできる。 pip install g…
LinuxとWindow両方に対応する場合、パスの違いが問題になるが、Pythonだと掲題の通り自動的にCドライブのrootからパスをたどってくれるっぽい。(ドライブをどんな仕様で決めているかは不明なので、Dドライブで実行したらDドライブのrootからになるかも?) …
原因はlog_parametersに渡したパラメータの値にnanがあったこと。nanをNoneに変換して回避した。
原因はProcessingStepのproperty_filesで指定されたpathにファイルが見付からないこと。それを示すエラーメッセージが全くでないのでかなり困った・・ stepのOutputタブには以下のメッセージが表示されるが、これじゃわからない・・ This step failed. For m…
TensorFlow1.15で確認したが、tf.GraphDef.SerializeToStringは同じ重みファイルをインプットにしても毎回異なる文字列を生成する。 違いはフォーマット的なものであり、読み込んだら同じデータになるのだが、SerializeToString後の文字列をファイルに保存し…
原因は、ssh configurationsで設定したsshの接続設定があるプロジェクトでしか利用できない設定になっていて、PyCharmで開いているプロジェクトでは利用できないため。 以下を参考にVisible only for this projectのチェックを外すと直る。 stackoverflow.com
.soファイル:soはshared objectの略。動的にリンクされる共有ライブラリ・バイナリファイル undefined symbolの原因:soファイルから参照している関数が見つからない(=関数が実装されているsoファイルが見つからない)こと undefined symbol: の後の_ZN15…
PyCharmでSSH Interpreterを使っている場合。 .bashrcで定義している環境変数がないと動かないプログラムをPyCharmからデバッグ実行すると、.bashrcが実行されないのでエラーになる。 JetBrainsのサポートサイトには、以下の.shファイルを作ってSSH Interpre…
現象は以下。 Dockerfileでmim install mmdetを実行して作ったコンテナで推論を実行すると発生する docker buildのログを見ていると、mmcvのcpu版がインストールされている。でも実行環境ではgpu版を使おうとしてエラーになっているっぽい 手動でmim install…
以下のように- pip:の次の行にオプションを書けばいい。 - pip: - --find-links https://download.pytorch.org/whl/cu113/torch_stable.html 参考: stackoverflow.com
原因はgcc,g++がインストールされていないため。Visual Studio 2022 Community版をインストールすると直った。
画像分類・物体検出のアノテーションは矩形の枠とラベル(人・犬など)で付ける。 なので、人のアノテーションにはどうしても人の後ろの壁など人以外の部分も含まれてしまう。 そうすると、その壁などもモデルは人の一部であると見なして学習してしまう。 そ…
乱数のseedを固定すれば同じInputに対して、同じ推論結果を返す重みファイルが生成できるはず・・と思っていたが、そうではないらしい。 乱数の固定の仕方は以下参照。 qiita.com これを設定しても、cuDNNの中の乱数は固定できないらしい。TensorFlowではこ…
現象は以下。 conda create, conda removeでconda環境の作成・削除を繰り返すとpip3.exe.conda_trash, pip3.exe.conda_trash.conda_trash, ...のように.conda_trashがconda createを実行した回数だけ繰り返すファイルができる これによって超長いファイル名…
sshでリモートホストにログインし、pip installでpackageをinstallした後、ライブラリの更新操作をPyCharm上でやるとダウンロードしてくれる。今までInvalidate Cache&Restartを実行して全部のライブラリをダウンロードし直してた。。 やり方は以下参照。 tk…
「複数の環境」と言っているのは、例えば機械学習で言うと前処理、学習、精度検証のようなイメージ。 そういう環境で、ある程度実装も実行環境も分かれているけど一部の実装を共有したい場合どうするか。 pip packageにすると修正したらアップロードとインス…
原因はわかっていないが、再実行したらエラーが出なかった。なぜだ・・
マルチプロセスなので当たり前なんだけど、Pythonのmultiprocessing.Poolを使って複数プロセスで並列処理をする時にGlobal変数はそれぞれのプロセスにコピーされる。 なので、以下の例だとmy_funcの中でGlobal変数を変更しても他のプロセスには影響しない。 …
発生条件は以下。 @dataclassの付いたclassのオブジェクトを==で比較する そのclassのインスタンス変数にnumpy.ndarrayがある 原因は以下。 @dataclassで自動生成されるeqメソッドは、そのクラスのフィールドからなるタプルを比較する 参考: docs.python.or…
原因は色々ありうるが、今回は同じフォルダ名が複数あることだった。つまり、以下のようなフォルダ構成になっていて root/aとroot/bをPYTHONPATHに追加していた。 root/a/common/a.py root/b/common/b.py そうするとa.pyをimportしようとするとそんなモジュ…
以下のようなメッセージを残して学習が止まることがあり、困った。 train.sh: line 27: 32529 Killed 原因はOOMだった。 dmesg -T| grep -E -i -B100 'killed process' 上記コマンドを実行すると、以下が表示され、OOMでプロセスが殺されたことが分かる。 [F…