torchvisionのtransformsはお手軽にdata augmentationができとても便利です。是非使い込んでほしいので、簡単な例を示しておきたいと思います。 公式ドキュメント TRANSFORMING A […]
Inference
ONNX RuntimeでGPUメモリー削減につながった意外なこと
またまた ONNX Runtime ネタです。 PyTorchからONNXへの変換を調べるときにまず見るサイトのひとつが、PyTorch Tutorials にある (OPTIONAL) EXPORTING A MODE […]
ONNX RuntimeでGPUを指定する方法
ONNX RuntimeでGPUを指定する方法って知ってました ? もしかしたらほとんどの方が知っているのかも知れませんが、恥ずかしながら知りませんでした。というかできないと思ってました。 というのは、 ここ(How t […]
ONNX RuntimeでWarningを消す方法
タイトルだけだと意味不明かもしれませんので正しく書くと、ONNX Runtimeで動作する「他の人が開発した」Inferencerから出力されるWarningを出なくする方法、です。 いきさつ ONNXって便利ですよね。 […]
torch.squeeze()よりtorch.view()が安心だった話し
torch.squeeze()を使う機会って場当たり的にやってきませんか ? これを計画的に使いこなしている人がいるとしたら、尊敬します。torch.unsqueeze()はまだ必要に応じて使っている感がありますが、to […]
PyTorchで突然malloc(): invalid next size (unsorted)が出たときの対処
さまざまなデータセットを複合的に利用するケースがあったのですが、その場合たった3つのデータセットでさえA, B, C, A+B, A+C, B+c, A+B+Cと7通りの組み合わせでトレーニング –> […]
OpenCV CLAHEのclip limitの意味
自前で用意した画像データの色味や光源環境の影響で学習や認識がうまく行かないことってありますよね ? そんなときに活躍するのがEqualizationすなわちヒストグラム平坦化です。 Equalization自体については […]
np.concatenate()とnp.random.shuffle()で多次元データのAugmentation
多次元配列のDatasetを扱っていると気が狂いそうになることがありませんか ? for loopで展開してもいいけど、せめて内包表記でシンプルに書けないかしらとか。DatasetのAugmentation(水増し)を考 […]
Workaround for the instable cv2.solvePnP with flags=cv2.SOLVEPNP_ITERATIVE
顔認識でFacelandmarkやHeadposeを扱う場合、cv2.solvePnP() を使って回転ベクトル (rvec) と並進ベクトル (tvec) を取得し、cv2.Rodrigues(rvec) から回転行列 […]
学習中にexit code 137 (SIGKILL)が発生したときの対処
引き続きPyTorch LSTMを使って学習したときに発生した問題の紹介です。シンプルなLSTMでは発生していなかったのですが、グラフの規模が大きいシステムを扱ったとたんにハマりました。結果的には初歩的なミスだったのです […]