Jupyter Notebook in Jetson Nano

Hi @Asmodev, which course/tutorials are you referring to? If you are going through the Jetson AI Fundamentals, you should be using the standard NVIDIA JetPack SD card image for those - a custom JetCard image isn’t needed.

The tutorials from the course all have their own containers which get downloaded to the standard image. JupyterLab is installed inside of the containers already. You don’t need to install JupyterLab yourself or make a new image for it.

2 Likes

Is all the imports and modules already included to use stereo csi camera in jupyter lab in the jetson-nano-sd-card-image?

The standard image doesn’t have JupyterLab installed - JupyterLab is inside the containers for the tutorials, like the ‘Getting Started with AI on Jetson Nano’ tutorial and the JetBot tutorial.

If you want to use JupyterLab outside of these tutorials, then I recommend using the l4t-ml container which already has JupyterLab installed.

Note that if you want to use dual CSI cameras inside of container, you should include the following flags in your docker run command:

--volume /tmp/argus_socket:/tmp/argus_socket \
--device /dev/video0 \
--device /dev/video1
1 Like

Does the jetcard image only support 1 csi camera? I had two csi cameras running on the 4gb jetson nano image but this jetcard does not even display video1 in the dev folder.

I think the pre-built JetCard image is based on an older version of JetPack before there were two CSI ports on the Nano. So yes, I would be using the latest standard JetPack image.

The tutorials from the course have containers which are downloaded on top of the standard JetPack image. I don’t recall them saying to use Jetcard in the documentation for those tutorials.

Sorry for the late reply, here is the most current discussion: Issues with Jupyter Notebook installation - #11 by icornejo.a.

This works for JP4.4 and JP4.4.1

It’s the only version that seems to work for me, the again I used a weird SD card that keeps losing files, I’ve since replace the SD with a high speed 4k sd card and everything seems to function as it should, perhaps I should refollow the course.

I do however ya e one camera functioning with her card and jetson-inference Tutorial and I am simply blown away at how simple it is to get it learning a model, I can’t wait to hear more from nvidia with a newer updated image with all the tutorials prebuilt and ready to use with desktop shortcuts that show a lot more information, since I’m a newb to python, I’m not really sure how to make a better notebook GUI for training, can you point me in the right direction for Jupiter lab notebook gui layouts?

We don’t plan to make an all-in-one image with all the tutorials pre-installed, because the images get to be a lot to maintain over time and are prone to going stale - and maybe some folks just want specific parts instead of everything (big image). Instead, we have containerized the tutorials so they are very easy to download the containers for. The container for each tutorial has everything pre-installed inside needed to run the tutorial.

I’m not terribly familiar myself with making the JupyterLab GUI’s, but I would basically start with how the Nano DLI course and JetBot are doing their GUI’s in Jupyter and modifying those as needed. Those are using the ipywidgets model for the GUI widgets in Jupyter notebooks.

Well so far there is four versions i know about, but installing them to find out which one has jupyter and all the prerequisites set up?

  1. jetcard_v0p0p0
  2. dlinano_v1-0-0_image_20GB
  3. jetson-nano-4gb-jp441-sd-card-image
  4. jetson-nano-developer-kit-sd-card-image

Which ones have jupyter preinstalled with all the notebooks to test for dual csi camera?

#1 . Don’t know (Might be?)
#2. Yes, jupyter lab is installed
#3. No
#4. No

Jupyter lab is not installed in the standard builds. There’s other discussions on installing Jupyter lab (for JP4.4) in the forum.

Hi @dusty_nv
I had succesfully run the jupyter container by following “Jetson AI Fundanmentals - S1E2”.
However, when I followed the instruction right here (Using Docker Container - JetBot) to run the container of Jetbot, I cannot successfully run the container of jupyter, here is the log while running the “enable.sh” in jetbot folder (cloned from GitHub - NVIDIA-AI-IOT/jetbot: An educational AI robot based on NVIDIA Jetson Nano. )

123@123-desktop:~/jetbot/docker$ ./enable.sh $HOME
Synchronizing state of docker.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable docker
1083206b938b4aa9e3515b79ba2e2aea7dcfc07f2303b01bf9ed95c85f0f1f48
docker: invalid reference format.
See ‘docker run --help’.

when I run disable.sh, here is the log I got

123@123-desktop:~/jetbot/docker$ ./disable.sh
Error response from daemon: No such container: jetbot_camera
Error: No such container: jetbot_camera
Error response from daemon: No such container: jetbot_jupyter
Error: No such container: jetbot_jupyter
jetbot_display
jetbot_display

I also tried to find the right place to including the scripts you mentioned for dual CSI camera,
but I’m not quire sure which file I should use, here are my options:

