- Segment Anything from https://github.com/facebookresearch/segment-anything
The sam
container has a default run command to launch Jupyter Lab with notebook directory to be /opt/
Use your web browser to access http://HOSTNAME:8888
Once you are on Jupyter Lab site, navigate to notebooks
directory.
Open automatic_mask_generator_example.ipynb
.
Create a cell below the 4th cell, with only the following line and execute.
!wget https://dl.fbaipublicfiles.com/segment_anything/sam_vit_h_4b8939.pth
Then, start executing the following cells (cells below Set-up)
Open predictor_example.ipynb
.
Make sure you have sam_vit_h_4b8939.pth
checkpoint file saved under notebooks
directory.
Then, start executing the cells below Set-up.
You can run the following command to run a benchmark script.
python3 benchmark.py --save sam.csv
Or for full options:
python3 benchmark.py \
--images https://raw.githubusercontent.com/facebookresearch/segment-anything/main/notebooks/images/dog.jpg https://raw.githubusercontent.com/facebookresearch/segment-anything/main/notebooks/images/groceries.jpg \
--runs=1 --warmup=0 \
--save sam.csv
Outputs are:
sam_benchmark_output.jpg
:sam.csv
(optional) :
CONTAINERS
sam |
|
---|---|
Builds | |
Requires | L4T ['>=34.1.0'] |
Dependencies | build-essential cuda cudnn python numpy cmake onnx pytorch:2.2 torchvision tensorrt onnxruntime opencv rust jupyterlab |
Dependants | efficientvit tam |
Dockerfile | Dockerfile |
Images | dustynv/sam:r35.2.1 (2023-11-05, 6.1GB) dustynv/sam:r35.3.1 (2024-03-07, 6.1GB) dustynv/sam:r35.4.1 (2024-01-13, 6.1GB) dustynv/sam:r36.2.0 (2024-03-07, 7.9GB) |
CONTAINER IMAGES
Repository/Tag | Date | Arch | Size |
---|---|---|---|
dustynv/sam:r35.2.1 |
2023-11-05 |
arm64 |
6.1GB |
dustynv/sam:r35.3.1 |
2024-03-07 |
arm64 |
6.1GB |
dustynv/sam:r35.4.1 |
2024-01-13 |
arm64 |
6.1GB |
dustynv/sam:r36.2.0 |
2024-03-07 |
arm64 |
7.9GB |
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 jetson-containers run
and autotag
, or manually put together a docker run
command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag sam)
# or explicitly specify one of the container images above
jetson-containers run dustynv/sam:r36.2.0
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host dustynv/sam:r36.2.0
jetson-containers run
forwards arguments todocker 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:
jetson-containers run -v /path/on/host:/path/in/container $(autotag sam)
To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag sam) my_app --abc xyz
You can pass any options to it 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:
jetson-containers build sam
The dependencies from above will be built into the container, and it'll be tested during. Run it with --help
for build options.