Skip to content

Commit

Permalink
initial commit
Browse files Browse the repository at this point in the history
Co-authored-by: Théo Gieruc <theo.gieruc@gmail.com>
  • Loading branch information
Mariusmarten and tgieruc committed Apr 10, 2024
0 parents commit d4c6cfb
Show file tree
Hide file tree
Showing 52 changed files with 8,422 additions and 0 deletions.
145 changes: 145 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
pip-wheel-metadata/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
.python-version

# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock

# PEP 582; used by e.g. github.com/David-OConnor/pyflow
__pypackages__/

# Celery stuff
celerybeat-schedule
celerybeat.pid

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker
.pyre/

# custom
ckpts/
data/
out/
outputs/
dataset/
logs/
runs/
ckpts/
models/
.vscode/
results/
single_training/
eval/
frames/
68 changes: 68 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
FROM nvidia/cuda:11.8.0-devel-ubuntu20.04

WORKDIR /app

ENV DEBIAN_FRONTEND=noninteractive
ENV TZ=Europe/Berlin

# System Installations
RUN apt-get update && \
apt-get install -y --no-install-recommends \
build-essential cmake curl ffmpeg git \
libatlas-base-dev libboost-filesystem-dev libboost-graph-dev libboost-program-options-dev libboost-system-dev libboost-test-dev \
libhdf5-dev libcgal-dev libeigen3-dev libflann-dev libfreeimage-dev libgflags-dev libglew-dev libgoogle-glog-dev \
libmetis-dev libprotobuf-dev libqt5opengl5-dev libsqlite3-dev libsuitesparse-dev \
nano protobuf-compiler python-is-python3 python3-dev python3-pip qtbase5-dev \
sudo vim-tiny build-essential libcudnn8$ \
wget && \
rm -rf /var/lib/apt/lists/*

# Python installations (from requriements.txt)
RUN pip3 install --upgrade pip
RUN python3 -m pip install --upgrade pip

RUN pip3 install torch==2.0.1+cu118 torchvision==0.15.2+cu118 --extra-index-url https://download.pytorch.org/whl/cu118

# CUDA Architectures:
#
# | CUDA Architecture | Example Graphics Cards |
# |-------------------|----------------------------------------|
# | 20 | NVIDIA Tesla C2050, GeForce GTX 48 0 |
# | 21 | GeForce GTX 560 Ti, Tesla K20 |
# | 30 | GeForce GTX 680, Tesla K10 |
# | 35 | GeForce GTX 780 Ti, Tesla K40 |
# | 37 | Tesla K80 |
# | 50 | GeForce GTX 970, Tesla M40 |
# | 52 | GeForce GTX 980 Ti, Tesla M60 |
# | 53 | Tesla M4 |
# | 60 | GeForce GTX 1080, Tesla P100 |
# | 61 | Tesla P40 |
# | 62 | Tesla P4 |
# | 70 | Tesla V100 |
# | 72 | Tesla T4 |
# | 75 | GeForce RTX 2080, Tesla T4 |
# | 80 | GeForce RTX 3080, Tesla A100 |
# | 86 | GeForce RTX 3090 |
# | 89 | 40X0 |
# | 90 | H100 |
# |-------------------|----------------------------------------|

ENV CUDA_ARCHITECTURES=86
ENV TCNN_CUDA_ARCHITECTURES=86
RUN export CUDA_ARCHITECTURES=86
RUN export TCNN_CUDA_ARCHITECTURES=86
RUN pip3 install ninja git+https://github.com/NVlabs/tiny-cuda-nn/#subdirectory=bindings/torch

RUN pip3 install \
mmdet==2.20.0 mmengine==0.8.4 mmsegmentation==0.20.0 mmcls==0.25.0 mmcv-full==1.5.0 \
pyyaml==6.0.1 imageio==2.33.1 imageio-ffmpeg==0.4.9 lpips==0.1.4 \
pytorch-msssim==1.0.0 kornia==0.7.0 yapf==0.40.1 seaborn==0.13.2 \
crc32c pandas tensorboardX jupyterlab matplotlib \
opencv-python scikit-image tqdm torchmetrics

CMD ["jupyter", "lab", "--ip=0.0.0.0", "--port=6789","--allow-root","--no-browser"]

EXPOSE 6789

# taking roughly 30 minutes
# BUILD: docker build -t 6img-to-3d .
29 changes: 29 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
Copyright (C) 2024 co-pace GmbH (subsidiary of Continental AG). All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:

* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.

* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.

* Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Loading

0 comments on commit d4c6cfb

Please sign in to comment.