AI
コマンドプロンプトから python main.py のように実行すると問題無いのにpythonnetから実行すると「No module named~」エラーになる、というケースがあった。 原因はpythonnetが.pthファイルを読んでくれないこと。以下のサイトには .pth ファイルを読み込…
prefix:の行に環境依存のパスが書かれていて嫌だなと思っていたが、消して特に問題無いらしい。というか消した方が良い。何であるんだこの行。。 参考: stackoverflow.com
以下の手順でスレッド数を調べられる。 タスクマネージャを開く 「詳細」タブを表示 ヘッダを右クリック>列の選択をクリック スレッド数にチェックを付けてOKをクリック 上記はWindows10向けの手順だが、以下のサイトにはWindows7向けの手順も載っている。 …
原因はwindows10の制約でパスの長さの最大値が256文字となっているがそれを越えてしまうため。 以下の方法で制限を解除すると直った。 knowledge.autodesk.com
floatだとテストOKな場合でもぴったり一致しないことがあるのでmath.iscloseを使う。 assert math.isclose(0.1, 0.1) np.iscloseとかもあるらしい。 参考: note.nkmk.me
以下のようにraiseのみの文があったのでなんだこれと思ったら、raise eの場合とスタックトレースが異なるらしい。raiseの方がスタックトレースが見やすくていい。なるほど。 try: ~ except Exception as e: raise 詳細は以下参照。 qiita.com
推論時のCPU使用率を下げたい、というモチベーションでTensorFlowが使うコア数を減らしてみた。(CPUで推論させてます) デフォルトでは推論時に論理コア数と同じだけスレッドが作られ、並列処理される。そうすると推論にかかる時間は短くなるが並列処理のオ…
今日知ったが、2020年4月からAnacondaのdefaultsチャネルの使用が商用利用有料になっていたらしい。 詳細は以下参照。 qiita.com ただ、conda-forgeからインストールするようにすれば無料で使い続けられる。 qiita.com 上記を参考に conda config --remove c…
エラーメッセージの全体は以下。 CondaVerificationError: The package for tensorflow-base located at C:\Users\username\AppData\Local\Continuum\miniconda3\pkgs\tensorflow-base-1.15.0-mkl_py37h190a33d_0 appears to be corrupted. The path 'Lib/si…
pythonのGCについて調べたことのメモ。 参照カウントと世代別mark&sweep方式 GCログを出す場合、gc.callbackにログを出力する関数を登録する。ただし、出力できる情報は限られている docs.python.org gc.set_debug(gc.DEBUG_STATS)で統計情報を出せるように…
resourceモジュールを使ってメモリ使用量を調べようとしたら掲題のエラーが出た。 原因はresourceモジュールはunixでしか使えないため(windows環境で実行しようとしていた・・) 解決策としてはpsutilをインストールして使うといいらしい 参考: stackoverf…
intel公式サイトによると、windows向けはソースからビルドしてねと書いてある。 software.intel.com めんどい・・と思っていたがanacondaがビルド済モジュールを配布しているっぽい。ただし、tensorflowのすべてのバージョンに対応するmklバージョンがあるわ…
python3.8以降はPYTHONPYCACHEPREFIX環境変数を設定するなどの方法でpycacheが保存されるフォルダを変更することができる。 参考: stackoverflow.com
原因は学習時と推論時でTensorFlowのバージョンが違うこと。 参考: github.com
sagemakerのverisonは2.40.0。以下のsampleを実行すると掲題のエラーが出た。 github.com エラーになったのは以下のコード。 image_uri = sagemaker.image_uris.retrieve( framework="xgboost", region=region, version="1.0-1", py_version="py3", instance…
sagemaker1.72.0ではこのエラーが起きないが、2.40.0では起きる。 何か前もって設定しておかないといけないのだろうか。。 一旦roleの文字列をget_execution_roleを使わず手動で設定するようにした。 参考: kiito.hatenablog.com
以下の記事を参考にSageMaker Studioを触っていたところ、学習結果を確認するExperimentsタブが表示されていなくて困った。 dev.classmethod.jp UIが上記記事が公開された時と変わってComponents and registriesタブからExperimentsを表示するようになったっ…
TensorFlowのバージョンは1.15.0。 原因はevaluateメソッドのinput_fnに精度検証のinputを返す関数を渡していたが、その関数がNoneから空配列的なものを返していたため。 今回はtf.data.TFRecordDatasetに検証用データを渡してそのeval_input_fnを以下のよう…
tensorflow liteで動かせば速くなると思っていたのになぜ・・ 調べてみたら、tfliteはARMプロセッサに最適化されているのでx86 cpuでは遅いという情報がありました。 自分が動かしたい環境はx86 cpu。。 stackoverflow.com x86 cpuサポートは計画されている…
このエラーメッセージでググるとopenpyxlをインストールしてengine='openpyxl'を引数に指定しろという情報があるが、これをやっても直らないので困った。。 原因はpandasのバージョン。1.0.1以上でないとだめらしい。 pip install -U pandas を実行してバー…
unzip -O sjis hoge.zip のように文字コードを指定すると直った。自動で判定とかしてくれればいいのに。。 参考: qiita.com
TensorFlowで学習しているとlossがnanになり、その原因を調査することがあったが、かなり大変だった。。 不具合調査の時に、調査しやすくするために不具合の再現性を確保するために以下記事を参考にSeedを固定した。 参考: qiita.com
学習途中で出力される評価指標がnanになることがあるが正常らしい。評価指標の計算式的に仕方ないのかも?ずっとnanが続くようだとだめだけど、学習データの中に物体のlabelが一つも含まれないような場合ではnanになるのは正常らしい。 参考: github.com
PyCharmのSSH Interpreterは便利だけど、使ってるといつの間にかサーバに修正したソースコードを自動でアップロードしてくれる機能が動かなくなることがよくある。。 その原因はdefault serverの設定がなぜか外れることっぽい。アップロードされなくなったら…
pip install tensorflow-addonsでTensorFlowのaddonを入れると使えるようになる。 import tensorflow_addons as tfa ... tfa.activations.mish(x) 参考: www.tensorflow.org
デバッグのためtf.debugging.experimental.enable_dump_debug_info を呼んでいたが、これが原因だった。これを呼ばないようにすると直った。 参考: github.com
原因はabsl-pyがデフォルトのログハンドラを書き換えてしまい、かつそいつがsys.stderrがNoneになる場合を考慮していないため。 恐らくPythonを別のプロセスからConsoleを表示させず起動すると標準エラー出力の出力先が無くてNoneになる。 無理矢理だけど、l…
dlibインストール時にcmakeを使ってビルドするようで、cmakeが入ってないとエラーがでる。 environment.yamlを使うならdlib以外をyamlを使ってインストールして、その後手動でdlibを入れるとかになりそう。。 手動の手順が入るのが嫌だったのでbatファイルで…
activate/deactivateを実行する場合は以下のようにcallを頭につけないといけない。色々罠があるなぁ。。 echo y | conda create --name myenv python=3.7.9 call conda activate myenv pip install cmake==3.18.4.post1 参考: github.com
precisionやrecallの値をクラス毎に出し、その平均を取りたいという場合、 precisionやrecallの計算式の分母が0になり計算できなかったらどうするか。 precisionやrecallの分母が0ということはPositiveと予測したものの数が0か、LabelがPositiveであるサンプ…