How to install onnx on jetson nano jetpack 4.6.1

I’m doing some deep learning project with jetson nano developer kit B01 with 4GB ram & jetpack 4.6.1

Knowing that tensorRT increases the speed of the model, so I tried to install onnx and tf2onnx.

But, when I install the onnx, “ERROR: Could not build wheels for onnx, which is required to install pyproject.toml-based projects.”

Can you teach me how to install onnx?
I really need you guys help.

Hi,

Have you tried the below command:

$ pip3 install onnx

Thanks.

Thanks for you reply.

I also tried pip3 install onnx, but same error occured.
(Cython, protobuf installed in my jetson nano)

Hi,

Could you share the complete error log so we can know more about the failure?
Thanks.

Here is my error log for pip3 install onnx==1.12

kucm@kucm-desktop:~$ pip3 install onnx==1.12
Defaulting to user installation because normal site-packages is not writeable
Collecting onnx==1.12
Using cached onnx-1.12.0.tar.gz (10.1 MB)
Preparing metadata (setup.py) … done
Requirement already satisfied: numpy>=1.16.6 in ./.local/lib/python3.6/site-packages (from onnx==1.12) (1.19.4)
Requirement already satisfied: protobuf<=3.20.1,>=3.12.2 in /usr/local/lib/python3.6/dist-packages (from onnx==1.12) (3.19.6)
Requirement already satisfied: typing-extensions>=3.6.2.1 in /usr/local/lib/python3.6/dist-packages (from onnx==1.12) (4.1.1)
Building wheels for collected packages: onnx
Building wheel for onnx (setup.py) … error
ERROR: Command errored out with exit status 1:
command: /usr/bin/python3 -u -c ‘import io, os, sys, setuptools, tokenize; sys.argv[0] = ‘"’"’/tmp/pip-install-4cux95i_/onnx_e30a8aa4a0d74619b9e1091413c8ed67/setup.py’“'”‘; file=’“'”‘/tmp/pip-install-4cux95i_/onnx_e30a8aa4a0d74619b9e1091413c8ed67/setup.py’“'”‘;f = getattr(tokenize, ‘"’“‘open’”’“‘, open)(file) if os.path.exists(file) else io.StringIO(’”‘“‘from setuptools import setup; setup()’”’“‘);code = f.read().replace(’”‘"’\r\n’“'”‘, ‘"’"’\n’“'”‘);f.close();exec(compile(code, file, ‘"’“‘exec’”’"‘))’ bdist_wheel -d /tmp/pip-wheel-k0or6x07
cwd: /tmp/pip-install-4cux95i_/onnx_e30a8aa4a0d74619b9e1091413c8ed67/
Complete output (146 lines):
fatal: not a git repository (or any of the parent directories): .git
/home/kucm/.local/lib/python3.6/site-packages/pkg_resources/init.py:119: PkgResourcesDeprecationWarning: 0.18ubuntu0.18.04.1 is an invalid version and will not be supported in a future release
PkgResourcesDeprecationWarning,
/home/kucm/.local/lib/python3.6/site-packages/setuptools/installer.py:30: SetuptoolsDeprecationWarning: setuptools.installer is deprecated. Requirements should be satisfied by a PEP 517 installer.
SetuptoolsDeprecationWarning,
running bdist_wheel
running build
running build_py
running create_version
running cmake_build
Using cmake args: [‘/usr/bin/cmake’, ‘-DPYTHON_INCLUDE_DIR=/usr/include/python3.6m’, ‘-DPYTHON_EXECUTABLE=/usr/bin/python3’, ‘-DBUILD_ONNX_PYTHON=ON’, ‘-DCMAKE_EXPORT_COMPILE_COMMANDS=ON’, ‘-DONNX_NAMESPACE=onnx’, ‘-DPY_EXT_SUFFIX=.cpython-36m-aarch64-linux-gnu.so’, ‘-DCMAKE_BUILD_TYPE=Release’, ‘-DONNX_ML=1’, ‘/tmp/pip-install-4cux95i_/onnx_e30a8aa4a0d74619b9e1091413c8ed67’]
– The C compiler identification is GNU 7.5.0
– The CXX compiler identification is GNU 7.5.0
– Check for working C compiler: /usr/bin/cc
– Check for working C compiler: /usr/bin/cc – works
– Detecting C compiler ABI info
– Detecting C compiler ABI info - done
– Detecting C compile features
– Detecting C compile features - done
– Check for working CXX compiler: /usr/bin/c++
– Check for working CXX compiler: /usr/bin/c++ – works
– Detecting CXX compiler ABI info
– Detecting CXX compiler ABI info - done
– Detecting CXX compile features
– Detecting CXX compile features - done
– Found PythonInterp: /usr/bin/python3 (found version “3.6.9”)
– Found PythonLibs: /usr/lib/aarch64-linux-gnu/libpython3.6m.so (found version “3.6.9”)
– Looking for pthread.h
– Looking for pthread.h - found
– Looking for pthread_create
– Looking for pthread_create - not found
– Looking for pthread_create in pthreads
– Looking for pthread_create in pthreads - not found
– Looking for pthread_create in pthread
– Looking for pthread_create in pthread - found
– Found Threads: TRUE
/usr/local/bin/protoc: error while loading shared libraries: libprotoc.so.15: cannot open shared object file: No such file or directory
CMake Warning at /usr/share/cmake-3.10/Modules/FindProtobuf.cmake:455 (message):
Protobuf compiler version doesn’t match library version 3.5.1
Call Stack (most recent call first):
CMakeLists.txt:175 (find_package)

