Skip to content

Latest commit

 

History

History
 
 

nanoowl

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

nanoowl

CONTAINERS IMAGES RUN BUILD

Run the basic usage example and copy the result to host

./run.sh $(./autotag nanoowl) /bin/bash -c " \
  cd /opt/nanoowl/examples/ && \
  python3 owl_predict.py \
    --prompt="[an owl, a glove]" \
    --threshold=0.1 \
    --image_encoder_engine=../data/owl_image_encoder_patch32.engine "

Run the tree prediction example (live camera)

  1. First, Ensure you have a USB webcam device connected to your Jetson.

  2. Launch the demo

./run.sh $(./autotag nanoowl) /bin/bash -c " \
  cd /opt/nanoowl/examples/tree_demo/ && \
  python3 tree_demo.py ../../data/owl_image_encoder_patch32.engine "
  1. Second, open your browser to http://<ip address>:7860

You can use a PC (or any machine) to open a web browser as long as can access the Jetson via the network

  1. Type whatever prompt you like to see what works! Here are some examples
  • Example: [a face [a nose, an eye, a mouth]]
  • Example: [a face (interested, yawning / bored)]
  • Example: (indoors, outdoors)
CONTAINERS
nanoowl
   Builds nanoowl_jp51 nanoowl_jp60
   Requires L4T >=34.1.0
   Dependencies build-essential cuda cudnn python tensorrt numpy cmake onnx pytorch torchvision torch2trt huggingface_hub rust transformers opencv gstreamer
   Dockerfile Dockerfile
   Images dustynv/nanoowl:r35.2.1 (2023-12-14, 7.1GB)
dustynv/nanoowl:r35.3.1 (2024-02-22, 7.1GB)
dustynv/nanoowl:r35.4.1 (2023-12-11, 7.1GB)
dustynv/nanoowl:r36.2.0 (2024-02-22, 9.0GB)
CONTAINER IMAGES
Repository/Tag Date Arch Size
  dustynv/nanoowl:r35.2.1 2023-12-14 arm64 7.1GB
  dustynv/nanoowl:r35.3.1 2024-02-22 arm64 7.1GB
  dustynv/nanoowl:r35.4.1 2023-12-11 arm64 7.1GB
  dustynv/nanoowl:r36.2.0 2024-02-22 arm64 9.0GB

Container images are compatible with other minor versions of JetPack/L4T:
    • L4T R32.7 containers can run on other versions of L4T R32.7 (JetPack 4.6+)
    • L4T R35.x containers can run on other versions of L4T R35.x (JetPack 5.1+)

RUN CONTAINER

To start the container, you can use the run.sh/autotag helpers or manually put together a docker run command:

# automatically pull or build a compatible container image
./run.sh $(./autotag nanoowl)

# or explicitly specify one of the container images above
./run.sh dustynv/nanoowl:r36.2.0

# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host dustynv/nanoowl:r36.2.0

run.sh forwards arguments to docker run with some defaults added (like --runtime nvidia, mounts a /data cache, and detects devices)
autotag finds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.

To mount your own directories into the container, use the -v or --volume flags:

./run.sh -v /path/on/host:/path/in/container $(./autotag nanoowl)

To launch the container running a command, as opposed to an interactive shell:

./run.sh $(./autotag nanoowl) my_app --abc xyz

You can pass any options to run.sh that you would to docker run, and it'll print out the full command that it constructs before executing it.

BUILD CONTAINER

If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:

./build.sh nanoowl

The dependencies from above will be built into the container, and it'll be tested during. See ./build.sh --help for build options.