You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
2-8_SSD_inference.py で推論ができるところまでは確認しました。学習データをC++から使いたいと思っています。学習データを PyTorch C++ API から利用するために、「.pth」ファイルを「.pt」にして保存するため、 2-8_SSD_inference.py の最後に次のようなコードを追加してみました。
/home/soramimi/pytorch_advanced/2_objectdetection/utils/ssd_model.py:702: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs!
if scores.nelement() == 0: # nelementで要素数の合計を求めるTraceback (most recent call last):
File "/home/soramimi/pytorch_advanced/2_objectdetection/./2-8_SSD_inference.py", line 122, in <module>
traced_net = torch.jit.trace(net, example)
File "/usr/lib/python3.10/site-packages/torch/jit/_trace.py", line 750, in trace
return trace_module(
File "/usr/lib/python3.10/site-packages/torch/jit/_trace.py", line 967, in trace_module
module._c._create_method_from_trace(
File "/usr/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl
return forward_call(*input, **kwargs)
File "/usr/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1118, in _slow_forward
result = self.forward(*input, **kwargs)
File "/home/soramimi/pytorch_advanced/2_objectdetection/utils/ssd_model.py", line 813, in forward
return self.detect.apply(output[0], output[1], output[2])
File "/home/soramimi/pytorch_advanced/2_objectdetection/utils/ssd_model.py", line 715, in forward
ids, count = nm_suppression(
File "/home/soramimi/pytorch_advanced/2_objectdetection/utils/ssd_model.py", line 546, in nm_suppression
keep = scores.new(scores.size(0)).zero_().long()
TypeError: expected TensorOptions(dtype=float, device=cpu, layout=Strided, requires_grad=false (default), pinned_memory=false (default), memory_format=(nullopt)) (got TensorOptions(dtype=long int, device=cpu, layout=Strided, requires_grad=false (default), pinned_memory=false (default), memory_format=(nullopt)))
2-8_SSD_inference.py で推論ができるところまでは確認しました。学習データをC++から使いたいと思っています。学習データを PyTorch C++ API から利用するために、「.pth」ファイルを「.pt」にして保存するため、 2-8_SSD_inference.py の最後に次のようなコードを追加してみました。
これを実行した結果、次のようなエラーが出ました。
「dtype=float」と「dtype=long int」という、データ型の違いのため、traceできないということのようです。
私はC++はだいたいわかりますが、Pythonについてはあまり詳しくないため、上のコードが正しいのか、そもそも、学習データをC++から利用するためのデータを作成することが可能なのかよくわからず、ネットで調べて試行錯誤しながら進めています。解決策はあるでしょうか?
【実行環境】
The text was updated successfully, but these errors were encountered: