Please reopen "[Errno 2] No such file or directory:when ‘tao classification train’ is run" again, it is still not solved

Please provide the following information when requesting support.

• Hardware (RGX 3080)
• Network Type (Classification)
• TLT Version format_version: 2.0
toolkit_version: 3.22.05
published_date: 05/25/2022()
• Training spec file
• How to reproduce the issue ?

Please describe the issue in this topic directly.

Hi there.

  1. I am retraining the NGC Resnet_50.hdf5
  2. I already completed the tao_voc pascal VCC exercise to familiarise myself with the process
  3. I opened the “[Errno 2] No such file or directory:when ‘tao classification train’ is run” thread when I was trying to use BYOM (mistake)
  4. At that point your advice was
    " MorganhModerator

Aug 16

Refer to TAO Toolkit Launcher — TAO Toolkit 3.22.05 documentation.

For ease, I suggest you to set “source” and “destination” to the same.
5. At that point, your advice fixed the immediate problem.
6. I am now working on the correct model with the correct Jupyter notebook and I have screenshots from the successful pascal VCC exercise to refer to .
7. I have noticed that when I reach this point:

it rewrites my tao_mounts.json, which was as follows before running the cell:

But was rewritten after running the cell. I noted that I could prevent this by changing permissions but I also noticed that in my screenshot from pascal VCC it showed:
“destination”: “/workspace/tao-experiments”, so I carried on.
8. When I reached “tao classification train” it throws:

when I prevent it from rewriting tao_mounts.json it stops the container earlier with an Errno 13 permissions issue
9. There are just 2 changes to the pascal VCC screenshots that I can see: first I have substituted my file called “training_spec.cfg” for the “classification_spec.cfg” in the cell; second I am using “cv_samples_v1.4.1”, whereas the earlier pascal VCC was in “cv_samples_v1.4.0”
Please advise

Again, for below

It is due to wrong tao_mounts.json.

I recall that after you already fix the mapping issue after removing the DockerOptions.
Can you double check?

In a word, tao_mounts.json is a mapping file for end user to map local directories to docker inside.

This is the .tao_mounts.json that I used for the pascal VCC exercise (successfully)

This is the way I wrote the current .tao_mounts.json, based on your instructions “For ease, I suggest you to set “source” and “destination” to the same.”

And this is what the notebook changed it to when I ran the cell:
“!cat ~/.tao_mounts.json”

As far as I can see it has changed the first “destination” from the same as the first source to “/workspace/tao-experiments”, which is what worked in the pascal VCC exercise.
It is not possible to force it to use the code that I wrote without causing the permissions error referred to above.
“jp1” in the first screenshot is the folder where the pascal VCC material is stored. “jp2_resnet50” is the folder with the current project material.
I entirely agree that “.tao_mounts.json” states the mapping for the project.
Why does it fail to work this time, when it worked before?

You can write anything into ~/.tao_mounts.json. The notebook will not change it.
You can open a terminal to vim the ~/.tao_mounts.json to make sure the mapping is correct or the path is correct.
From your latest setting as below, the two paths are both under /workspace/tao-experiments/

, that means inside the docker, it is not possible to find a file of /home/perter/TAO_toolkit/xxx

I am no nearer to understanding why “tao classification train” does not find “/home/peter/TAO_toolkit/jp2_resnet50/data/train” in this instance of the tao_voc notebook when it found it in the pascal VCC exercise.
Please explain what has changed?

Because in tao_voc notebook, you set a different destination inside ~/.tao_mounts.json.

I think something is getting lost in translation here.
Here is the cell from the tao_voc-based pascal VCC:

Here is the same cell from the current tao_voc-based resnet50 project:

Here they are overlaid 50%:

As you can see the only differences are:
“jp1” vs. “jp2_resnet50” and the instance counts on the left ([xx]).
Are you suggesting that I should set a different destination inside .tao_mounts.json for "/home/peter/TAO_toolkit/jp2_resnet50?
If so, what?
If you are not, please be little clearer what you are suggesting.

As mentioned previously, for ease, I suggest you to set “source” and “destination” to the same.

So, you can ignore the cell which will set the ~/.tao_mounts.json.

Please vim it to set source” and “destination” to the same. Make sure all the files or models are available.

I commented out the cell that sets the .tao_mounts.json and now have “source” and “destination” set to the same.
I have added an extra map for “source” LOCAL_SPECS_DIR to /workspace/tao-experiments for the outputs.
tao classification train now runs.
Thank you Morganh.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.