Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The compatibility issues of Nvidia Jetson #1854

Open
rekkles2 opened this issue Jan 23, 2024 · 0 comments
Open

The compatibility issues of Nvidia Jetson #1854

rekkles2 opened this issue Jan 23, 2024 · 0 comments

Comments

@rekkles2
Copy link

rekkles2 commented Jan 23, 2024

I think that the installation instructions for the FedML framework on the official website maybe need to be updated

  • Initially, I followed the tutorial on the official website to download the FedML framework.
    docker pull fedml/fedml:latest-nvidia-jetson-l4t-ml-r35.1.0-py3
    The version of FedML downloaded from this mirror source was 0.7.6, but I don't remember the specific version.This version can run some official examples well, such as:(fedcv)

  • However, an error occurred when I ran my own federated learning training for anomaly detection in a computer vision surveillance scenario.I sought help from the community, and someone advised me to update my version of FedML as mine was too old. So, I used the command pip install -U fedml to update the version of FedML.

  • After updating the version, when I ran my code again, I encountered a new error related to the architecture of numpy.This is the log of my project.

fedml1

This image shows the numpy issue that occurred when my Jetson device was connected to MLOps.

The error I discovered

After updating to FedML version 0.8.17, I checked the supported versions of the related libraries and found that both the torch library and the torchvision library versions are incompatible.

"torch>=1.13.1",
"torchvision>=0.14.1",

I believe that the numpy error is likely caused by the versions of torch and torchvision within the mirror source.

My Solution

First, I re-flashed my NVIDIA JETSON device with the latest JetPack version, JetPack 5.1.2.Then, I attempted to use docker pull fedml/fedml:latest-nvidia-jetson-l4t-ml-r36.2.0-py3to pull the latest mirror source and download FedML.But I was unable to download using this command line.

  • I first pulled the latest version of the mirror source using the command
    sudo docker pull nvcr.io/nvidia/l4t-ml:r36.2.0-py3
  • Then, I opened an interactive container by running the command
    sudo docker run -it nvcr.io/nvidia/l4t-ml:r36.2.0-py3 /bin/bash
  • downloaded the latest version of the FedML framework by using the command
    pip install fedml==0.8.17

updated the contents of the container to create a new image:

  • Open a new terminal and enter the following command:
    sudo docker ps
  • Copy the ID of the container and enter the following command:
    sudo docker commit <container_id> <image_new_name>

To enter the newly saved image, for example, if the name of the new image is "fedml"

  • Please enter the following command:
    sudo docker run -t -i --runtime nvidia fedml /bin/bash
  • Then connect to MLOps using the command:
    fedml login $account_id
  • If You encounter an issue where "/bin/sh: python: not found" error appears:
ls -l /usr/bin/python*
ln -s /usr/bin/python3 /usr/bin/python

This is because the path /usr/bin/python has been overwritten by Python 2 and Python 3.

Subsequent issues encountered

After updating the environment, I did not encounter any further issues with numpy. But I encountered a new problem.

fedml2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant