2020-01-01から1年間の記事一覧

ROCm3.5でPyTorchビルド

前回の続き?のような何か。 maminus.hatenadiary.org 今回やったこと ROCm3.5 Docker環境 PyTorchをmasterブランチでビルド torchvisionをmasterブランチでビルド 上記に伴い公式にバグ報告 前回同様PyTorch版EfficientDet1で動作確認 前回からの変化点を中…

cv::fisheye::initUndistortRectifyMapのPについて

自分用のメモ OpenCV公式のIssue1にある通り、cv::fisheye::initUndistortRectifyMap()の実装にバグがあるような気がする。x、yの値が0〜size.width、0〜size.heightになっているが、uvの計算式は-1.0〜+1.0?の範囲を想定しているように見える。 for( int i…

PyTorch版EfficientDetをROCm環境で実行してみた

PyTorch版EfficientDet1のカメラで撮影した画像に推論結果を重畳してくれるデモをROCm環境で動かしたので手順などをメモ。 環境 Radeon RX 580 Ubuntu 18.04.4 LTS(ホスト側) dockerイメージ Docker Hubでrocm/pytorchの中からそれっぽいのを選択。 Ubuntu…

pip installできるようにしました

前回作ったなんちゃってライブラリを改良?したので報告。 maminus.hatenadiary.org 前回はライブラリをpip install .すらできなかった。 こんなエラーになる。 $ pip install . Processing /home/maminus/python3.6/ommle ERROR: Command errored out with …

ONNXモデルの中間ノード出力を抽出するライブラリを作ってみた

先日記事にしたこれを実装してみた。 maminus.hatenadiary.org ソースコード GitHubに上げました。まともな?ライブラリを作るの初めてなので何か間違ってるかも・・・(特にPipenv自信なし。pip install も直接gitを指定できなかった。たぶんどこか間違って…

浮動小数点誤差の自分メモ

普段適当にfloat32やfloat16使ってるけど、適当すぎてたまに困るので勉強のために机上での考察とプログラムを動かして検証してみた。 オーバーフロー、アンダーフロー 指数部が表現可能な範囲外を超えるケース float32なら指数が+127を超えるとオーバーフロ…

ONNXモデルの中間層出力を取得するアイデア

忘れないように自分用のメモ。 やりたいこと ONNXモデルを使って推論をする時に最終出力ではなく中間ノードの出力がほしい アイデア 2フェーズに分けて処理する 第一フェーズでは中間ノードの出力にShapeノード+出力ノードを接続する make_node('Shape', i…

OpenCL/CUDAのスレッド間通信めも

CUDAとOpenCLでスレッド同士の通信でどうするんだっけ?と思って調べたことを自分用にメモ。 AMD(OpenCL)はshuffleがなさそう retval = sub_group_broadcast(value, thread_id)がある 特定の1つのthread_idからWavefront全体に値をわたせる 隣のスレッドと…

YUY2のRAW画像を保存してPythonでRGB化

やったこと YUY2出力可能なUSBカメラをLinuxに接続 ffmpegでRAW画像キャプチャしてファイル保存 Pythonからnumpyで読み込み+OpenCVでRGBへ変換 正確にはBGRにしてファイル保存 キャプチャ(コマンドライン) $ ffmpeg -f v4l2 -input_format yuyv422 -video…