Remote Client
The remote client allows you to create model experiments using the command line instead of relying on API calls.
pip3 install -y nvidia-tao-client
Below is a Dino example of shared storage content:
shared
└── orgs
├── org_name
├── datasets
│ ├── 23776785-f9e7-43a4-97c8-7954c892160f
│ │ ├── jobs_metadata
│ │ ├── metadata.json
│ │ └── metadata_lock.lock
│ ├── afa1d60b-5c70-425a-ae1b-583487064f68
│ │ ├── jobs_lock.lock
│ │ ├── jobs_metadata
│ │ │ ├── 4bf19b39-a78d-4331-8bc1-2f83396bc05b.json
│ │ │ └── 4bf19b39-a78d-4331-8bc1-2f83396bc05b_lock.lock
│ │ ├── jobs.yaml
│ │ ├── metadata.json
│ │ └── metadata_lock.lock
│ └── …
├── experiments
│ └── 7ec1aaea-1bae-45df-b4eb-aae780a566cc
│ │ ├── jobs_lock.lock
│ │ ├── jobs_metadata
│ │ │ ├── 794cc10b-458d-4fe7-bfd9-3c5598fbf1be.json
│ │ │ └── 794cc10b-458d-4fe7-bfd9-3c5598fbf1be_lock.lock
│ │ ├── jobs.yaml
│ │ ├── metadata.json
│ │ └── metadata_lock.lock
│ └── …
├── users
│ └── 5f931ba3-d448-54fe-955c-a63795b01c98
│ │ ├── jobs
│ │ │ ├── 4bf19b39-a78d-4331-8bc1-2f83396bc05b
│ │ │ │ └── status.json
│ │ │ └── 794cc10b-458d-4fe7-bfd9-3c5598fbf1be
│ │ │ └── status.json
│ │ ├── logs
│ │ │ └── 794cc10b-458d-4fe7-bfd9-3c5598fbf1be.txt
│ │ ├── metadata.json
│ │ ├── metadata_lock.lock
│ │ ├── metadata_token.json
│ │ ├── metadata_token_lock.lock
│ │ └── specs
│ │ ├── 4bf19b39-a78d-4331-8bc1-2f83396bc05b-convert_efficientdet_tf2-spec.json
│ │ ├── 4bf19b39-a78d-4331-8bc1-2f83396bc05b-convert_efficientdet_tf2-spec_lock.lock
│ │ ├── 4bf19b39-a78d-4331-8bc1-2f83396bc05b_lock.lock
│ │ ├── 4bf19b39-a78d-4331-8bc1-2f83396bc05b.yaml
│ │ ├── 794cc10b-458d-4fe7-bfd9-3c5598fbf1be_lock.lock
│ │ ├── 794cc10b-458d-4fe7-bfd9-3c5598fbf1be-train-spec.json
│ │ ├── 794cc10b-458d-4fe7-bfd9-3c5598fbf1be-train-spec_lock.lock
│ │ └── 794cc10b-458d-4fe7-bfd9-3c5598fbf1be.yaml
│ └── …
└── workspaces
├── 49d30d91-1515-4adb-813c-65cadb47d2f9
│ ├── jobs_metadata
│ ├── metadata.json
│ └── metadata_lock.lock
└── …
User authentication is based on the NGC API KEY and can be done with the following command:
BASE_URL=https://IP_of_machine_deployed/api/v1
NGC_API_KEY=zZYtczM5amdtdDcwNjk0cnA2bGU2bXQ3bnQ6NmQ4NjNhMDItMTdmZS00Y2QxLWI2ZjktNmE5M2YxZTc0OGyS
$ tao-client login --ngc-api-key $NGC_API_KEY --ngc-org-name ea-tlt
After authentication, the command line syntax is:
$ tao-client <network> <action> <args>
For example:
$ tao-client dino experiment-run-action --action train --id 042559ec-ab3e-438d-9c94-2cab38f76efc --specs '<json_loadable_specs_string_from_get_spec_action>'
You can always use the --help
argument to retrieve the command usage information.
To list supported networks:
$ tao-client -–help
To list supported Dino actions:
$ tao-client dino --help
The tutorial notebooks provide examples that demonstrate the various workflows.
Download the resource using the NGC CLI.
ngc registry resource download-version "nvidia/tao/tao-getting-started:5.5.0"
Find tutorial notebooks (
.ipynb
files).cd tao-getting-started_v5.5.0/notebooks/tao_api_starter_kit/client
Instead of using NGC, the tutorial notebooks can be downloaded from the machine where TAO API is deployed. You can obtain them using:
wget https://<ip_of_hosted_machine>:<nginx_service_forwarded_port>/tao_api_notebooks.zip unzip tao_api_notebooks.zip cd cli
Serve these Notebook examples using Jupyter.
pip3 install jupyter notebook jupyter notebook --ip 0.0.0.0