PyTorch for Jetson

Hi @znmeb, yes I used this patch when building PyTorch v1.10:

Thanks!!

It turns out that the Xavier-NX (8 GB) doesn’t have enough RAM to build v1.10.0 - the out-of-memory killer nuked it during the caffe2 compile. I’ve got an AGX Xavier and it runs fine there so this isn’t urgent, but is there a way to limit how many processes Ninja spawns?

I found a post saying you can limit the number of jobs like this:

https://github.com/pytorch/pytorch/issues/31843#issuecomment-570755569

Baring that, I would mount swap memory on the NX.

I was directed here as an answer to ‘how to install Libtorch for Jetson’.
I see this is PyTorch. I was able to install it and import torch in Python3.

Now that I have PyTorch v1.10.0 installed could I ask how I can use Libtorch, or the C++ aspect of PyTorch, in other words?

Hi @anthonycelio, as you seem to have found, the libtorch libraries are included with the PyTorch wheel. You may need to adjust your compiler path to find them. If you have problems, please continuing following up in your other open thread about this here:

This is not easy for some of us. Adjust what compiler? What path? Where?

I’m not entirely sure because I’m not a libtorch user myself. You may need to set the CMAKE_MODULES_PATH and the TORCH_INSTALL_PREFIX environment variable:

export TORCH_INSTALL_PREFIX=/home/jet/.local/lib/python3.6/site-packages/torch
cmake -DCMAKE_PREFIX_PATH=/home/jet/.local/lib/python3.6/site-packages/torch/share/cmake/Torch ..

It looks like the cmake config files are under torch/share/cmake/Torch as opposed to torch/lib

Hello. Is there a version available for jetpack 3.3 and python 3.8 ?
I cant seem to find it anywhere.

Hi @pylonicGateway, I don’t have pre-built pip wheels for JetPack 3.3 (I only started building these at the time of JetPack 4.2), so you would need to build them from source. The instructions to build PyTorch are in the top of this thread, but I haven’t tried them on older versions of JetPack.

@dusty_nv hey thanks for linking me to this. I have tried the instructions but i still got a similar message saying that the wheels are not supported on the platform.

I note that all the files says cp36, which means python3.6. I am currently trying to use it with a repo that runs on python3.8. How might i go about modifying ?

Edit: I also tried installing the whel file for cp36 on a python virtual environment for python3.6 I used the aarch64 wheel but it also failed.

Hmm if you are on Jetson/aarch64 and using Python 3.6, then the Python 3.6 wheels should install. What does python3 --version and pip3 --version report for you?

@dusty_nv hey there. So here is the output. I am using a non-conda python3.6 virtual environment

(newpy36) dji@manifold2:/media/dji/80GBstore/pyenvs$ python3 --version
Python 3.6.13
(newpy36) dji@manifold2:/media/dji/80GBstore/pyenvs$ pip3 --version
pip 21.3.1 from /media/dji/80GBstore/pyenvs/newpy36/lib/python3.6/site-packages/pip (python 3.6)

Torch can be installed, but cnanot be imported

Python 3.6.13 (default, Feb 20 2021, 21:42:50) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/media/dji/80GBstore/pyenvs/newpy36/lib/python3.6/site-packages/torch/__init__.py", line 188, in <module>
    _load_global_deps()
  File "/media/dji/80GBstore/pyenvs/newpy36/lib/python3.6/site-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: libmpi_cxx.so.20: cannot open shared object file: No such file or directory

Hi @pylonicGateway, have you tried installing these packages with apt from the top post in this thread?

sudo apt-get install libopenblas-base libopenmpi-dev 

@dusty_nv yep I have ran those commands. This is the output after running them again.

libopenblas-base is already the newest version (0.2.18-1ubuntu1).
libopenmpi-dev is already the newest version (1.10.2-8ubuntu1).

Hmm okay - if you downloaded one of the PyTorch wheels from this post, I believe the issue is that those are built against newer versions of JetPack and Ubuntu 18.04. Whereas I recall that JetPack 3.3 you are running is still on Ubuntu 16.04, so there are some differences in the libraries there (because the wheels I built on 18.04 expect the dependencies from 18.04).

What I would recommend is to either update your device with a more recent version of JetPack (if possible), or to build PyTorch from source for your version of JetPack.

@dusty_nv Hm i am currently unable to update the jetpack version. Where can i find the compatibility list (i.e. which version of pytorch for which version of cuda) if i were to build from source ?

I am running jetpack 3.3 which contains CUDA 9.