– Found Protobuf: /usr/local/lib/libprotobuf.so;-lpthread (found version “3.5.1”)
Generated: /tmp/pip-install-4cux95i_/onnx_e30a8aa4a0d74619b9e1091413c8ed67/.setuptools-cmake-build/onnx/onnx-ml.proto
Generated: /tmp/pip-install-4cux95i_/onnx_e30a8aa4a0d74619b9e1091413c8ed67/.setuptools-cmake-build/onnx/onnx-operators-ml.proto
Generated: /tmp/pip-install-4cux95i_/onnx_e30a8aa4a0d74619b9e1091413c8ed67/.setuptools-cmake-build/onnx/onnx-data.proto
– Could NOT find pybind11 (missing: pybind11_DIR)
– pybind11 v2.9.1
– Found PythonLibs: /usr/lib/aarch64-linux-gnu/libpython3.6m.so
– Performing Test HAS_FLTO
– Performing Test HAS_FLTO - Success

– ******** Summary ********
– CMake version : 3.10.2
– CMake command : /usr/bin/cmake
– System : Linux
– C++ compiler : /usr/bin/c++
– C++ compiler version : 7.5.0
– CXX flags : -Wnon-virtual-dtor
– Build type : Release
– Compile definitions : __STDC_FORMAT_MACROS
– CMAKE_PREFIX_PATH :
– CMAKE_INSTALL_PREFIX : /usr/local
– CMAKE_MODULE_PATH :

– ONNX version : 1.12.0
– ONNX NAMESPACE : onnx
– ONNX_USE_LITE_PROTO : OFF
– USE_PROTOBUF_SHARED_LIBS : OFF
– Protobuf_USE_STATIC_LIBS : ON
– ONNX_DISABLE_EXCEPTIONS : OFF
– ONNX_WERROR : OFF
– ONNX_BUILD_TESTS : OFF
– ONNX_BUILD_BENCHMARKS : OFF
– ONNXIFI_DUMMY_BACKEND : OFF
– ONNXIFI_ENABLE_EXT : OFF