docker/configure.sh
docker/jupyter/enable.sh

#1 and #2 have JupyterLab, but I’m not sure if those images have been updated since the second CSI port was added to Nano.

#3 and #4 don’t have JupyterLab installed natively, but they can run the containers, which do have JupyterLab installed and can use the two cameras. Downloading and running the containers is easy - try using l4t-ml container and running it like so:

$ sudo docker pull nvcr.io/nvidia/l4t-ml:r32.4.4-py3          # assuming JetPack 4.4.1 - for JetPack 4.4, use l4t-ml:r32.4.3-py3
$ sudo docker run -it --rm --runtime nvidia --network host \
--volume /tmp/argus_socket:/tmp/argus_socket \
--device /dev/video0 \
--device /dev/video1 \
nvcr.io/nvidia/l4t-ml:r32.4.4-py3

The JupyterLab server will be started once the container is running, and it will print out instructions for you to login to Jupyter from your web browser.

Hi @dusty_nv
BTW, I also check the container running status via sudo docker container ls, and here is what I got:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ae731f7750b7 jetbot/jetbot:display-0.4.1-32.4.4 “/bin/sh -c 'python3…” 4 minutes ago Up 4 minutes jetbot_display

it seems that the jetbot_display container is initiated, but the jetbot_jupyter is not.
Would you please help identify the possible root causes? Thanks.

@lzlallen1980 hmm, I am not exactly sure which jetbot_jupyter would not start - can you post an issue to the JetBot GitHub or to a new forum topic so the JetBot guys can take a look? Thanks.

Honestly I’m starting to give up, The amount of headache this is causing is beyond anything else, all these images have problems, they have libraries missing and whatnot, ALSO, what’s the point in making us download a distro when you haven’t even configured it properly with the libs?.. OH NVIDIA! - You edit things and upload new distros with funky names and such… you don’t tell people “HEY THIS ONE IS THE LATEST WITH JUPYTER/NOTEBOOKS/AND EXAMPLES ALL CONFIGURED” - This whole jetbot community is UNORGANIZED AS.

Right now I’m using the Jetson Nano (4GB) JC:4.4.1/JB:0.4.1 image, everything works, the display comes up, the wheels however do not turn…

This is so annoying.

Followed this: JetBot
Made sure the wiring was correct, SDA 3, SCL 5 WIRE CONFIGURATION, Display lights up with IP/wifi-ip, go to notebooks in jupyter, open basic motion, play any of these fields and… this is where problems begin, Module not found blah blah blah!.. I’m not really a linux person, these instructions do not explain how to resolve these issues… You say it’s easy yet we spend a whole week getting to know this thing intimately and somehow it does not work… I’m not even surprised tbh.

1 Like

Sorry about that - if you are using the JetBot image then you can get in touch with the JetBot developers on their GitHub and see what is going on there: https://github.com/NVIDIA-AI-IOT/jetbot/issues

When you file an issue with them on GitHub, please provide the error message from Jupyter, and it will help them to identify the problem.

1 Like

I have followed this, since i have the waveshare sheild/display/batt etc…

Still the wheels don’t turn when I run the example notebook.

The display shows correct information which means sda/scl are working, which means the voltages connection is correct since its aligned to pins 1-6… so… I’m… I’m literally baffled…

Hi, I am having exactly the same problem. I run in docker. Motors (wheels) do not turn at any given command in Jupyter. I would presume that existing Jetbot library is somehow not compatible with Waveshare extension board, regarding motor drive section. I’ve sent to Waveshare my question today, waiting on their reply. Waveshare shoudl make an img file compatible for JP 4.4.1 (Jetson Nano 2GB in my case). Maybe then it would work.

Maybe the issue is being dealt with:

Cause of VERY long thread, I wonder what I understand well.

The problem is

  • use waveshare’s Jetbot kit
  • BSP for Jetbot are too old, both NVIDIA and Waveshare
  • No HDMI, No 2nd MIPI camera

IF true it is, I met the issue with JetRacer as well.
To resolve this, very simple and clear way was

  1. use Fabo’s BSP basically (Jetpack 4.4)
  2. fetch Waveshare specific drivers, i.e. motor drive and LCD
    (jetcard and jetracer for JetRacer kit)

Motors work pretty well and Jupyter does too.
Keep in mind, it was JetRacer not Jetbot, therefore, something might different.

Fortunately, Fabo provides Jetbot’s image.
Isn’t it worth trying?

Hi All,

We recently discovered that recent versions of the WaveShare JetBot kit have a motor driver configuration that is incompatible with our open source software.

We have updated the master branch to include a fix for this, and are working on updating the documentation accordingly.

We hope to provide an update soon.

Best,
John

1 Like