I can’t seem to find a compatibility matrix from PyTorch, however I did find this comment which seems to indicate the last version of PyTorch to support CUDA 9.0 was PyTorch 1.4: https://discuss.pytorch.org/t/is-there-a-table-which-shows-the-supported-cuda-version-for-every-pytorch-version/105846/4

However in the readme for PyTorch 1.5, it also lists CUDA 9: https://github.com/pytorch/pytorch/tree/v1.5.0#from-source

1 Like

There are 979 messages… :P
May I know what is the proper way to install pytorch and torchvision in my nano 4.6? I just want to try trtpose…

Trtpose Step1 said I should install pytorch and torchvision by following this link.
Thx

  140  cd
  141  git clone https://github.com/pytorch/vision
  142  cd vision
  143  sudo python setup.py install
  144  sudo python3 setup.py install
nvidia@nvidia-desktop:~$ git clone https://github.com/pytorch/vision
Cloning into 'vision'...
remote: Enumerating objects: 77161, done.
remote: Counting objects: 100% (12296/12296), done.
remote: Compressing objects: 100% (1097/1097), done.
Receiving objects:   6% (5313/77161), 8.60 MiB | 1.67 MiB/s    MiB/s   
sudo python setup.py installReceiving objects:  25% (19743/77161), 26.91 MiB | 2.13 MiB/s   
remote: Total 77161 (delta 11288), reused 12047 (delta 11134), pack-reused 64865
Receiving objects: 100% (77161/77161), 150.98 MiB | 2.06 MiB/s, done.
Resolving deltas: 100% (64358/64358), done.
nvidia@nvidia-desktop:~$ cd vision
nvidia@nvidia-desktop:~/vision$ sudo python setup.py install
  File "setup.py", line 49
    f.write(f"__version__ = '{version}'\n")
                                         ^
SyntaxError: invalid syntax
nvidia@nvidia-desktop:~/vision$ sudo python3 setup.py install
Building wheel torchvision-0.12.0a0+adf8466
PNG found: False
Running build on conda-build: False
Running build on conda: False
JPEG found: True
Building torchvision with JPEG image support
NVJPEG found: False
FFmpeg found: True
libavformat header files were not found, disabling ffmpeg support
libavcodec header files were not found, disabling ffmpeg support
libavutil header files were not found, disabling ffmpeg support
libswresample header files were not found, disabling ffmpeg support
libswscale header files were not found, disabling ffmpeg support
video codec found: False
The installed version of ffmpeg is missing the header file 'bsf.h' which is required for GPU video decoding. Please install the latest ffmpeg from conda-forge channel: `conda install -c conda-forge ffmpeg`.
running install
running bdist_egg
running egg_info
creating torchvision.egg-info
writing torchvision.egg-info/PKG-INFO
writing dependency_links to torchvision.egg-info/dependency_links.txt
writing requirements to torchvision.egg-info/requires.txt
writing top-level names to torchvision.egg-info/top_level.txt
writing manifest file 'torchvision.egg-info/SOURCES.txt'
/home/nvidia/.local/lib/python3.6/site-packages/torch/utils/cpp_extension.py:335: UserWarning: Attempted to use ninja as the BuildExtension backend but we could not find ninja.. Falling back to using the slow distutils backend.
  warnings.warn(msg.format('we could not find ninja.'))
