AI GAN SemanticStyleGANのサンプルがうまく動かなかったら SemanticStyleGANって知ってますか ? CVPR2022で発表された技術で、StyleGAN2をベースに目、鼻、口、髪型など特定の個所のみエディットできる技術です。プロジェクトページはこ ...続きを読む PyTorch Torchvisionのtransforms.Composeを使いこなしてtraining accuracyを上げよう ! torchvisionのtransformsはお手軽にdata augmentationができとても便利です。是非使い込んでほしいので、簡単な例を示しておきたいと思います。 公式ドキュメント TRAN ...続きを読む torch.squeeze()よりtorch.view()が安心だった話し torch.squeeze()を使う機会って場当たり的にやってきませんか ? これを計画的に使いこなしている人がいるとしたら、尊敬します。torch.unsqueeze()はまだ必要に応じて使っている ...続きを読む PyTorchで突然malloc(): invalid next size (unsorted)が出たときの対処 さまざまなデータセットを複合的に利用するケースがあったのですが、その場合たった3つのデータセットでさえA, B, C, A+B, A+C, B+c, A+B+Cと7通りの組み合わせでトレーニング -- ...続きを読む 学習中にexit code 137 (SIGKILL)が発生したときの対処 引き続きPyTorch LSTMを使って学習したときに発生した問題の紹介です。シンプルなLSTMでは発生していなかったのですが、グラフの規模が大きいシステムを扱ったとたんにハマりました。結果的には初歩 ...続きを読む torch.viewも気をつけて使おう ! numpy.reshapeは気をつけて使おう ! の続きです。この記事の最後でも触れましたが、torch.viewも同様なわけですと言ってるそばから間違っていたという話しです。しかも学習という意味でデ ...続きを読む kernel_initializerって学習の収束に大事かも 例によってKerasからPyTorchへのお引越しでプチハマったことがあったのでまとめておきます。 Kerasでは学習が簡単に収束したのに、同じようにプログラムを組んだつもりでもPyTorchでは簡単 ...続きを読む numpy.reshapeは気をつけて使おう ! KerasからPyTorchへの乗りかえの一環で数日ハマっていたのですがようやく抜け出せました。終わってみれば大したことではなかったのですが、Kerasで一旦動作しているという気のゆるみが誘発したケア ...続きを読む PyTorchでclass_weightを適用するには バランスの取れたデータセットが常に用意できればよいのですが、ラベルごとにデータの数がばらついてしまうことはよくあります。 そんなとき、Kerasだとclass_weightを用意してmodel.fit ...続きを読む PyTorchで学習済みモデルの中間層出力の取得 学習済みモデルの中間層出力である特徴量を取得して、別の学習器に適用したいことってありますよね ? Kerasでは出力を再定義([probability] -> [probability, fea ...続きを読む torch.tensorとtorch.Tensor 新参者は歴史的な経緯を知らないので少しはまりました。Floatゼロ値のスカラーテンソルを作りたかっただけなのですが、torch.Tensor(0.) だとダメで正解は torch.tensor(0.) ...続きを読む Ubuntu20.04+CUDA11.2+PyTorch1.8.1+cu111がRTX3090のGPUで動作した ! RTX3090搭載のPCをゲットできたので、セットアップ。少しはまったけど無事PyTorchがRTX3090のGPUで動作したのでその手順をまとめておきます。 Ubuntu20.04のインストール こ ...続きを読む PyTorch LightningのckptファイルをLoadするのにはまった話のその後 やはり元の話しでの解決方法は、辞書の中身の違いを分析し、ある意味無理やり合わせることによって解決したのでスッキリしていないのと、エラーは出なくなったけどもパラメータがきちんとロードされていない場合も見 ...続きを読む PyTorch LightningのckptファイルをLoadするのにはまった話 PyTorch Lightningをベースに書かれた画像認識系のソースコードを拡張して自作データセットで学習させたときの苦労話し。 前提 torch.nn.Modulesでベースモデル (_model ...続きを読む The NVIDIA driver on your system is too oldって !!! PyTorch初心者ならではのはまりどころをご紹介していくcorner。 視線推定の論文を読んでいて、dataset, source code, 学習済みmodelが上がっていたので試していたときの話 ...続きを読む PyTorchの学習済みmodel fileの拡張子が.pth.tarではまった話 ども、グッディーです。PyTorch初心者ならではのはまりどころをご紹介していくcorner。 今回は視線推定の論文を読んでいて、dataset, source code, 学習済みmodelが上がっ ...続きを読む PyTorch Tutorial その4 – Training Classifier Blitzの最終回です。今回は、TRAINING A CLASSIFIERです。(以下翻訳です) 分類器の学習 さてこれまでのtutorialで、どのようにNeural Network (NN)が定義 ...続きを読む PyTorch Tutorial その3 – Neural Network 引き続きPyTorch Tutorialを見て行きます。今回は、NEURAL NETWORKSです。(以下翻訳です) Neural Network NNはtorch.nn packageを使って構築し ...続きを読む PyTorch Tutorial その2 – torch.autograd [latexpage] 引き続きPyTorch Tutorialを見て行きます。今回は、A GENTLE INTRODUCTION TO TORCH.AUTOGRADです。(以下翻訳です) torch ...続きを読む Pytorch Tutorial その1 – Tensor というわけで、Tensorflow 2で痛い目に遭ったので、PyTorchはじめました。ひとまずDEEP LEARNING WITH PYTORCH: A 60 MINUTE BLITZから見てみまし ...続きを読む Tensorflow & Keras kernel_initializerって学習の収束に大事かも 例によってKerasからPyTorchへのお引越しでプチハマったことがあったのでまとめておきます。 Kerasでは学習が簡単に収束したのに、同じようにプログラムを組んだつもりでもPyTorchでは簡単 ...続きを読む numpy.reshapeは気をつけて使おう ! KerasからPyTorchへの乗りかえの一環で数日ハマっていたのですがようやく抜け出せました。終わってみれば大したことではなかったのですが、Kerasで一旦動作しているという気のゆるみが誘発したケア ...続きを読む PyTorchでclass_weightを適用するには バランスの取れたデータセットが常に用意できればよいのですが、ラベルごとにデータの数がばらついてしまうことはよくあります。 そんなとき、Kerasだとclass_weightを用意してmodel.fit ...続きを読む Tensorflow 1と2のModel混在のときに目からうろこだった話 そもそも 1年半くらい前はTensorflow 1ベースで推定器開発をしていた人も多いはず。 グッディーもTF 1.12で開発した3つの推定器を組み合わせて上位のinferenceを行ってました。結構 ...続きを読む Onnx ONNX RuntimeでGPUメモリー削減につながった意外なこと またまた ONNX Runtime ネタです。 PyTorchからONNXへの変換を調べるときにまず見るサイトのひとつが、PyTorch Tutorials にある (OPTIONAL) EXPORT ...続きを読む ONNX RuntimeでGPUを指定する方法 ONNX RuntimeでGPUを指定する方法って知ってました ? もしかしたらほとんどの方が知っているのかも知れませんが、恥ずかしながら知りませんでした。というかできないと思ってました。 というのは ...続きを読む ONNX RuntimeでWarningを消す方法 タイトルだけだと意味不明かもしれませんので正しく書くと、ONNX Runtimeで動作する「他の人が開発した」Inferencerから出力されるWarningを出なくする方法、です。 いきさつ ONN ...続きを読む Docker Watchdogが意外と使えた話し リモートワークが当たり前の世の中になり、リモートで職場のPCに入って作業することが多くなりました。でも、Linux PCに入ってPython Programを書いてAI開発していると、結構いろいろなハ ...続きを読む Docker buildでthe public key is not available: NO_PUBKEY A4B469963BF863CC への対処 びっくりしましたよね。昨日まで普通に通っていたビルドが急に通らなくなったのですから。でも落ちついて対処しましょう。やるべきことはシンプルです。 トラブルの原因 Notice; CUDA Linux R ...続きを読む Docker container内でsudoするとsudo: effective uid is not 0と言われる問題が解決 ! いきさつ 実はグッディーの環境ではいつからかDocker container内でsudoすると、 sudo: effective uid is not 0, is /usr/bin/sudo on a ...続きを読む Docker + opencv-pythonでImportError: libGL.so.1が出て調べたこと 環境 周辺事情によりやや古い環境ですが: # cat /proc/versionLinux version 4.15.0-54-generic (buildd@lgw01-amd64-014) (gc ...続きを読む Docker containerからHostのCamera画像を取得してHostのDisplayに出力する よくある話しかも知れませんが、OpenCVベースのシンプルなプログラムでいろいろ試してみて、新しい発見もあったので、まとめてみます。 はじめに 実験のために走らせたプログラムは、OpenCVベースの単 ...続きを読む Staticなffmpegがとてもusefulだった話 ffmpeg Linux環境で画像系のソフトウェア開発されている方は、ffmpegを使うことも多いのではないでしょうか?動画をお手軽にコマンドラインで編集できて、とても便利です。 でもffmpegは依 ...続きを読む OpenCV OpenCV CLAHEのclip limitの意味 自前で用意した画像データの色味や光源環境の影響で学習や認識がうまく行かないことってありますよね ? そんなときに活躍するのがEqualizationすなわちヒストグラム平坦化です。 Equalizat ...続きを読む Workaround for the instable cv2.solvePnP with flags=cv2.SOLVEPNP_ITERATIVE 顔認識でFacelandmarkやHeadposeを扱う場合、cv2.solvePnP() を使って回転ベクトル (rvec) と並進ベクトル (tvec) を取得し、cv2.Rodrigues(rv ...続きを読む Docker + opencv-pythonでImportError: libGL.so.1が出て調べたこと 環境 周辺事情によりやや古い環境ですが: # cat /proc/versionLinux version 4.15.0-54-generic (buildd@lgw01-amd64-014) (gc ...続きを読む Docker containerからHostのCamera画像を取得してHostのDisplayに出力する よくある話しかも知れませんが、OpenCVベースのシンプルなプログラムでいろいろ試してみて、新しい発見もあったので、まとめてみます。 はじめに 実験のために走らせたプログラムは、OpenCVベースの単 ...続きを読む WebApp Rabbitmq+Python Pikaのcallbackで長時間processするときのframework Web server & client system において、Webブラウザーからサーバーにファイルをアップロードし、Rabbitmq でキューイングされたファイルを Python Pika ...続きを読む ffmpeg-pythonでgevent monkey patchを使わずにshow progressしてみた "ffmpeg-python show progress"で検索すると出てくるのがこのコード (ffmpeg-python/show_progress.py at master - GitHub)。こ ...続きを読む