Tao not running correctly on several examples in WSL

Please provide the following information when requesting support.

I am having trouble running tao functions.

I installed in in windows under WSL and Instructions for each step became complicated for windows. I finally got it working sort-of after bumbling through instructions after instructions which did not work.

I am running tlt, which warns that I need to update to tao, it says it updates as part of the run but it is still tlt. When I run an ipynb like bpnet I get stuck in weird ways.

For example from the script running
!tao bpnet dataset_convert -m ‘test’ -o $DATA_DIR/val --generate_masks --dataset_spec $DATA_POSE_SPECS_DIR/coco_spec.json
works and creates val-fold-000-of-001

but running the very similar
!tao bpnet dataset_convert -m ‘train’ -o $DATA_DIR/train --generate_masks --dataset_spec $DATA_POSE_SPECS_DIR/coco_spec.json
runs similarly, does not generate an error, but does not create train-fold-000-of-001
that is needed for the notebook.

When running other notebooks like the nvidia whitepaper 4. Add new classes of objects to an existing AI model | NVIDIA Developer

for adding helmets to people recognition I get the error: ‘nvidia/tao_peoplenet:unpruned_v2.1’ could not be found. When I run: !ngc registry model download-version “nvidia/tlt_peoplenet:unpruned_v2.1”

I cant tell if this is versioning issues, old links issues or anything else. Help!

• Hardware Windows running WSL
• Network Type (Detectnet_v2 bpose and peoplenet helmet example
• TLT Version (Please run “tlt info --verbose” and share nvidia/tao/tao-toolkit-tf: v3.21.11-tf1.15.5-py3, v3.21.11-tf1.15.4-py3, nvidia/tao/tao-toolkit-pyt: v3.21.11-py3, format_version: 2.0, toolkit_version: 3.22.02, published_date: 02/28/2022

• Training spec file from: Forums will not let me post it

• How to reproduce the two issues:
1:
!tao bpnet dataset_convert -m ‘train’ -o $DATA_DIR/train --generate_masks --dataset_spec $DATA_POSE_SPECS_DIR/coco_spec.json
2:
!ngc registry model download-version “nvidia/tlt_peoplenet:unpruned_v2.1”

Hi,
Actually the issue you mentioned is not related to WSL now.

Please download latest notebook while follows

https://docs.nvidia.com/tao/tao-toolkit/text/tao_toolkit_quick_start_guide.html#computer-vision
https://catalog.ngc.nvidia.com/orgs/nvidia/teams/tao/resources/cv_samples/files

You can click the upload button to upload.

Please use
! ngc registry model download-version “nvidia/tao/peoplenet:unpruned_v2.1”
or
use wet/curl.
See PeopleNet | NVIDIA NGC

Thanks!
Given the update of notebooks and samples, and their dependent directories, is the an updated ipynb that runs the whitepaper example 4. Add new classes of objects to an existing AI model | NVIDIA Developer ?

I suspect the issue is in this code
#inference the helmet dataset images with peoplenet
!tao detectnet_v2 inference -e $inference_spec -o $output_folder -i $dataset_images -k $key
It gives lots of warnings and does not generate the appropriate .txt labels that are used in the next line.
This seems to be a continuation of versioning problems.

May I know the exact issue? Can this command run successfully?

I cant really show you because forums doesnt let me post. It thinks I am sending too many links. I can try to split the message to several messages

You can upload something.
Click
image

Running whitepaper github.txt (4.6 KB)

FileNotFoundError: [Errno 2] No such file or directory: 
'/home/achler/cv_samples_v1.4.0/helmet/workspace/peoplenet_helmet/../../datasets/helmet/peoplen
et_labels/labels/BikesHelmets724.txt'

The error is due to wrong setting in the mapping file ~/.tao_mounts.json.

For ease, please set destination to the same as source.

I will check but I dont think thats the issue because I followed the directory structure, it gets there but doesn’t generate /labels/

Can you share ~/.tao_mount.json ?

sure! I understand the structure is a bit circuitous but it works.
.tao_mounts.json (354 Bytes)

{
    "Mounts": [
        {
            "source": "/home/achler/cv_samples_v1.4.0/helmet/workspace/peoplenet_helmet/../../datasets",
            "destination": "/datasets"
        },
        {
            "source": "/home/achler/cv_samples_v1.4.0/helmet/workspace/peoplenet_helmet/../../workspace",
            "destination": "/tlt_exp"
        }
    ]
}

So, can you ls your dataset successully?
Please run below.

! tao detectnet_v2 run ls /datasets

It seems to run but I cant tell if it is successful (which is why I cant really debug)
result.txt (1.0 KB)

Actually you can debug.
Open a terminal instead of jupyter notebook.
Then run below to login docker.

$ tao detectnet_v2 run /bin/bash

then, inside, run below.
detectnet_v2 inference xxx

Please use above way to debug below you have done.
detectnet_v2 inference -e $inference_spec -o $output_folder -i $dataset_images -k $key

To check if the output_folder is generated and has the result.

I am not sure what to put in xxx other than follow the full command. is it a png?
… and tlt_exp is empty
I dont know if this is cause or effect since I am debugging software that is not familiar.

I tried it with a png and the result is attached
tao detectnet_v2 inference xxx - results.txt (1.9 KB)

The xxx just means something you want to put int.

As mentioned above, please run as below without “tao”.
$ tao detectnet_v2 run /bin/bash
then,
detectnet_v2 inference -e $inference_spec -o $output_folder -i $dataset_images -k $key

I dont know what goes into inference_spec as it is blank after installing the database and running everything in the ipynb so I have no examples to go by

Please set below explicitly.
$inference_spec
$output_folder
$dataset_images
$key