– Protobuf compiler : /usr/local/bin/protoc
– Protobuf includes : /usr/local/include
– Protobuf libraries : /usr/local/lib/libprotobuf.so;-lpthread
– BUILD_ONNX_PYTHON : ON
– Python version :
– Python executable : /usr/bin/python3
– Python includes : /usr/include/python3.6m
– Configuring done
– Generating done
– Build files have been written to: /tmp/pip-install-4cux95i_/onnx_e30a8aa4a0d74619b9e1091413c8ed67/.setuptools-cmake-build
Scanning dependencies of target gen_onnx_proto
Scanning dependencies of target onnxifi_dummy
Scanning dependencies of target onnxifi_loader
[ 2%] Building C object CMakeFiles/onnxifi_dummy.dir/onnx/onnxifi_dummy.c.o
[ 2%] Running gen_proto.py on onnx/onnx.in.proto
[ 4%] Building C object CMakeFiles/onnxifi_loader.dir/onnx/onnxifi_loader.c.o
[ 5%] Linking C static library libonnxifi_loader.a
Processing /tmp/pip-install-4cux95i_/onnx_e30a8aa4a0d74619b9e1091413c8ed67/onnx/onnx.in.proto
Writing /tmp/pip-install-4cux95i_/onnx_e30a8aa4a0d74619b9e1091413c8ed67/.setuptools-cmake-build/onnx/onnx-ml.proto
Writing /tmp/pip-install-4cux95i_/onnx_e30a8aa4a0d74619b9e1091413c8ed67/.setuptools-cmake-build/onnx/onnx-ml.proto3
generating /tmp/pip-install-4cux95i_/onnx_e30a8aa4a0d74619b9e1091413c8ed67/.setuptools-cmake-build/onnx/onnx_pb.py
[ 7%] Linking C shared library libonnxifi_dummy.so
[ 8%] Running C++ protocol buffer compiler on /tmp/pip-install-4cux95i_/onnx_e30a8aa4a0d74619b9e1091413c8ed67/.setuptools-cmake-build/onnx/onnx-ml.proto
/usr/local/bin/protoc: error while loading shared libraries: libprotoc.so.15: cannot open shared object file: No such file or directory
CMakeFiles/gen_onnx_proto.dir/build.make:61: recipe for target ‘onnx/onnx-ml.pb.cc’ failed
make[2]: *** [onnx/onnx-ml.pb.cc] Error 127
CMakeFiles/Makefile2:178: recipe for target ‘CMakeFiles/gen_onnx_proto.dir/all’ failed
make[1]: *** [CMakeFiles/gen_onnx_proto.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs…
[ 8%] Built target onnxifi_loader
[ 8%] Built target onnxifi_dummy
Makefile:129: recipe for target ‘all’ failed
make: *** [all] Error 2
Traceback (most recent call last):
File “”, line 1, in
File “/tmp/pip-install-4cux95i_/onnx_e30a8aa4a0d74619b9e1091413c8ed67/setup.py”, line 354, in
“backend-test-tools = onnx.backend.test.cmd_tools:main”,
File “/home/kucm/.local/lib/python3.6/site-packages/setuptools/init.py”, line 153, in setup
return distutils.core.setup(**attrs)
File “/usr/lib/python3.6/distutils/core.py”, line 148, in setup
dist.run_commands()
File “/usr/lib/python3.6/distutils/dist.py”, line 955, in run_commands
self.run_command(cmd)
File “/usr/lib/python3.6/distutils/dist.py”, line 974, in run_command
cmd_obj.run()
File “/home/kucm/.local/lib/python3.6/site-packages/wheel/bdist_wheel.py”, line 299, in run
self.run_command(‘build’)
File “/usr/lib/python3.6/distutils/cmd.py”, line 313, in run_command
self.distribution.run_command(command)
File “/usr/lib/python3.6/distutils/dist.py”, line 974, in run_command
cmd_obj.run()
File “/usr/lib/python3.6/distutils/command/build.py”, line 135, in run
self.run_command(cmd_name)
File “/usr/lib/python3.6/distutils/cmd.py”, line 313, in run_command
self.distribution.run_command(command)
File “/usr/lib/python3.6/distutils/dist.py”, line 974, in run_command
cmd_obj.run()
File “/tmp/pip-install-4cux95i_/onnx_e30a8aa4a0d74619b9e1091413c8ed67/setup.py”, line 223, in run
self.run_command(“cmake_build”)
File “/usr/lib/python3.6/distutils/cmd.py”, line 313, in run_command
self.distribution.run_command(command)
File “/usr/lib/python3.6/distutils/dist.py”, line 974, in run_command
cmd_obj.run()
File “/tmp/pip-install-4cux95i_/onnx_e30a8aa4a0d74619b9e1091413c8ed67/setup.py”, line 217, in run
subprocess.check_call(build_args)
File “/usr/lib/python3.6/subprocess.py”, line 311, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command ‘[’/usr/bin/cmake’, ‘–build’, ‘.’, ‘–’, ‘-j’, ‘4’]’ returned non-zero exit status 2.

ERROR: Failed building wheel for onnx
Running setup.py clean for onnx
Failed to build onnx
Installing collected packages: onnx
Running setup.py install for onnx … error
ERROR: Command errored out with exit status 1:
command: /usr/bin/python3 -u -c ‘import io, os, sys, setuptools, tokenize; sys.argv[0] = ‘"’"’/tmp/pip-install-4cux95i_/onnx_e30a8aa4a0d74619b9e1091413c8ed67/setup.py’“'”‘; file=’“'”‘/tmp/pip-install-4cux95i_/onnx_e30a8aa4a0d74619b9e1091413c8ed67/setup.py’“'”‘;f = getattr(tokenize, ‘"’“‘open’”’“‘, open)(file) if os.path.exists(file) else io.StringIO(’”‘“‘from setuptools import setup; setup()’”’“‘);code = f.read().replace(’”‘"’\r\n’“'”‘, ‘"’"’\n’“'”‘);f.close();exec(compile(code, file, ‘"’“‘exec’”’"‘))’ install --record /tmp/pip-record-9xuqi6d2/install-record.txt --single-version-externally-managed --user --prefix= --compile --install-headers /home/kucm/.local/include/python3.6m/onnx
cwd: /tmp/pip-install-4cux95i_/onnx_e30a8aa4a0d74619b9e1091413c8ed67/
Complete output (113 lines):
fatal: not a git repository (or any of the parent directories): .git
/home/kucm/.local/lib/python3.6/site-packages/pkg_resources/init.py:119: PkgResourcesDeprecationWarning: 0.18ubuntu0.18.04.1 is an invalid version and will not be supported in a future release
PkgResourcesDeprecationWarning,
/home/kucm/.local/lib/python3.6/site-packages/setuptools/installer.py:30: SetuptoolsDeprecationWarning: setuptools.installer is deprecated. Requirements should be satisfied by a PEP 517 installer.
SetuptoolsDeprecationWarning,
running install
/home/kucm/.local/lib/python3.6/site-packages/setuptools/command/install.py:37: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
setuptools.SetuptoolsDeprecationWarning,
running build
running build_py
running create_version
running cmake_build
Using cmake args: [‘/usr/bin/cmake’, ‘-DPYTHON_INCLUDE_DIR=/usr/include/python3.6m’, ‘-DPYTHON_EXECUTABLE=/usr/bin/python3’, ‘-DBUILD_ONNX_PYTHON=ON’, ‘-DCMAKE_EXPORT_COMPILE_COMMANDS=ON’, ‘-DONNX_NAMESPACE=onnx’, ‘-DPY_EXT_SUFFIX=.cpython-36m-aarch64-linux-gnu.so’, ‘-DCMAKE_BUILD_TYPE=Release’, ‘-DONNX_ML=1’, ‘/tmp/pip-install-4cux95i_/onnx_e30a8aa4a0d74619b9e1091413c8ed67’]
/usr/local/bin/protoc: error while loading shared libraries: libprotoc.so.15: cannot open shared object file: No such file or directory
CMake Warning at /usr/share/cmake-3.10/Modules/FindProtobuf.cmake:455 (message):
Protobuf compiler version doesn’t match library version 3.5.1
Call Stack (most recent call first):
CMakeLists.txt:175 (find_package)

Generated: /tmp/pip-install-4cux95i_/onnx_e30a8aa4a0d74619b9e1091413c8ed67/.setuptools-cmake-build/onnx/onnx-ml.proto
Generated: /tmp/pip-install-4cux95i_/onnx_e30a8aa4a0d74619b9e1091413c8ed67/.setuptools-cmake-build/onnx/onnx-operators-ml.proto
Generated: /tmp/pip-install-4cux95i_/onnx_e30a8aa4a0d74619b9e1091413c8ed67/.setuptools-cmake-build/onnx/onnx-data.proto
-- Could NOT find pybind11 (missing: pybind11_DIR)
-- pybind11 v2.9.1
--
-- ******** Summary ********
--   CMake version             : 3.10.2
--   CMake command             : /usr/bin/cmake
--   System                    : Linux
--   C++ compiler              : /usr/bin/c++
--   C++ compiler version      : 7.5.0
--   CXX flags                 :  -Wnon-virtual-dtor
--   Build type                : Release
--   Compile definitions       : __STDC_FORMAT_MACROS
--   CMAKE_PREFIX_PATH         :
--   CMAKE_INSTALL_PREFIX      : /usr/local
--   CMAKE_MODULE_PATH         :
--
--   ONNX version              : 1.12.0
--   ONNX NAMESPACE            : onnx
--   ONNX_USE_LITE_PROTO       : OFF
--   USE_PROTOBUF_SHARED_LIBS  : OFF
--   Protobuf_USE_STATIC_LIBS  : ON
--   ONNX_DISABLE_EXCEPTIONS   : OFF
--   ONNX_WERROR               : OFF
--   ONNX_BUILD_TESTS          : OFF
--   ONNX_BUILD_BENCHMARKS     : OFF
--   ONNXIFI_DUMMY_BACKEND     : OFF
--   ONNXIFI_ENABLE_EXT        : OFF
--
--   Protobuf compiler         : /usr/local/bin/protoc
--   Protobuf includes         : /usr/local/include
--   Protobuf libraries        : /usr/local/lib/libprotobuf.so;-lpthread
--   BUILD_ONNX_PYTHON         : ON
--     Python version        :
--     Python executable     : /usr/bin/python3
--     Python includes       : /usr/include/python3.6m
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/pip-install-4cux95i_/onnx_e30a8aa4a0d74619b9e1091413c8ed67/.setuptools-cmake-build
[  4%] Running C++ protocol buffer compiler on /tmp/pip-install-4cux95i_/onnx_e30a8aa4a0d74619b9e1091413c8ed67/.setuptools-cmake-build/onnx/onnx-ml.proto
[  4%] Built target onnxifi_loader
[  7%] Built target onnxifi_dummy
/usr/local/bin/protoc: error while loading shared libraries: libprotoc.so.15: cannot open shared object file: No such file or directory
CMakeFiles/gen_onnx_proto.dir/build.make:61: recipe for target 'onnx/onnx-ml.pb.cc' failed
make[2]: *** [onnx/onnx-ml.pb.cc] Error 127
CMakeFiles/Makefile2:178: recipe for target 'CMakeFiles/gen_onnx_proto.dir/all' failed
make[1]: *** [CMakeFiles/gen_onnx_proto.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
Scanning dependencies of target onnxifi_wrapper
[  8%] Building C object CMakeFiles/onnxifi_wrapper.dir/onnx/onnxifi_wrapper.c.o
[  9%] Linking C shared module libonnxifi.so
[  9%] Built target onnxifi_wrapper
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/tmp/pip-install-4cux95i_/onnx_e30a8aa4a0d74619b9e1091413c8ed67/setup.py", line 354, in <module>
    "backend-test-tools = onnx.backend.test.cmd_tools:main",
  File "/home/kucm/.local/lib/python3.6/site-packages/setuptools/__init__.py", line 153, in setup
    return distutils.core.setup(**attrs)
  File "/usr/lib/python3.6/distutils/core.py", line 148, in setup
    dist.run_commands()
  File "/usr/lib/python3.6/distutils/dist.py", line 955, in run_commands
    self.run_command(cmd)
  File "/usr/lib/python3.6/distutils/dist.py", line 974, in run_command
    cmd_obj.run()
  File "/home/kucm/.local/lib/python3.6/site-packages/setuptools/command/install.py", line 68, in run
    return orig.install.run(self)
  File "/usr/lib/python3.6/distutils/command/install.py", line 589, in run
    self.run_command('build')
  File "/usr/lib/python3.6/distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/usr/lib/python3.6/distutils/dist.py", line 974, in run_command
    cmd_obj.run()
  File "/usr/lib/python3.6/distutils/command/build.py", line 135, in run
    self.run_command(cmd_name)
  File "/usr/lib/python3.6/distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/usr/lib/python3.6/distutils/dist.py", line 974, in run_command
    cmd_obj.run()
  File "/tmp/pip-install-4cux95i_/onnx_e30a8aa4a0d74619b9e1091413c8ed67/setup.py", line 223, in run
    self.run_command("cmake_build")
  File "/usr/lib/python3.6/distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/usr/lib/python3.6/distutils/dist.py", line 974, in run_command
    cmd_obj.run()
  File "/tmp/pip-install-4cux95i_/onnx_e30a8aa4a0d74619b9e1091413c8ed67/setup.py", line 217, in run
    subprocess.check_call(build_args)
  File "/usr/lib/python3.6/subprocess.py", line 311, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/usr/bin/cmake', '--build', '.', '--', '-j', '4']' returned non-zero exit status 2.
----------------------------------------

ERROR: Command errored out with exit status 1: /usr/bin/python3 -u -c ‘import io, os, sys, setuptools, tokenize; sys.argv[0] = ‘"’"’/tmp/pip-install-4cux95i_/onnx_e30a8aa4a0d74619b9e1091413c8ed67/setup.py’“'”‘; file=’“'”‘/tmp/pip-install-4cux95i_/onnx_e30a8aa4a0d74619b9e1091413c8ed67/setup.py’“'”‘;f = getattr(tokenize, ‘"’“‘open’”’“‘, open)(file) if os.path.exists(file) else io.StringIO(’”‘“‘from setuptools import setup; setup()’”’“‘);code = f.read().replace(’”‘"’\r\n’“'”‘, ‘"’"’\n’“'”‘);f.close();exec(compile(code, file, ‘"’“‘exec’”’"‘))’ install --record /tmp/pip-record-9xuqi6d2/install-record.txt --single-version-externally-managed --user --prefix= --compile --install-headers /home/kucm/.local/include/python3.6m/onnx Check the logs for full command output.

I followed the code on this URL Getting error as ERROR: Failed build wheel for onnx

I solve the error by installing onnx version 1.11…
Build in jetson nano fail to install onnx under python edition <= 3.7

Is there any reference for onnx & onnxruntime for jetson nano that using python 3.6.9?

Hi,

You can find the ONNXRuntime package in the link below:

https://elinux.org/Jetson_Zoo#ONNX_Runtime

Thanks.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.