I am trying to install DALI using pip install --extra-index-url https://developer.download.nvidia.com/compute/redist nvidia-dali-cuda100 on Jetson Xavior NX. But getting the following error :
_### _ERROR: Command errored out with exit status 1:
command: /usr/bin/python3 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-ts9koafb/nvidia-dali-cuda100/setup.py'"'"'; __file__='"'"'/tmp/pip-install-ts9koafb/nvidia-dali-cuda100/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-crk820lu
cwd: /tmp/pip-install-ts9koafb/nvidia-dali-cuda100/
Complete output (18 lines):
Traceback (most recent call last):
File "
File "/tmp/pip-install-ts9koafb/nvidia-dali-cuda100/setup.py", line 150, in
raise RuntimeError(open("ERROR.txt", "r").read())
RuntimeError:
###########################################################################################
The package you are trying to install is only a placeholder project on PyPI.org repository.
This package is hosted on NVIDIA Python Package Index.
This package can be installed as:
```
$ pip install nvidia-pyindex
$ pip install nvidia-dali-cuda100
```
Please refer to NVIDIA DALI installation guide for instructions:
https://docs.nvidia.com/deeplearning/dali/user-guide/docs/installation.html
###########################################################################################
----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.__
Hi,
That is expected. There is no build available for Jetson, and what you get is just a stub that guards against other people uploading the package names the same way as DALI to the PyPI. However you can build a Jetson wheel on your own, please follow this guide, with the small correction that it will provide a full Python wheel now, an appropriate documentation fix is under review.
Thanks, @JanuszL for the Reply. I sure want to try that but before that, I have two questions:
To get Jetson SDK please follow this guide - it requires registration and using a custom downloader that is why we cannot make it an unattended step in the build process.
How am I able to run "pip install --extra-index-url https://developer.download.nvidia.com/compute/redist nvidia-dali-cuda110" successfully over Jetson NX then?
When you have a wheel ready you need to copy it to the Jetson platform and then install it by pip install file_name.
@JanuszL I am not able to get "cuda-repo-ubuntu1804-10-2-local-10.2.89-440.40_1.0-1_amd64.deb" file since I am getting below error when trying "sudo find / -name cuda-repo-ubuntu1804-10-2-local-10.2.89-440.40_1.0-1_amd64.deb" ::::
find: ‘/run/user/1000/gvfs’: Permission denied
Have you managed to run the Jetson SDK? If so it should download the necessary files.
find: ‘/run/user/1000/gvfs’: Permission denied
I think you can skip that message, thefindcommand will yield it for every directory/file it can't access.
Yes @JanuszL, I did that, in the beginning, two months ago when I started the Board. Do I need to redo it again? For that, I have to take a backup first.
If it is not there you probably need to download it again. It may also happen that the Jetson platform was updated and the *.deb name has changed.
Thanks, for the quick support @JanuszL. Actually, I wanted to use Dali to make image loading efficient on Jetson while Inferencing. What you suggested is obviously I gonna try but do you recommend any alternative for Dali based on your experience?
What you suggested is obviously I gonna try but do you recommend any alternative for Dali based on your experience?
Have you checked https://developer.nvidia.com/deepstream-sdk?
Yeah, I am aware of DeepStream but wondering how it loads images in c++. I have to look codes for that.
@JanuszL, have few more questions?
dpkg: error processing archive sdkmanager_0.9.11-3405_amd64.deb (--install):
package architecture (amd64) does not match system (arm64)
Errors were encountered while processing:
sdkmanager_0.9.11-3405_amd64.deb
Hi,
Can I Dali for TensorRT
Why not. From the python side, you can find some reference in this thread.
Can it be used in C++ script?
C++ API is not officially supported nor stable. You can check this file to see how to build the pipeline purely in C++. Also, you can use C API to run the pipeline you have serialized from the python definition and load it from the discs.
And finally, I am not able to install Nvidia SDK Manager on Jetson. Getting the following error:
It seems you are installing host side package on Jetson. There is one part of the SDK for the host and the Jetson itself. DALI needs the host-side part.
I appreciate your support @JanuszL.
I have one more question. Why Dali Functional API is slower in terms of loading a single image when compared to the actual Dali pipeline?
Why Dali Functional API is slower in terms of loading a single image when compared to the actual Dali pipeline?
Is it? Functional API is just syntactic sugar over the regular one, the actual exaction flow is exactly the same. Do you have any particular example? Any simple and self-contained repro would be great.
@JanuszL Actually, I tested inference preprocessing which includes: 1. decoding 2. resizing 3. transposing 4. normalizing
on DALI as well as OpenCV but the entire preprocessing time is higher on DALI than OpenCV.
And I am not sure why that is happening because theoretically DALI runs on GPU and it should be faster(when ran on mixed+gpu mode) but it is not the case. I looked in detail and found that operations like resizing, normalizing, and transposing are taking much time while decoding is faster.
It very much depends on how you used and configured your pipeline. Without any preproduction code, we can't tell you where the issue might be. Also, I don't see anything related to the functional API.