Giter Site home page Giter Site logo

ipengxpro / tao_tutorials Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nvidia/tao_tutorials

0.0 0.0 0.0 5.93 MB

Quick start scripts and tutorial notebooks to get started with TAO Toolkit

License: Apache License 2.0

Shell 2.62% Python 8.41% HCL 2.56% Jupyter Notebook 86.42%

tao_tutorials's Introduction

TAO Toolkit - Tutorials

Introduction

TAO Toolkit is a Python package hosted on the NVIDIA Python Package Index. It interacts with lower-level TAO dockers available from the NVIDIA GPU Accelerated Container Registry (NGC). The TAO containers come pre-installed with all dependencies required for training. The output of the TAO workflow is a trained model that can be deployed for inference on NVIDIA devices using DeepStream, TensorRT and Triton.

This repository contains the tutorial notebooks for installing and running TAO Toolkit. The notebooks would allow you to leverage the simplicity and convenience of TAO to train, prune, retrian, quantize, export and run inference.

TAO quick start video.

Requirements

Hardware requirements

The following system configuration is recommended to achieve reasonable training performance with TAO Toolkit and supported models provided:

Minimum system configuration

  • 8 GB system RAM
  • 4 GB of GPU RAM
  • 8 core CPU
  • 1 NVIDIA GPU
  • 100 GB of SSD space

Recommended system configuration

  • 32 GB system RAM
  • 32 GB of GPU RAM
  • 8 core CPU
  • 1 NVIDIA GPU
  • 100 GB of SSD space

TAO Toolkit is supported on discrete GPUs, such as A100, A40, A30, A2, A16, A100x, A30x, V100, T4, Titan-RTX and Quadro-RTX.

Note: TAO Toolkit is not supported on GPU's before the Pascal generation

Software requirements

Software Version Comment
Ubuntu LTS 20.04
python >=3.6.9<3.7 Not needed if you are using TAO API (See #3 below)
docker-ce >19.03.5 Not needed if you are using TAO API (See #3 below)
docker-API 1.40 Not needed if you are using TAO API (See #3 below)
nvidia-container-toolkit >1.3.0-1 Not needed if you are using TAO API (See #3 below)
nvidia-container-runtime 3.4.0-1 Not needed if you are using TAO API (See #3 below)
nvidia-docker2 2.5.0-1 Not needed if you are using TAO API (See #3 below)
nvidia-driver >525.85 Not needed if you are using TAO API (See #3 below)
python-pip >21.06 Not needed if you are using TAO API (See #3 below)

Package Content

Download the TAO package which contains startup scripts, Jupyter notebooks and config files.
TAO is supported on Google Colab; if you want to try on Colab, you can skip this step and directly scroll down to #4 in the How to run TAO section.

    ngc registry resource download-version "nvidia/tao/tao-getting-started:5.2.0"
    cd ./tao-getting-started_v5.2.0

File Hierarchy

    setup
        |--> quickstart_launcher.sh
        |--> quickstart_api_bare_metal
        |--> quickstart_api_aws_eks
        |--> quickstart_api_azure_aks
        |--> quickstart_api_gcp_gke
    notebooks
        |--> tao_api_starter_kit
            |--> api
                |--> automl
                |--> end2end
                |--> dataset_prepare
            |--> client
                |--> automl
                |--> end2end
                |--> dataset_prepare
        |--> tao_launcher_starter_kit
            |--> dino
            |--> deformable_detr
            |--> ocdnet
            |-->  ...

Jupyter notebooks

All Notebooks and required spec files are provided in this package. The table below maps which notebook to use for fine-tuning either a purpose-build models like PeopleNet or an open model architecture like YOLO.

Purpose-built Model Launcher CLI notebook
ActionRecognitionNet notebooks/tao_launcher_starter_kit/action_recognition_net/action_recognition_net.ipynb
Mask Auto Label notebooks/tao_launcher_starter_kit/mal/mal.ipynb
OCRNet notebooks/tao_launcher_starter_kit/ocrnet/ocrnet.ipynb
OCDNet notebooks/tao_launcher_starter_kit/ocdnet/ocdnet.ipynb
Pointpillars notebooks/tao_launcher_starter_kit/pointpillars/pointpillars.ipynb
PoseClassificationNet notebooks/tao_launcher_starter_kit/pose_classification_net/poseclassificationnet.ipynb
ReIdentificationNet notebooks/tao_launcher_starter_kit/re_identification_net/reidentificationnet.ipynb
CitySemSegFormer notebooks/tao_launcher_starter_kit/segformer/segformer.ipynb

Open model architecture Jupyter notebook
Deformable DETR notebooks/tao_launcher_starter_kit/deformable_detr/deformable_detr.ipynb
DINO notebooks/tao_launcher_starter_kit/dino/dino.ipynb
Image Classification notebooks/tao_launcher_starter_kit/classification_pyt/classification_pyt.ipynb
Optical Inspection notebooks/tao_launcher_starter_kit/optical_inspection/optical_inspection.ipynb
Segformer notebooks/tao_launcher_starter_kit/segformer/segformer.ipynb

Blogs

Train like a 'pro' with AutoML in TAO
Deploy TAO on Azure ML
Synthetic Data and TAO
Action Recognition Blog
Real-time License Plate Detection
2 Pose Estimation: Part 1
Part 2
Building ConvAI with TAO Toolkit

License

This project is licensed under the Apache-2.0 License.

tao_tutorials's People

Contributors

arun-george-zachariah avatar vpraveen-nv avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.