memomem

備忘録・メモ置き場

async Taskのキャンセルについて

async Taskは便利だけど、cancel処理を書いておかないと色々とハマることがおおいから書くべき

※編集中

cts = new CancellationTokenSource();

cts.Token.Register(() =>
{
    Debug.WriteLine("キャンセルされました");
});

try, catchは必ず書くようにする。

catchした場合は再throwする。

async/awaitとCancellationTokenはセットで取り扱う。 asyncメソッドを定義するときは必ずCancellationTokenを引数にする。

参考

qiita.com

tera1707.com

qiita.com

zenn.dev

blog.neno.dev

qiita.com

tachis.hatenablog.com

blog.yucchiy.com

neue.cc

vcpkg

YDLidar SDKを使用しようとしてつまずいた。

github.com

インストール

> git clone https://github.com/microsoft/vcpkg
> .\vcpkg\bootstrap-vcpkg.bat

"vcpkg.exe"が生成される

ライブラリを探す

.\vcpkg search

で、全対応パッケージ一覧を出力できます。

.\vcpkg search 文字列

文字列に合致するパッケージ名のみ表示

参考

qiita.com

zenn.dev

github.com

Unity Barracuda 再履修

2023.11.17時点で、Barracuda今後はSentisに置き換えられるということだが、仕組み自体の変更はなさそうSentisもbetaなので、barracudaを使う。

PackageManagerでAdd Package by name...で追加をおこなう。

com.unity.barracuda

3.0.0がインストールされる。

参考

docs.unity3d.com

github.com

docs.unity3d.com

https://discussions.unity.com/t/about-sentis-beta/260899

edom18.hateblo.jp

note.com

Netron

ONNX(.nn)をノードで表示出来るビューワー

ブラウザ版と各アプリ版がある。

github.com

Tensorflow -> ONNX

Teachable MachineのデータをUnity Barracudaを使うためにTensforflowからONNXに変換をおこなう。

Macでtensorflow-onnxを実行していたが、エラーでコンバードできず。

結局Anacondaで仮想環境を作って、Pythonのバージョンを変更

  • Python 3.7.16
  • tensorflow 2.11.0
  • onnx 1.14.1
  • tf2onnx 1.15.1

で変換できるようになった。

pip install tensorflow
pip install onnxruntime
pip install -U tf2onnx
python -m tf2onnx.convert --saved-model [tensorflow-model-path] --output [model.onnx]

参考

https://github.com/onnx/tensorflow-onnx

techceed-inc.com