Maybe you can skip reading. Seems, I had an incomplete flash this run. Read on below, please
Please provide complete information as applicable to your setup.
• Hardware Platform (Jetson / GPU)
Jetson Nano eMMC
• DeepStream Version
5.1
• JetPack Version (valid for Jetson only)
• TensorRT Version
• NVIDIA GPU Driver Version (valid for GPU only)
• Issue Type( questions, new requirements, bugs)
• How to reproduce the issue ? (This is for bugs. Including which sample app is using, the configuration files content, the command line used and other details for reproducing)
• Requirement details( This is for new requirement. Including the module name-for which plugin or for which sample application, the function description)
I’m having a very weird problem. My DS application runs very well from SD. I was using the latest 5.1 SD image from the Nvidia side so far, installed GStreamer and DS SDK manually after having updated/upgraded the system.
Today I got an eMMC module. Mount and flash OK. I flashed using the Nvidia SDK manager 1.5 on Ubuntu and completed the installation using monitor and keyboard.
I tried on different ways make my app run, to no avail so far.
- Using the SDK manager to create an image containing system, JetPack and DS SDK, all latest
- Using the SDK manager to create an image as above, but not containing DS in order to install it on the device later on.
My basic setup after initial flash on device (after being up and running) is:
sudo apt update && sudo apt upgrade -y
sudo apt install -y nano python3-pip
sudo apt install -y libssl1.0.0 libgstreamer1.0-0 \
gstreamer1.0-tools gstreamer1.0-plugins-good \
gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly \
gstreamer1.0-plugins-base gstreamer1.0-libav \
libgstrtspserver-1.0-0 libjansson4=2.11-1
sudo apt install deepstream-5.1 -y
sudo nvpmodel -m 0 && sudo jetson_clocks
sudo apt autoremove -y
As said: I have done this 100 times from SD image, but now from eMMC I cannot make my app run (I know this sounds weird, but it is what it is)
My app traces this at startup, already giving a hint, what’s going wrong:
2021-04-29 18:59:02,142 inference.py INFO : JetPack SDK version: # R32 (release), REVISION: 5.1, GCID: 26202423, BOARD: t210ref, EABI: aarch64, DATE: Fri Feb 19 16:45:52 UTC 2021
2021-04-29 18:59:02,143 inference.py INFO : DeepStream SDK version: Version: 5.1 GCID: 26140461 EABI: DATE: Tue Feb 16 09:54:48 UTC 2021
2021-04-29 18:59:02,195 ranging.py INFO : Configured model: 'resnet10-caffemodel'
2021-04-29 18:59:02,197 ranging.py INFO : Configured object heights: {'person': {'abbr': 'p', 'height': 1700}}
2021-04-29 18:59:02,197 ranging.py INFO : Configured objects: ['person']
Traceback (most recent call last):
File "inference.py", line 647, in <module>
inference = Inference(args, labels, log)
File "inference.py", line 163, in __init__
pgie.set_property('config-file-path', args.config["pgie-config-file"])
AttributeError: 'NoneType' object has no attribute 'set_property'
2021-04-29 18:59:02,508 inference.py ERROR : Exception: 'NoneType' object has no attribute 'set_property'
2021-04-29 18:59:02,510 inference.py INFO : Terminating...
The error points to a pgie
object being None.
I tried to reproduce in a Python console on a fresh booted system, and indeed: pgie is None after this sequence:
import sys
sys.path.append('/opt/nvidia/deepstream/deepstream/lib')
import gi
gi.require_version('Gst', '1.0')
from gi.repository import GObject, Gst
GObject.threads_init()
Gst.init(None)
[]
pgie = Gst.ElementFactory.make('nvinfer', 'primary-inference')
print(pgie)
None
I currently cannot compare this with the results from SD, but I’m already having doubts with the []
as result of Gst.init(None)
, so I cannot even initialize GStreamer…
If you compare the initialization sequence with the official Python sample and also the creation of pgie
, you will note similarities:
Imports:
Gst-Init:
PGIE object creation:
So what might be the problem? I suppose it does have nothing to do with the fact, that I’m now using eMMC instead of an SD, but since I’m using a default image for the SD and a “self-made” for the eMMC maybe there is a difference?
Here BTW a screenshot of the USB cam sample app of the DS Python samples:
Sorry for the long post :/