reading manifest file 'torchvision.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no previously-included files matching '__pycache__' found under directory '*'
warning: no previously-included files matching '*.py[co]' found under directory '*'
writing manifest file 'torchvision.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-aarch64/egg
running install_lib
running build_py
creating build
creating build/lib.linux-aarch64-3.6
creating build/lib.linux-aarch64-3.6/torchvision
copying torchvision/version.py -> build/lib.linux-aarch64-3.6/torchvision
copying torchvision/extension.py -> build/lib.linux-aarch64-3.6/torchvision
copying torchvision/__init__.py -> build/lib.linux-aarch64-3.6/torchvision
copying torchvision/utils.py -> build/lib.linux-aarch64-3.6/torchvision
copying torchvision/_internally_replaced_utils.py -> build/lib.linux-aarch64-3.6/torchvision
creating build/lib.linux-aarch64-3.6/torchvision/io
copying torchvision/io/_video_opt.py -> build/lib.linux-aarch64-3.6/torchvision/io
copying torchvision/io/image.py -> build/lib.linux-aarch64-3.6/torchvision/io
copying torchvision/io/video.py -> build/lib.linux-aarch64-3.6/torchvision/io
copying torchvision/io/__init__.py -> build/lib.linux-aarch64-3.6/torchvision/io
copying torchvision/io/_load_gpu_decoder.py -> build/lib.linux-aarch64-3.6/torchvision/io
creating build/lib.linux-aarch64-3.6/torchvision/transforms
copying torchvision/transforms/functional_tensor.py -> build/lib.linux-aarch64-3.6/torchvision/transforms
copying torchvision/transforms/_functional_video.py -> build/lib.linux-aarch64-3.6/torchvision/transforms
copying torchvision/transforms/__init__.py -> build/lib.linux-aarch64-3.6/torchvision/transforms
copying torchvision/transforms/functional.py -> build/lib.linux-aarch64-3.6/torchvision/transforms
copying torchvision/transforms/_transforms_video.py -> build/lib.linux-aarch64-3.6/torchvision/transforms
copying torchvision/transforms/transforms.py -> build/lib.linux-aarch64-3.6/torchvision/transforms
copying torchvision/transforms/functional_pil.py -> build/lib.linux-aarch64-3.6/torchvision/transforms
copying torchvision/transforms/autoaugment.py -> build/lib.linux-aarch64-3.6/torchvision/transforms
creating build/lib.linux-aarch64-3.6/torchvision/prototype
copying torchvision/prototype/__init__.py -> build/lib.linux-aarch64-3.6/torchvision/prototype
creating build/lib.linux-aarch64-3.6/torchvision/ops
copying torchvision/ops/feature_pyramid_network.py -> build/lib.linux-aarch64-3.6/torchvision/ops
copying torchvision/ops/roi_pool.py -> build/lib.linux-aarch64-3.6/torchvision/ops
copying torchvision/ops/poolers.py -> build/lib.linux-aarch64-3.6/torchvision/ops
copying torchvision/ops/deform_conv.py -> build/lib.linux-aarch64-3.6/torchvision/ops
copying torchvision/ops/boxes.py -> build/lib.linux-aarch64-3.6/torchvision/ops
copying torchvision/ops/roi_align.py -> build/lib.linux-aarch64-3.6/torchvision/ops
copying torchvision/ops/misc.py -> build/lib.linux-aarch64-3.6/torchvision/ops
copying torchvision/ops/__init__.py -> build/lib.linux-aarch64-3.6/torchvision/ops
copying torchvision/ops/stochastic_depth.py -> build/lib.linux-aarch64-3.6/torchvision/ops
copying torchvision/ops/_box_convert.py -> build/lib.linux-aarch64-3.6/torchvision/ops
copying torchvision/ops/_register_onnx_ops.py -> build/lib.linux-aarch64-3.6/torchvision/ops
copying torchvision/ops/_utils.py -> build/lib.linux-aarch64-3.6/torchvision/ops
copying torchvision/ops/ps_roi_align.py -> build/lib.linux-aarch64-3.6/torchvision/ops
copying torchvision/ops/ps_roi_pool.py -> build/lib.linux-aarch64-3.6/torchvision/ops
copying torchvision/ops/focal_loss.py -> build/lib.linux-aarch64-3.6/torchvision/ops
creating build/lib.linux-aarch64-3.6/torchvision/models
copying torchvision/models/inception.py -> build/lib.linux-aarch64-3.6/torchvision/models
copying torchvision/models/mnasnet.py -> build/lib.linux-aarch64-3.6/torchvision/models
copying torchvision/models/feature_extraction.py -> build/lib.linux-aarch64-3.6/torchvision/models
copying torchvision/models/vgg.py -> build/lib.linux-aarch64-3.6/torchvision/models
copying torchvision/models/shufflenetv2.py -> build/lib.linux-aarch64-3.6/torchvision/models
copying torchvision/models/squeezenet.py -> build/lib.linux-aarch64-3.6/torchvision/models
copying torchvision/models/resnet.py -> build/lib.linux-aarch64-3.6/torchvision/models
copying torchvision/models/mobilenetv2.py -> build/lib.linux-aarch64-3.6/torchvision/models
copying torchvision/models/__init__.py -> build/lib.linux-aarch64-3.6/torchvision/models
copying torchvision/models/mobilenet.py -> build/lib.linux-aarch64-3.6/torchvision/models
copying torchvision/models/efficientnet.py -> build/lib.linux-aarch64-3.6/torchvision/models
copying torchvision/models/vision_transformer.py -> build/lib.linux-aarch64-3.6/torchvision/models
copying torchvision/models/alexnet.py -> build/lib.linux-aarch64-3.6/torchvision/models
copying torchvision/models/mobilenetv3.py -> build/lib.linux-aarch64-3.6/torchvision/models
copying torchvision/models/regnet.py -> build/lib.linux-aarch64-3.6/torchvision/models
copying torchvision/models/_utils.py -> build/lib.linux-aarch64-3.6/torchvision/models
copying torchvision/models/googlenet.py -> build/lib.linux-aarch64-3.6/torchvision/models
copying torchvision/models/densenet.py -> build/lib.linux-aarch64-3.6/torchvision/models
creating build/lib.linux-aarch64-3.6/torchvision/datasets
copying torchvision/datasets/caltech.py -> build/lib.linux-aarch64-3.6/torchvision/datasets
copying torchvision/datasets/inaturalist.py -> build/lib.linux-aarch64-3.6/torchvision/datasets
copying torchvision/datasets/kinetics.py -> build/lib.linux-aarch64-3.6/torchvision/datasets
copying torchvision/datasets/fer2013.py -> build/lib.linux-aarch64-3.6/torchvision/datasets
copying torchvision/datasets/imagenet.py -> build/lib.linux-aarch64-3.6/torchvision/datasets
copying torchvision/datasets/places365.py -> build/lib.linux-aarch64-3.6/torchvision/datasets
copying torchvision/datasets/omniglot.py -> build/lib.linux-aarch64-3.6/torchvision/datasets
copying torchvision/datasets/usps.py -> build/lib.linux-aarch64-3.6/torchvision/datasets
copying torchvision/datasets/video_utils.py -> build/lib.linux-aarch64-3.6/torchvision/datasets
copying torchvision/datasets/fgvc_aircraft.py -> build/lib.linux-aarch64-3.6/torchvision/datasets
copying torchvision/datasets/semeion.py -> build/lib.linux-aarch64-3.6/torchvision/datasets
copying torchvision/datasets/ucf101.py -> build/lib.linux-aarch64-3.6/torchvision/datasets
copying torchvision/datasets/kitti.py -> build/lib.linux-aarch64-3.6/torchvision/datasets
copying torchvision/datasets/folder.py -> build/lib.linux-aarch64-3.6/torchvision/datasets
copying torchvision/datasets/coco.py -> build/lib.linux-aarch64-3.6/torchvision/datasets
copying torchvision/datasets/mnist.py -> build/lib.linux-aarch64-3.6/torchvision/datasets
copying torchvision/datasets/vision.py -> build/lib.linux-aarch64-3.6/torchvision/datasets
copying torchvision/datasets/sbu.py -> build/lib.linux-aarch64-3.6/torchvision/datasets
copying torchvision/datasets/stl10.py -> build/lib.linux-aarch64-3.6/torchvision/datasets
copying torchvision/datasets/__init__.py -> build/lib.linux-aarch64-3.6/torchvision/datasets
copying torchvision/datasets/food101.py -> build/lib.linux-aarch64-3.6/torchvision/datasets
copying torchvision/datasets/cityscapes.py -> build/lib.linux-aarch64-3.6/torchvision/datasets
copying torchvision/datasets/hmdb51.py -> build/lib.linux-aarch64-3.6/torchvision/datasets
copying torchvision/datasets/celeba.py -> build/lib.linux-aarch64-3.6/torchvision/datasets
copying torchvision/datasets/_optical_flow.py -> build/lib.linux-aarch64-3.6/torchvision/datasets
copying torchvision/datasets/sbd.py -> build/lib.linux-aarch64-3.6/torchvision/datasets
copying torchvision/datasets/country211.py -> build/lib.linux-aarch64-3.6/torchvision/datasets
copying torchvision/datasets/lfw.py -> build/lib.linux-aarch64-3.6/torchvision/datasets
copying torchvision/datasets/lsun.py -> build/lib.linux-aarch64-3.6/torchvision/datasets
copying torchvision/datasets/svhn.py -> build/lib.linux-aarch64-3.6/torchvision/datasets
copying torchvision/datasets/widerface.py -> build/lib.linux-aarch64-3.6/torchvision/datasets
copying torchvision/datasets/clevr.py -> build/lib.linux-aarch64-3.6/torchvision/datasets
copying torchvision/datasets/fakedata.py -> build/lib.linux-aarch64-3.6/torchvision/datasets
copying torchvision/datasets/phototour.py -> build/lib.linux-aarch64-3.6/torchvision/datasets
copying torchvision/datasets/utils.py -> build/lib.linux-aarch64-3.6/torchvision/datasets
copying torchvision/datasets/cifar.py -> build/lib.linux-aarch64-3.6/torchvision/datasets
copying torchvision/datasets/voc.py -> build/lib.linux-aarch64-3.6/torchvision/datasets
copying torchvision/datasets/flickr.py -> build/lib.linux-aarch64-3.6/torchvision/datasets
copying torchvision/datasets/dtd.py -> build/lib.linux-aarch64-3.6/torchvision/datasets
copying torchvision/datasets/sun397.py -> build/lib.linux-aarch64-3.6/torchvision/datasets
copying torchvision/datasets/gtsrb.py -> build/lib.linux-aarch64-3.6/torchvision/datasets
copying torchvision/datasets/flowers102.py -> build/lib.linux-aarch64-3.6/torchvision/datasets
copying torchvision/datasets/oxford_iiit_pet.py -> build/lib.linux-aarch64-3.6/torchvision/datasets
creating build/lib.linux-aarch64-3.6/torchvision/prototype/features
copying torchvision/prototype/features/_image.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/features
copying torchvision/prototype/features/_label.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/features
copying torchvision/prototype/features/__init__.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/features
copying torchvision/prototype/features/_bounding_box.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/features
copying torchvision/prototype/features/_feature.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/features
creating build/lib.linux-aarch64-3.6/torchvision/prototype/transforms
copying torchvision/prototype/transforms/_presets.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/transforms
copying torchvision/prototype/transforms/_geometry.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/transforms
copying torchvision/prototype/transforms/__init__.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/transforms
copying torchvision/prototype/transforms/_misc.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/transforms
copying torchvision/prototype/transforms/_container.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/transforms
copying torchvision/prototype/transforms/_transform.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/transforms
creating build/lib.linux-aarch64-3.6/torchvision/prototype/utils
copying torchvision/prototype/utils/_internal.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/utils
copying torchvision/prototype/utils/__init__.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/utils
creating build/lib.linux-aarch64-3.6/torchvision/prototype/models
copying torchvision/prototype/models/inception.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/models
copying torchvision/prototype/models/mnasnet.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/models
copying torchvision/prototype/models/vgg.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/models
copying torchvision/prototype/models/shufflenetv2.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/models
copying torchvision/prototype/models/squeezenet.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/models
copying torchvision/prototype/models/resnet.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/models
copying torchvision/prototype/models/mobilenetv2.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/models
copying torchvision/prototype/models/__init__.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/models
copying torchvision/prototype/models/mobilenet.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/models
copying torchvision/prototype/models/efficientnet.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/models
copying torchvision/prototype/models/_meta.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/models
copying torchvision/prototype/models/vision_transformer.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/models
copying torchvision/prototype/models/alexnet.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/models
copying torchvision/prototype/models/mobilenetv3.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/models
copying torchvision/prototype/models/_api.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/models
copying torchvision/prototype/models/regnet.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/models
copying torchvision/prototype/models/_utils.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/models
copying torchvision/prototype/models/googlenet.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/models
copying torchvision/prototype/models/densenet.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/models
creating build/lib.linux-aarch64-3.6/torchvision/prototype/datasets
copying torchvision/prototype/datasets/decoder.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/datasets
copying torchvision/prototype/datasets/_folder.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/datasets
copying torchvision/prototype/datasets/__init__.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/datasets
copying torchvision/prototype/datasets/benchmark.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/datasets
copying torchvision/prototype/datasets/_home.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/datasets
copying torchvision/prototype/datasets/generate_category_files.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/datasets
copying torchvision/prototype/datasets/_api.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/datasets
creating build/lib.linux-aarch64-3.6/torchvision/prototype/models/detection
copying torchvision/prototype/models/detection/__init__.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/models/detection
copying torchvision/prototype/models/detection/mask_rcnn.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/models/detection
copying torchvision/prototype/models/detection/ssdlite.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/models/detection
copying torchvision/prototype/models/detection/faster_rcnn.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/models/detection
copying torchvision/prototype/models/detection/retinanet.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/models/detection
copying torchvision/prototype/models/detection/keypoint_rcnn.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/models/detection
copying torchvision/prototype/models/detection/ssd.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/models/detection
creating build/lib.linux-aarch64-3.6/torchvision/prototype/models/optical_flow
copying torchvision/prototype/models/optical_flow/__init__.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/models/optical_flow
copying torchvision/prototype/models/optical_flow/raft.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/models/optical_flow
creating build/lib.linux-aarch64-3.6/torchvision/prototype/models/quantization
copying torchvision/prototype/models/quantization/inception.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/models/quantization
copying torchvision/prototype/models/quantization/shufflenetv2.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/models/quantization
copying torchvision/prototype/models/quantization/resnet.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/models/quantization
copying torchvision/prototype/models/quantization/mobilenetv2.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/models/quantization
copying torchvision/prototype/models/quantization/__init__.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/models/quantization
copying torchvision/prototype/models/quantization/mobilenet.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/models/quantization
copying torchvision/prototype/models/quantization/mobilenetv3.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/models/quantization
copying torchvision/prototype/models/quantization/googlenet.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/models/quantization
creating build/lib.linux-aarch64-3.6/torchvision/prototype/models/segmentation
copying torchvision/prototype/models/segmentation/deeplabv3.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/models/segmentation
copying torchvision/prototype/models/segmentation/__init__.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/models/segmentation
copying torchvision/prototype/models/segmentation/fcn.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/models/segmentation
copying torchvision/prototype/models/segmentation/lraspp.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/models/segmentation
creating build/lib.linux-aarch64-3.6/torchvision/prototype/models/video
copying torchvision/prototype/models/video/resnet.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/models/video
copying torchvision/prototype/models/video/__init__.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/models/video
creating build/lib.linux-aarch64-3.6/torchvision/prototype/datasets/_builtin
copying torchvision/prototype/datasets/_builtin/caltech.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/datasets/_builtin
copying torchvision/prototype/datasets/_builtin/fer2013.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/datasets/_builtin
copying torchvision/prototype/datasets/_builtin/imagenet.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/datasets/_builtin
copying torchvision/prototype/datasets/_builtin/semeion.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/datasets/_builtin
copying torchvision/prototype/datasets/_builtin/coco.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/datasets/_builtin
copying torchvision/prototype/datasets/_builtin/mnist.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/datasets/_builtin
copying torchvision/prototype/datasets/_builtin/__init__.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/datasets/_builtin
copying torchvision/prototype/datasets/_builtin/celeba.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/datasets/_builtin
copying torchvision/prototype/datasets/_builtin/sbd.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/datasets/_builtin
copying torchvision/prototype/datasets/_builtin/clevr.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/datasets/_builtin
copying torchvision/prototype/datasets/_builtin/cifar.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/datasets/_builtin
copying torchvision/prototype/datasets/_builtin/voc.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/datasets/_builtin
copying torchvision/prototype/datasets/_builtin/dtd.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/datasets/_builtin
copying torchvision/prototype/datasets/_builtin/oxford_iiit_pet.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/datasets/_builtin
creating build/lib.linux-aarch64-3.6/torchvision/prototype/datasets/utils
copying torchvision/prototype/datasets/utils/_internal.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/datasets/utils
copying torchvision/prototype/datasets/utils/_dataset.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/datasets/utils
copying torchvision/prototype/datasets/utils/__init__.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/datasets/utils
copying torchvision/prototype/datasets/utils/_resource.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/datasets/utils
copying torchvision/prototype/datasets/utils/_query.py -> build/lib.linux-aarch64-3.6/torchvision/prototype/datasets/utils
creating build/lib.linux-aarch64-3.6/torchvision/models/detection
copying torchvision/models/detection/anchor_utils.py -> build/lib.linux-aarch64-3.6/torchvision/models/detection
copying torchvision/models/detection/generalized_rcnn.py -> build/lib.linux-aarch64-3.6/torchvision/models/detection
copying torchvision/models/detection/transform.py -> build/lib.linux-aarch64-3.6/torchvision/models/detection
copying torchvision/models/detection/__init__.py -> build/lib.linux-aarch64-3.6/torchvision/models/detection
copying torchvision/models/detection/mask_rcnn.py -> build/lib.linux-aarch64-3.6/torchvision/models/detection
copying torchvision/models/detection/image_list.py -> build/lib.linux-aarch64-3.6/torchvision/models/detection
copying torchvision/models/detection/ssdlite.py -> build/lib.linux-aarch64-3.6/torchvision/models/detection
copying torchvision/models/detection/faster_rcnn.py -> build/lib.linux-aarch64-3.6/torchvision/models/detection
copying torchvision/models/detection/retinanet.py -> build/lib.linux-aarch64-3.6/torchvision/models/detection
copying torchvision/models/detection/roi_heads.py -> build/lib.linux-aarch64-3.6/torchvision/models/detection
copying torchvision/models/detection/backbone_utils.py -> build/lib.linux-aarch64-3.6/torchvision/models/detection
copying torchvision/models/detection/rpn.py -> build/lib.linux-aarch64-3.6/torchvision/models/detection
copying torchvision/models/detection/keypoint_rcnn.py -> build/lib.linux-aarch64-3.6/torchvision/models/detection
copying torchvision/models/detection/_utils.py -> build/lib.linux-aarch64-3.6/torchvision/models/detection
copying torchvision/models/detection/ssd.py -> build/lib.linux-aarch64-3.6/torchvision/models/detection
creating build/lib.linux-aarch64-3.6/torchvision/models/optical_flow
copying torchvision/models/optical_flow/__init__.py -> build/lib.linux-aarch64-3.6/torchvision/models/optical_flow
copying torchvision/models/optical_flow/raft.py -> build/lib.linux-aarch64-3.6/torchvision/models/optical_flow
copying torchvision/models/optical_flow/_utils.py -> build/lib.linux-aarch64-3.6/torchvision/models/optical_flow
creating build/lib.linux-aarch64-3.6/torchvision/models/quantization
copying torchvision/models/quantization/inception.py -> build/lib.linux-aarch64-3.6/torchvision/models/quantization
copying torchvision/models/quantization/shufflenetv2.py -> build/lib.linux-aarch64-3.6/torchvision/models/quantization
copying torchvision/models/quantization/resnet.py -> build/lib.linux-aarch64-3.6/torchvision/models/quantization
copying torchvision/models/quantization/mobilenetv2.py -> build/lib.linux-aarch64-3.6/torchvision/models/quantization
copying torchvision/models/quantization/__init__.py -> build/lib.linux-aarch64-3.6/torchvision/models/quantization
copying torchvision/models/quantization/mobilenet.py -> build/lib.linux-aarch64-3.6/torchvision/models/quantization
copying torchvision/models/quantization/mobilenetv3.py -> build/lib.linux-aarch64-3.6/torchvision/models/quantization
copying torchvision/models/quantization/utils.py -> build/lib.linux-aarch64-3.6/torchvision/models/quantization
copying torchvision/models/quantization/googlenet.py -> build/lib.linux-aarch64-3.6/torchvision/models/quantization
creating build/lib.linux-aarch64-3.6/torchvision/models/segmentation
copying torchvision/models/segmentation/segmentation.py -> build/lib.linux-aarch64-3.6/torchvision/models/segmentation
copying torchvision/models/segmentation/deeplabv3.py -> build/lib.linux-aarch64-3.6/torchvision/models/segmentation
copying torchvision/models/segmentation/__init__.py -> build/lib.linux-aarch64-3.6/torchvision/models/segmentation
copying torchvision/models/segmentation/fcn.py -> build/lib.linux-aarch64-3.6/torchvision/models/segmentation
copying torchvision/models/segmentation/lraspp.py -> build/lib.linux-aarch64-3.6/torchvision/models/segmentation
copying torchvision/models/segmentation/_utils.py -> build/lib.linux-aarch64-3.6/torchvision/models/segmentation
creating build/lib.linux-aarch64-3.6/torchvision/models/video
copying torchvision/models/video/resnet.py -> build/lib.linux-aarch64-3.6/torchvision/models/video
copying torchvision/models/video/__init__.py -> build/lib.linux-aarch64-3.6/torchvision/models/video
creating build/lib.linux-aarch64-3.6/torchvision/datasets/samplers
copying torchvision/datasets/samplers/clip_sampler.py -> build/lib.linux-aarch64-3.6/torchvision/datasets/samplers
copying torchvision/datasets/samplers/__init__.py -> build/lib.linux-aarch64-3.6/torchvision/datasets/samplers
copying torchvision/prototype/datasets/_builtin/imagenet.categories -> build/lib.linux-aarch64-3.6/torchvision/prototype/datasets/_builtin
copying torchvision/prototype/datasets/_builtin/sbd.categories -> build/lib.linux-aarch64-3.6/torchvision/prototype/datasets/_builtin
copying torchvision/prototype/datasets/_builtin/cifar10.categories -> build/lib.linux-aarch64-3.6/torchvision/prototype/datasets/_builtin
copying torchvision/prototype/datasets/_builtin/caltech101.categories -> build/lib.linux-aarch64-3.6/torchvision/prototype/datasets/_builtin
copying torchvision/prototype/datasets/_builtin/cifar100.categories -> build/lib.linux-aarch64-3.6/torchvision/prototype/datasets/_builtin
copying torchvision/prototype/datasets/_builtin/caltech256.categories -> build/lib.linux-aarch64-3.6/torchvision/prototype/datasets/_builtin
copying torchvision/prototype/datasets/_builtin/dtd.categories -> build/lib.linux-aarch64-3.6/torchvision/prototype/datasets/_builtin
copying torchvision/prototype/datasets/_builtin/oxford-iiit-pet.categories -> build/lib.linux-aarch64-3.6/torchvision/prototype/datasets/_builtin
copying torchvision/prototype/datasets/_builtin/coco.categories -> build/lib.linux-aarch64-3.6/torchvision/prototype/datasets/_builtin
running build_ext
building 'torchvision._C' extension
creating build/temp.linux-aarch64-3.6
creating build/temp.linux-aarch64-3.6/home
creating build/temp.linux-aarch64-3.6/home/nvidia
creating build/temp.linux-aarch64-3.6/home/nvidia/vision
creating build/temp.linux-aarch64-3.6/home/nvidia/vision/torchvision
creating build/temp.linux-aarch64-3.6/home/nvidia/vision/torchvision/csrc
creating build/temp.linux-aarch64-3.6/home/nvidia/vision/torchvision/csrc/ops
creating build/temp.linux-aarch64-3.6/home/nvidia/vision/torchvision/csrc/ops/autocast
creating build/temp.linux-aarch64-3.6/home/nvidia/vision/torchvision/csrc/ops/autograd
creating build/temp.linux-aarch64-3.6/home/nvidia/vision/torchvision/csrc/ops/cpu
creating build/temp.linux-aarch64-3.6/home/nvidia/vision/torchvision/csrc/ops/cuda
creating build/temp.linux-aarch64-3.6/home/nvidia/vision/torchvision/csrc/ops/quantized
creating build/temp.linux-aarch64-3.6/home/nvidia/vision/torchvision/csrc/ops/quantized/cpu
aarch64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DWITH_CUDA -I/home/nvidia/vision/torchvision/csrc -I/home/nvidia/.local/lib/python3.6/site-packages/torch/include -I/home/nvidia/.local/lib/python3.6/site-packages/torch/include/torch/csrc/api/include -I/home/nvidia/.local/lib/python3.6/site-packages/torch/include/TH -I/home/nvidia/.local/lib/python3.6/site-packages/torch/include/THC -I/usr/local/cuda/include -I/usr/include/python3.6m -c /home/nvidia/vision/torchvision/csrc/ops/autocast/deform_conv2d_kernel.cpp -o build/temp.linux-aarch64-3.6/home/nvidia/vision/torchvision/csrc/ops/autocast/deform_conv2d_kernel.o -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=_C -D_GLIBCXX_USE_CXX11_ABI=1 -std=c++14
/home/nvidia/vision/torchvision/csrc/ops/autocast/deform_conv2d_kernel.cpp: In function ‘at::Tensor vision::ops::{anonymous}::deform_conv2d_autocast(const at::Tensor&, const at::Tensor&, const at::Tensor&, const at::Tensor&, const at::Tensor&, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, bool)’:
/home/nvidia/vision/torchvision/csrc/ops/autocast/deform_conv2d_kernel.cpp:29:28: error: ‘cached_cast’ is not a member of ‘at::autocast’
              at::autocast::cached_cast(at::kFloat, input),
                            ^~~~~~~~~~~
