4
0
mirror of https://github.com/nerfstudio-project/nerfstudio.git synced 2026-11-11 02:24:38 +08:00

reworked structure to use packages

This commit is contained in:
Ethan Weber 2022-04-02 20:07:41 +00:00
parent 47459f4be7
commit b63d5854a1
13 changed files with 165 additions and 1 deletions

3
.gitmodules vendored Normal file
View File

@ -0,0 +1,3 @@
[submodule "external/goat"]
path = external/goat
url = git@github.com:ethanweber/goat.git

16
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,16 @@
{
// "python.pythonPath": "/path/to/bin/python",
"files.watcherExclude": {
"**/__pycache__/": true,
"**/.ipynb_checkpoints": true,
"**/*.ipynb": true,
"**/runs*": true,
},
"python.formatting.provider": "black",
"python.formatting.blackArgs": [
"--line-length=120"
],
"python.linting.pylintEnabled": false,
"python.linting.flake8Enabled": true,
"python.linting.enabled": true,
}

View File

@ -0,0 +1,24 @@
# MattPort
# Setup the environment
```
# Clone the repo
git clone --recurse-submodules git@github.com:ethanweber/mattport.git
# Create the python environment
conda create --name mattport python=3.8
conda activate mattport
pip install -r environment/requirements.txt
# Install helper library
cd external/goat
python setup.py develop
# For using with Jupyter
python -m ipykernel install --user --name mattport --display-name "mattport"
# Install mattport as a library
python setup.py develop
```

20
environment/README.md Normal file
View File

@ -0,0 +1,20 @@
# Environment
# Installing docker
#### Troubleshooting
```
# https://forums.docker.com/t/failing-to-start-dockerd-failed-to-create-nat-chain-docker/78269
sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy
sudo service docker start
VERSION_STRING=18.03.1~ce~3-0~ubuntu
sudo apt-get install docker-ce=$VERSION_STRING docker-ce-cli=$VERSION_STRING containerd.io
# https://github.com/docker/for-linux/issues/123#issuecomment-346546953
sudo ip link add name docker0 type bridge
sudo ip addr add dev docker0 172.17.0.1/16
sudo dockerd --debug --iptables=false
```

View File

@ -0,0 +1,75 @@
FROM nvidia/cuda:10.2-devel-ubuntu18.04
# Set the shell to /bin/bash instead of /bin/sh so conda works correctly.
# https://towardsdatascience.com/conda-pip-and-docker-ftw-d64fe638dc45
SHELL [ "/bin/bash", "--login", "-c" ]
# Prepare and empty machine for building
RUN apt-get update && apt-get install -y \
git \
cmake \
vim \
build-essential \
libboost-program-options-dev \
libboost-filesystem-dev \
libboost-graph-dev \
libboost-system-dev \
libboost-test-dev \
libeigen3-dev \
libsuitesparse-dev \
libfreeimage-dev \
libgoogle-glog-dev \
libgflags-dev \
libglew-dev \
qtbase5-dev \
libqt5opengl5-dev \
libcgal-dev \
libcgal-qt5-dev \
wget
# Build and install ceres solver
RUN apt-get -y install \
libatlas-base-dev \
libsuitesparse-dev
RUN git clone https://github.com/ceres-solver/ceres-solver.git --branch 1.14.0
RUN cd ceres-solver && \
mkdir build && \
cd build && \
cmake .. -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF && \
make -j4 && \
make install
# Clear space # https://askubuntu.com/questions/179955/var-lib-apt-lists-is-huge
RUN rm -rf /var/lib/apt/lists/*
# Build and install COLMAP
# Note: This Dockerfile has been tested using COLMAP pre-release 3.6.
# Later versions of COLMAP (which will be automatically cloned as default) may
# have problems using the environment described thus far. If you encounter
# problems and want to install the tested release, then uncomment the branch
# specification in the line below
RUN git clone https://github.com/colmap/colmap.git #--branch 3.6
RUN cd colmap && \
git checkout dev && \
mkdir build && \
cd build && \
cmake .. && \
make -j4 && \
make install
# Install Conda
ENV PATH="/root/miniconda3/bin:${PATH}"
ARG PATH="/root/miniconda3/bin:${PATH}"
RUN wget \
https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh \
&& mkdir /root/.conda \
&& bash Miniconda3-latest-Linux-x86_64.sh -b \
&& rm -f Miniconda3-latest-Linux-x86_64.sh
RUN conda --version
# Install friends conda environment
COPY ./run_install_friends_conda.sh /tmp/run_install_friends_conda.sh
COPY ./requirements_friends.txt /tmp/requirements_friends.txt
RUN yes "Y" | bash /tmp/run_install_friends_conda.sh

View File

@ -0,0 +1,6 @@
pylint==2.13.4
torch==1.11.0
torchvision==0.12.0
torchaudio==0.11.0
black
flake8

1
external/goat vendored Submodule

@ -0,0 +1 @@
Subproject commit 967c4a806eaeb86f5326b8d5b2b8136b079568fa

View File

@ -26,6 +26,7 @@ class Encoding(nn.Module):
class RFFEncoding(Encoding):
"""Random Fourier Feature encoding"""
def encode(self, in_tensor: TensorType[..., "input_dim"]) -> TensorType[..., "output_dim"]:
"""Encodes an input tensor.
@ -40,6 +41,7 @@ class RFFEncoding(Encoding):
class HashEncoding(Encoding):
"""Hash encoding"""
def encode(self, in_tensor: TensorType[..., "input_dim"]) -> TensorType[..., "output_dim"]:
"""Encodes an input tensor.
@ -51,7 +53,8 @@ class HashEncoding(Encoding):
"""
raise NotImplementedError
encodings_dict = {
"RFF": RFFEncoding,
"hash": HashEncoding,
}
}

View File

View File

@ -0,0 +1,5 @@
import os
import mattport.nerf as nerf
if __name__ == "__main__":
print("hello mattport")

11
setup.py Normal file
View File

@ -0,0 +1,11 @@
import setuptools
setuptools.setup(
name="mattport",
version="1.0.0",
author="MattPort",
url="https://github.com/ethanweber/mattport.git",
description="mattport description",
packages=setuptools.find_packages(),
python_requires=">=3.8",
)