Re: Which version of pytorch is available with nnstreamer-pytorch 2.1.0.0-0~202111300837~ubuntu18.04.1?
Hello,
Apart from the pipeline description, backward-compatibility should mean that Pytorch 1.10.1 can load model built with pytorch 1.3.1 not vice versa.
(eg) excel 2010 can open file saved with excel 2003 but not the other way around)
If problem persists, you might want to check if libtorch 1.3.1 is capable of loading yolov5s.torchscript.pt or use suitable libtorch version.
Bests,
Ji
From: nnstreamer-technical-discuss@... <nnstreamer-technical-discuss@...> On Behalf Of 이병헌
Sent: Thursday, December 2, 2021 3:09 PM
To: nnstreamer-technical-discuss@...
Subject: [NNStreamer Technical Discuss] Which version of pytorch is available with nnstreamer-pytorch 2.1.0.0-0~202111300837~ubuntu18.04.1?
Hi dev.
I’m trying to use yolov5s tensorscript.pt file that exported from yolov5 GitHub code with nnstreamer pipeline.
I’m working on develop environment with nnstreamer/tools/docker/ubuntu18.04-run/Dockerfile
Below is my test pipeline.
const char *string = "rtspsrc location=rtsp://address:port/mount latency=0 \
protocols=4 ! rtph265depay ! avdec_h265 ! \
videoscale ! videoconvert ! video/x-raw,format=RGB,width=640,height=640 ! \
tensor_converter ! tensor_filter framework=pytorch \
model=../../tf_model/yolov5s.torchscript.pt \
input=3:640:640:1 inputname=x inputtype=float32 \
output=1:25200:85 outputname=416 outputtype=float32 \
! tensor_sink name=tensor_sink”;
But with this pipeline, I got error as below
failed to initialize the object: PyTorch
0:00:00.376511035 29 0x559a1ba3d4c0 WARN GST_PADS gstpad.c:1149:gst_pad_set_active:<tensorfilter0:sink> Failed to activate pad
** Message: 05:11:55.607: gpu = 0, accl = cpu
** (tester:29): CRITICAL **: 05:11:55.610: Exception while loading the model:
aten::_convolution(Tensor input, Tensor weight, Tensor? bias, int[] stride, int[] padding, int[] dilation, bool transposed, int[] output_padding, int groups, bool benchmark, bool deterministic, bool cudnn_enabled) -> (Tensor):
Expected at most 12 arguments but found 13 positional arguments.
:
/opt/conda/lib/python3.8/site-packages/torch/nn/modules/conv.py(442): _conv_forward
/opt/conda/lib/python3.8/site-packages/torch/nn/modules/conv.py(446): forward
/opt/conda/lib/python3.8/site-packages/torch/nn/modules/module.py(1090): _slow_forward
/opt/conda/lib/python3.8/site-packages/torch/nn/modules/module.py(1102): _call_impl
/usr/src/app/yolov5/models/common.py(49): forward_fuse
/opt/conda/lib/python3.8/site-packages/torch/nn/modules/module.py(1090): _slow_forward
/opt/conda/lib/python3.8/site-packages/torch/nn/modules/module.py(1102): _call_impl
/usr/src/app/yolov5/models/common.py(207): forward
/opt/conda/lib/python3.8/site-packages/torch/nn/modules/module.py(1090): _slow_forward
/opt/conda/lib/python3.8/site-packages/torch/nn/modules/module.py(1102): _call_impl
/usr/src/app/yolov5/models/yolo.py(149): _forward_once
/usr/src/app/yolov5/models/yolo.py(126): forward
/opt/conda/lib/python3.8/site-packages/torch/nn/modules/module.py(1090): _slow_forward
/opt/conda/lib/python3.8/site-packages/torch/nn/modules/module.py(1102): _call_impl
/opt/conda/lib/python3.8/site-packages/torch/jit/_trace.py(958): trace_module
/opt/conda/lib/python3.8/site-packages/torch/jit/_trace.py(741): trace
export.py(71): export_torchscript
export.py(372): run
/opt/conda/lib/python3.8/site-packages/torch/autograd/grad_mode.py(28): decorate_context
export.py(430): main
export.py(435): <module>
Serialized File "code/__torch__/torch/nn/modules/conv.py", line 12
bias = self.bias
weight = self.weight
input0 = torch._convolution(input, weight, bias, [1, 1], [1, 1], [1, 1], False, [0, 0], 1, False, False, True, True)
~~~~~~~~~~~~~~~~~~ <--- HERE
return input0
** (tester:29): CRITICAL **: 05:11:55.610: Failed to load model
It looks like something that happens when the yolov5 pytorch version and nnstreamer runtime pytorch version are different.
But I heard as pytorch is backward compatible type.
Yolov5 pytorch version is 1.10.1
And with description on nnstreamer-pytorch in GitHub, It looks like It is built from pytorch version 1.3.1
After this point, I lost the way to go.
If do you have any advise, tell me.
Additionaly, In tensorfilter element, How can I get the property that name of “outputname” and “inputname” from pytorch model?
When I convert pytorch model to onnx model, there have arg that I can specify.
But I cannot find those arg when I export model as normal pt or tensorsciprt.
regards.
|
|