The alexmelekhin/open-place-recognition:base
image contains following:
- Ubuntu 22.04
- Python 3.10
- CUDA 12.1.1
- cuDNN 8
- PyTorch 2.1.2
- torhvision 0.16.2
- MinkowskiEngine
- faiss
You can either pull it from dockerhub:
docker pull alexmelekhin/open-place-recognition:base
Or build it manually:
# from repo root dir
bash docker/build_base.sh
The open-place-recognition:devel
image are build upon base image described above and contain pip requirements pre-installed and non-root user created inside.
It should be build only manually (to correctly propagate your UID and GID):
# from repo root dir
bash docker/build_devel.sh
The container should be started using the open-place-recognition:devel
image by using the following script:
# from repo root dir
bash docker/start.sh [DATASETS_DIR]
The [DATASETS_DIR]
will be mounted to the directory /home/docker_opr/Datasets
with read and write access.
You can enter the container by using the following script:
# from repo root dir
bash docker/into.sh
We provide an example of image to run on Jetson Xavier with arm64 architecture.
At first, you should build a starting image with jetson-containers tool. We tested the code with the following environment configuration:
- JetPack 5
- L4T 35.4.1
- Python 3.10
- CUDA 11.4
- PyTorch 2.1.0
- Torchvision 0.16.2
- Faiss
To build the image run the command:
CUDA_VERSION=11.4 PYTHON_VERSION=3.10 TENSORRT_VERSION=8.5 PYTORCH_VERSION=2.1 TORCHVISION_VERSION=0.16.2 jetson-containers build --name=open-place-recognition-jetson tensorrt pytorch torchvision faiss
If your configuration is the same as described above (jetpack 5 and l4t 35.4.1) the above command will build an image named open-place-recognition-jetson:r35.4.1-cu114-cp310
.
Next, you should build a base image with main dependencies (MinkowskiEngine).
Use the provided Dockerfile.jetson-base
by running the build_jetson_base.sh
script:
# from repo root dir
bash docker/build_jetson_base.sh
To build a ready-to-use development image, use the provided Dockerfile.jetson-devel
by running the build_jetson_devel.sh
script:
# from repo root dir
bash docker/build_jetson_devel.sh
The container should be started using the open-place-recognition-jetson:devel-r35.4.1-cu114-cp310
image by using the following script:
# from repo root dir
bash docker/start_jetson.sh [DATASETS_DIR]
The [DATASETS_DIR]
will be mounted to the directory /home/docker_opr/Datasets
with read and write access.
You can enter the container by using the following script:
# from repo root dir
bash docker/into.sh