/home/nvidia/vision/torchvision/csrc/ops/autocast/deform_conv2d_kernel.cpp:30:28: error: ‘cached_cast’ is not a member of ‘at::autocast’
              at::autocast::cached_cast(at::kFloat, weight),
                            ^~~~~~~~~~~
/home/nvidia/vision/torchvision/csrc/ops/autocast/deform_conv2d_kernel.cpp:31:28: error: ‘cached_cast’ is not a member of ‘at::autocast’
              at::autocast::cached_cast(at::kFloat, offset),
                            ^~~~~~~~~~~
/home/nvidia/vision/torchvision/csrc/ops/autocast/deform_conv2d_kernel.cpp:32:28: error: ‘cached_cast’ is not a member of ‘at::autocast’
              at::autocast::cached_cast(at::kFloat, mask),
                            ^~~~~~~~~~~
/home/nvidia/vision/torchvision/csrc/ops/autocast/deform_conv2d_kernel.cpp:33:28: error: ‘cached_cast’ is not a member of ‘at::autocast’
              at::autocast::cached_cast(at::kFloat, bias),
                            ^~~~~~~~~~~
/home/nvidia/vision/torchvision/csrc/ops/autocast/deform_conv2d_kernel.cpp: In function ‘void vision::ops::TORCH_LIBRARY_IMPL_init_torchvision_Autocast(torch::Library&)’:
/home/nvidia/vision/torchvision/csrc/ops/autocast/deform_conv2d_kernel.cpp:50:7: error: ‘TORCH_SELECTIVE_NAME’ was not declared in this scope
       TORCH_SELECTIVE_NAME("torchvision::deform_conv2d"),
       ^~~~~~~~~~~~~~~~~~~~
/home/nvidia/vision/torchvision/csrc/ops/autocast/deform_conv2d_kernel.cpp:50:7: note: suggested alternative: ‘TORCH_EXTENSION_NAME’
       TORCH_SELECTIVE_NAME("torchvision::deform_conv2d"),
       ^~~~~~~~~~~~~~~~~~~~
       TORCH_EXTENSION_NAME
error: command 'aarch64-linux-gnu-gcc' failed with exit status 1

Hi @AK51, see the very first post in this topic and it has instructions for installing PyTorch and torchvision. Or you can use the l4t-pytorch container which already has these pre-installed.