Pythonサンプルコード: 数値型の縮小変換により実行時例外が起きる問題の修正(32bit環境) #35
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
内容
ONNX版コアのRaspberry Pi(32bit armv7l hardware float環境)向けのビルドを試しています。
そこで、サンプルコード実行時、
example/python/forwarder.py
内のnumpy.repeat
の呼び出しでTypeError: Cannot cast array data from dtype('int64') to dtype('int32') according to the rule 'safe'
というエラーが発生しました。このPRは、
numpy.repeat
の繰り返し回数repeats
としてnumpy.int64
型を渡していた部分をnumpy.int32
型に変更し、numpy内部で縮小変換(int64→int32の変換)させないようにすることで、実行時例外が起きないようにします。32bit環境か64bit環境かによって変わるかもしれないので、こちらで検証したらドラフトを外します。変更が必要であれば、このPRのまま対応するつもりです。
→ 64bit環境でもint32で動作しました。
Raspberry Pi 4B実機でのログ