nvidia-ai-iot / jetcard Goto Github PK
View Code? Open in Web Editor NEWAn SD card image for web programming AI projects with NVIDIA Jetson Nano
License: MIT License
An SD card image for web programming AI projects with NVIDIA Jetson Nano
License: MIT License
Hello! recently was added the sudo chown -R jetson:jetson /usr/local/share/jupyter/lab/settings/build_config.json
command to fix some permission issue but this only works if the the jetson actually has a jetson user which is not necessarily the case for every Jetson board so when install.sh script gets to that point there is an error and nothing after it gets executed.
does it works for the Jetson Nano 2GB Developer Kit?
how can i Create SD card snapshot that suitable for the larger SD card(128g)
i follow the steps of “Create SD card snapshot ”, then i Create SD card(32g) snapshot .
however, after i flashed the image onto a larger SD card(128g),i found that it just can be used only about 32g storage space on my jetson nano system.
please help, thanks!
I am working on securing my Jetson with HTTPS.
I am using this documentation.
I have generated a ssl key using the following command:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout mykey.key -out mycert.pem
Now i want t start the Notebook server with ssl using:
jupyter notebook --certfile=mycert.pem --keyfile mykey.key
Now I get an error stating that my Server is already running.
That is logical because I am using the server to run this commands.
I want to start the notebook server with ssl on startup.
My question is:
Where is the script located used to start the server on startup, so I can replace the command and start with ssl?
When I run commands to check available memory (https://vitux.com/5-ways-to-check-available-memory-in-ubuntu/) I'm not seeing any numbers close to 128 gb.
I have tried downloading the image and installing it on multiple micro SD cards with no luck. I can easily get the standard Jetson Nano image to work and the jetbot image works fine, but not the jetcard image. I have used SD cards that worked fine with other images to try the jetcard image with no luck. When I use the jetcard image, I get no indication that anything is happening on the Jetson Nano. No boot messages, nothing.
I use option 2 to install jetcard. The jupter notebook is not working and the small display screen is not showing anything.
please help.
Thanks
Fengjun
I’m running a PyTorch model in jupyter notebook on Jetson nano and it has been very slow. The actual training doesn’t even seem to start and everything just freezes when I run the training cell. Can someone please suggest a solution for this?
Hi
What is the difference between Jetcard and Jetpack Images?
I am bit confused.
please advise
I am installing jetcard using the install.sh script on JetPack 4.5.1, but I am running into a couple errors when using this script.
The first error occurs when installing torchvision. The error log is shown below:
Install torchvision package
Cloning into 'torchvision'...
remote: Enumerating objects: 493867, done.
remote: Counting objects: 100% (7477/7477), done.
remote: Compressing objects: 100% (461/461), done.
remote: Total 493867 (delta 7037), reused 7427 (delta 7002), pack-reused 486390
Receiving objects: 100% (493867/493867), 957.29 MiB | 11.54 MiB/s, done.
Resolving deltas: 100% (460272/460272), done.
Reading package lists... Done
Building dependency tree
Reading state information... Done
libavcodec-dev is already the newest version (7:3.4.11-0ubuntu0.1).
libavformat-dev is already the newest version (7:3.4.11-0ubuntu0.1).
libswscale-dev is already the newest version (7:3.4.11-0ubuntu0.1).
The following packages were automatically installed and are no longer required:
apt-clone archdetect-deb bogl-bterm busybox-static cryptsetup-bin dpkg-repack gir1.2-timezonemap-1.0
gir1.2-xkl-1.0 grub-common kde-window-manager kinit kio kpackagetool5 kwayland-data kwin-common kwin-data
kwin-x11 libdebian-installer4 libkdecorations2-5v5 libkdecorations2private5v5 libkf5activities5 libkf5attica5
libkf5completion-data libkf5completion5 libkf5declarative-data libkf5declarative5 libkf5doctools5
libkf5globalaccel-data libkf5globalaccel5 libkf5globalaccelprivate5 libkf5idletime5 libkf5jobwidgets-data
libkf5jobwidgets5 libkf5kcmutils-data libkf5kcmutils5 libkf5kiocore5 libkf5kiontlm5 libkf5kiowidgets5
libkf5newstuff-data libkf5newstuff5 libkf5newstuffcore5 libkf5package-data libkf5package5 libkf5plasma5
libkf5quickaddons5 libkf5solid5 libkf5solid5-data libkf5sonnet5-data libkf5sonnetcore5 libkf5sonnetui5
libkf5textwidgets-data libkf5textwidgets5 libkf5waylandclient5 libkf5waylandserver5 libkf5xmlgui-bin
libkf5xmlgui-data libkf5xmlgui5 libkscreenlocker5 libkwin4-effect-builtins1 libkwineffects11 libkwinglutils11
libkwinxrenderutils11 libqgsttools-p1 libqt5designer5 libqt5help5 libqt5multimedia5 libqt5multimedia5-plugins
libqt5multimediaquick-p5 libqt5multimediawidgets5 libqt5opengl5 libqt5quickwidgets5 libqt5sql5 libqt5test5
libxcb-composite0 libxcb-cursor0 libxcb-damage0 os-prober python3-dbus.mainloop.pyqt5 python3-icu python3-pam
python3-pyqt5 python3-pyqt5.qtsvg python3-pyqt5.qtwebkit qml-module-org-kde-kquickcontrolsaddons
qml-module-qtmultimedia qml-module-qtquick2 rdate tasksel tasksel-data
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 444 not upgraded.
Note: checking out 'tags/v0.7.0'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:
git checkout -b <new-branch-name>
HEAD is now at 78ed10cc51 .circleci: Remove CUDA 9.2 for windows (#2504)
Traceback (most recent call last):
File "setup.py", line 13, in <module>
import torch
File "/usr/local/lib/python3.6/dist-packages/torch/__init__.py", line 188, in <module>
_load_global_deps()
File "/usr/local/lib/python3.6/dist-packages/torch/__init__.py", line 141, in _load_global_deps
ctypes.CDLL(lib_path, mode=ctypes.RTLD_GLOBAL)
File "/usr/lib/python3.6/ctypes/__init__.py", line 348, in __init__
self._handle = _dlopen(self._name, mode)
OSError: libcurand.so.10: cannot open shared object file: No such file or directory
When I comment out / remove the part where torchvision is installed I get a second error.
The second error occurs when installing TensorFlow. The error log is shown below:
ERROR: Failed building wheel for tensorrt
Running setup.py clean for tensorrt
Failed to build tensorrt
Installing collected packages: tensorrt
Running setup.py install for tensorrt ... 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-amd6wlvr/tensorrt_68313a65aae04cddae6cd4fa8848686e/setup.py'"'"'; __file__='"'"'/tmp/pip-install-amd6wlvr/tensorrt_68313a65aae04cddae6cd4fa8848686e/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-21w8iv__/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/include/python3.6/tensorrt
cwd: /tmp/pip-install-amd6wlvr/tensorrt_68313a65aae04cddae6cd4fa8848686e/
Complete output (38 lines):
WARNING: The directory '/home/jetson/.cache/pip' or its parent directory is not owned or is not writable by the current user. The cache has been disabled. Check the permissions and owner of that directory. If executing pip with sudo, you should use sudo's -H flag.
running install
WARNING: The directory '/home/jetson/.cache/pip' or its parent directory is not owned or is not writable by the current user. The cache has been disabled. Check the permissions and owner of that directory. If executing pip with sudo, you should use sudo's -H flag.
Looking in indexes: https://pypi.org/simple, https://pypi.nvidia.com
ERROR: Could not find a version that satisfies the requirement tensorrt_libs==8.6.1 (from versions: 9.0.0.post11.dev1, 9.0.0.post12.dev1, 9.0.1.post11.dev4, 9.0.1.post12.dev4, 9.1.0.post11.dev4, 9.1.0.post12.dev4, 9.2.0.post11.dev5, 9.2.0.post12.dev5, 9.3.0.post11.dev1, 9.3.0.post12.dev1)
ERROR: No matching distribution found for tensorrt_libs==8.6.1
WARNING: The directory '/home/jetson/.cache/pip' or its parent directory is not owned or is not writable by the current user. The cache has been disabled. Check the permissions and owner of that directory. If executing pip with sudo, you should use sudo's -H flag.
Looking in indexes: https://pypi.org/simple, https://pypi.nvidia.com
ERROR: Could not find a version that satisfies the requirement tensorrt_libs==8.6.1 (from versions: 9.0.0.post11.dev1, 9.0.0.post12.dev1, 9.0.1.post11.dev4, 9.0.1.post12.dev4, 9.1.0.post11.dev4, 9.1.0.post12.dev4, 9.2.0.post11.dev5, 9.2.0.post12.dev5, 9.3.0.post11.dev1, 9.3.0.post12.dev1)
ERROR: No matching distribution found for tensorrt_libs==8.6.1
Traceback (most recent call last):
File "/tmp/pip-install-amd6wlvr/tensorrt_68313a65aae04cddae6cd4fa8848686e/setup.py", line 40, in run_pip_command
return call_func([sys.executable, "-m", "pip"] + args, env=env)
File "/usr/lib/python3.6/subprocess.py", line 311, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/usr/bin/python3', '-m', 'pip', 'install', '--extra-index-url', 'https://pypi.nvidia.com', 'tensorrt_libs==8.6.1', 'tensorrt_bindings==8.6.1']' returned non-zero exit status 1.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-install-amd6wlvr/tensorrt_68313a65aae04cddae6cd4fa8848686e/setup.py", line 148, in <module>
download_url="https://github.com/nvidia/tensorrt/tags",
File "/usr/local/lib/python3.6/dist-packages/setuptools/__init__.py", line 163, 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 "/tmp/pip-install-amd6wlvr/tensorrt_68313a65aae04cddae6cd4fa8848686e/setup.py", line 69, in run
subprocess.check_call,
File "/tmp/pip-install-amd6wlvr/tensorrt_68313a65aae04cddae6cd4fa8848686e/setup.py", line 56, in run_pip_command
return call_func([pip_path] + args, env=env)
File "/usr/lib/python3.6/subprocess.py", line 311, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/usr/local/bin/pip', 'install', '--extra-index-url', 'https://pypi.nvidia.com', 'tensorrt_libs==8.6.1', 'tensorrt_bindings==8.6.1']' returned non-zero exit status 1.
----------------------------------------
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-amd6wlvr/tensorrt_68313a65aae04cddae6cd4fa8848686e/setup.py'"'"'; __file__='"'"'/tmp/pip-install-amd6wlvr/tensorrt_68313a65aae04cddae6cd4fa8848686e/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-21w8iv__/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/include/python3.6/tensorrt Check the logs for full command output.
Hi everyone,
I tried the new Jetcard Image based on Jetpack 4.5.1 on my Jetson Nano A02.
But as soon as I try to import torch or torchvision in a Jupyter Notebook I get the following error:
OSError: /usr/lib/aarch64-linux-gnu/libgomp.so.1: cannot allocate memory in static TLS block
Importing torch in terminal using the python3 environment works fine.
Any ideas what's the cause for that?
Thank you
this command cannot locate the statusbar package; was it recently deprecated?
https://github.com/NVIDIA-AI-IOT/jetcard/blob/master/install.sh#L61
Hi there,
I tried creating the installation for jetcard from scratch by starting from flashing Jetpack 4.2.2 to my sd card and then trying to install jetcard into jetson. However, when running ./install.sh, i encountered the error that nv-l4t-usb-device-mode.sh is not found inside the directory "/opt/nvidia/l4t-usb-device-mode/". Instead I had only nv-l4t-usb-device-mode-config.sh instead. Can anyone help with this?
When I change the ./install.sh to include nv-l4t-usb-device-mode-config.sh, the bash does not execute all the way too.
Hello,
i am trying to install jetcard onto my jetson nano. I cloned this repo
https://github.com/NVIDIA-AI-IOT/jetcard/tree/jetpack_4.2.2
Now i receive following error:
Collecting gast
Downloading gast-0.4.0-py3-none-any.whl (9.8 kB)
Collecting h5py
Downloading h5py-3.0.0.tar.gz (370 kB)
|████████████████████████████████| 370 kB 17.6 MB/s
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... error
ERROR: Command errored out with exit status 1:
command: /usr/bin/python3 /usr/local/lib/python3.6/dist-packages/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-6kveagwx/normal --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- 'Cython>=0.29; python_version < "3.8"' 'Cython>=0.29.14; python_version >= "3.8"' pkgconfig 'numpy==1.17.5; python_version == "3.8"' 'numpy==1.19.3; python_version >= "3.9"' 'numpy==1.14.5; python_version == "3.7"' 'numpy==1.12; python_version == "3.6"'
cwd: None
Complete output (2569 lines):
WARNING: The directory '/home/tobi-jetson/.cache/pip' or its parent directory is not owned or is not writable by the current user. The cache has been disabled. Check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Ignoring Cython: markers 'python_version >= "3.8"' don't match your environment
Ignoring numpy: markers 'python_version == "3.8"' don't match your environment
Ignoring numpy: markers 'python_version >= "3.9"' don't match your environment
The error message is way longer..
Would be nice if somenone could help. Thanks!
"python3 -m display_server.py" causes over %100 CPU use when there is no HDMI or OLED display attached. it depletes battery REALLY FAST!
@tokk-nv
Could you give a hand figuring exact steps to add an automatic wifi connection bring up to the default nvidia supplied sdcard image for nx/nano, please?
So that after flashing the sdcard at HostPC, then editing files on the sdcard filesystem from Host PC
then after inserting the sdcard into a robot
the robot will have the internet connection already so it can be ssh'ed in?
Thank you very much
reference similar implementation
https://github.com/duckietown/duckietown-shell-commands/blob/daffy/init_sd_card/constants.py#L34-L66
https://docs.duckietown.org/daffy/opmanual_duckiebot/out/duckiebot_network.html
At
Line 107 in 3f05343
Can this line be changed to have a timestamp file ending so that it can safely be repeated
A week or so ago I setup my Jetson Nano from instructions here:https://developer.nvidia.com/embedded/learn/get-started-jetson-nano-devkit#write
Having made my way through the "Hello AI World" I decided to follow the course material here:
Getting Started with AI on Jetson Nano: https://courses.nvidia.com/courses/course-v1:DLI+C-RX-02+V1/about
I was not about to download and install yet another SD card OS image as directed, that's just nuts, so I thought it should be possible to get everything required installed on top of my existing installation.
Searching around I found a suggestion in the forum saying I should use the install script in this repository. Great. https://forums.developer.nvidia.com/t/jupyter-notebook-in-jetson-nano/72586/6?u=zicog
Great except almost no part of it works. I have just spend some hours going through all the install steps and trying to work around their failures. I would list all the errors here but there are too many. Wrong node,js version, PyTorch is now broken, missing udev rules files, etc, etc.
Finally I have a JupyterLab up in my browser, except it has a Python console that is unresponsive, and the Chrome devtools tell me "jupyter_clickable_image_widget:plugin' failed to activate." (Which is odd because that is one thing that seemed to install without error).
To rub it in I now find this forum post: https://forums.developer.nvidia.com/t/installing-jetcard-missing-opt-nvidia-l4t-usb-device-mode-nv-l4t-usb-device-mode-sh/107720/2 that tells me:
If you are using JetPack 4.2.2 SD card image as a base, please try using the "jetpack_4.2.2" branch.
https://github.com/NVIDIA-AI-IOT/jetcard/tree/jetpack_4.2.2 2
Which is fine except I have learned from previous searching around that it is impossible to find out what version of jetpack pertains to my Jetson Nano Ubuntu operating system. Many have asked, none have received an answer.
All in all this script has wasted many hours and hosed my installation.
Any help forthcoming in fixing this mess would be very welcome.
The $DIR variable has a trailing slash and as such the script errors out due to the being a // creating the path /opt/nvidia/l4t-usb-device-mode//l4t-nv-usb-device-mode.sh. Furthermore, it should be l4t-nv-usb-device-mode-start.sh.
I try to install Jet Pack Version 4.5.1 to my jetson nano there is several bugs:
Need to give authorization to /home/jetson/.config/nautilus before use jetson nano
If not do it, cannot saw the nautilus menu(Solve)
Use command sudo chmod 777 /home/jetson/.config
Cannot use micro USB(unsolved)
I get the following error after I run
sudo apt-get update
Unable to boot afterword
I'm guessing the jetcard_nano-4gb-jp451.zip is deprecated and I should use the latest jetson-nano-jp461-sd-card-image.zip and add the Jetcard project.
I installed both jetcard and jetbot from scratch and ran into the following boot error (i2c complaining about cable not connected I think):
"tegra-i2c 7000c400.i2c: no acknowledge from address 0x3c error"
I believe the boot error is related to the display services.
Is there any way to work-around the error and get to a command line so the display services can be disabled?
Is a serial cable and console required at this point? A fallback option could be to rebuild the jetcard image from the jetpack image (again).
jetbot - create-sdcard-image-from-scratch.sh
#install jetcard display service
python3 -m jetcard.create_display_service
echo $password | sudo -S mv jetcard_display.service /etc/systemd/system/jetcard_display.service
echo $password | sudo -S systemctl enable jetcard_display
echo $password | sudo -S systemctl start jetcard_display
#Install jetbot services
cd jetbot/utils
python3 create_stats_service.py
sudo mv jetbot_stats.service /etc/systemd/system/jetbot_stats.service
sudo systemctl enable jetbot_stats
sudo systemctl start jetbot_stats
get ip address on ipaddress.com, modify hosts
This was what I got:
107.152.29.197 nvidia.box.com
107.152.29.201 nvidia.app.box.com
From L4T32.2, "cat /proc/device-tree/model" outputting value is different from what nvresizefs.sh checks.
"jetson-nano" -> "NVIDIA Jetson Nano Developer Kit"
Because of this, nvresizefs.sh exits unintentionally.
For reference, The JetPack 4.2.1 rev2 from sdkmanager has same issue.
I will confirm this on 4.2.2.
Hi,
I burned the image to an SD card, powered up, typed the password, Ctl-Alt-t for a terminal, ping 192.168.1.1 and I can see my router responding. Cool. I can even log in to the nano from other machines in the LAN. Looks good.
But from the nano, when I try to ping any outside number, e.g. 8.8.8.8, I get nothing. Obviously this will be a problem for updating packages, etc. I know the network/router is fine (using it now). I feel like there is something amiss with the nano's eth0 network port network setup. I tried doing everything I could think of to the routing tables and firewall. I do not have Docker expertise, but I can see that's not exactly simplifying things.
Any hints about why the eth0 would be broken? I have the same problem with the default SD card image too.
Here's what the routes look like. I tried getting rid of all the l4tbr0 ones but that doesn't seem to help.
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 20100 0 0 eth0
0.0.0.0 192.168.55.100 0.0.0.0 UG 32766 0 0 l4tbr0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 l4tbr0
192.168.1.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0
192.168.55.0 0.0.0.0 255.255.255.0 U 0 0 0 l4tbr0
I also tried plugging in a USB-wifi adapter and that worked fine (with the same router I'm trying to configure a wired connection to).
Thanks
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.