General Setup Guide for Samples
Download Sample Data
Install the tool dependencies via python3 -m pip install -r requirements.txt.
Invoke downloader.py to download the data with
a command like the one below if download.yml is present in the
sample directory (example).
downloader.py -d /path/to/data/dir -f /path/to/download.yml
The data directory i.e. /path/to/data/dir is a centralized directory
to store data of all samples. So you can use same one for all samples.
It can be provided by either -d /path/to/data/dir or the environment variable
$TRT_DATA_DIR, where the -d has higher priority.
Remember to use -d or $TRT_DATA_DIR when running sample scripts
that rely on downloaded data. Scripts will abort if no downloaded data
is found in data directory. ($TRT_DATA_DIR will be much simplier.)
An error will be thrown if the data is not properly setup.
The download.yml file is owned by the sample which describes the sample
name, the path, URL and checksum of the data files that are required by the sample.
Notes for sample developers
To use the downloaded data files, integrate the code segment like below into
the sample code, and obtain the path to the data file by passing the path
as specified in the associated download.yml file of the sample.
TRT_DATA_DIR = None
def getFilePath(path):
global TRT_DATA_DIR
if not TRT_DATA_DIR:
parser = argparse.ArgumentParser(description="Convert PackNet to ONNX")
parser.add_argument('-d', '--data', help="Specify the data directory where it is saved in. $TRT_DATA_DIR will be overwritten by this argument.")
args, _ = parser.parse_known_args()
TRT_DATA_DIR = os.environ.get('TRT_DATA_DIR', None) if args.data is None else args.data
if TRT_DATA_DIR is None:
raise ValueError("Data directory must be specified by either `-d $DATA` or environment variable $TRT_DATA_DIR.")
fullpath = os.path.join(TRT_DATA_DIR, path)
if not os.path.exists(fullpath):
raise ValueError("Data file %s doesn't exist!" % fullpath)
return fullpath
Python Version Support
All Python samples are expected to be run with Python>=3.8. It is not recommended to use any lower version as there may be compatibility issues.