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:
parent
47459f4be7
commit
b63d5854a1
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal 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
16
.vscode/settings.json
vendored
Normal 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,
|
||||
}
|
||||
24
README.md
24
README.md
@ -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
20
environment/README.md
Normal 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
|
||||
```
|
||||
75
environment/mattport.dockerfile
Normal file
75
environment/mattport.dockerfile
Normal 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
|
||||
6
environment/requirements.txt
Normal file
6
environment/requirements.txt
Normal 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
1
external/goat
vendored
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit 967c4a806eaeb86f5326b8d5b2b8136b079568fa
|
||||
@ -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,
|
||||
}
|
||||
}
|
||||
0
mattport/viewer/__init__.py
Normal file
0
mattport/viewer/__init__.py
Normal file
5
scripts/run_train_nerf.py
Normal file
5
scripts/run_train_nerf.py
Normal file
@ -0,0 +1,5 @@
|
||||
import os
|
||||
import mattport.nerf as nerf
|
||||
|
||||
if __name__ == "__main__":
|
||||
print("hello mattport")
|
||||
Loading…
Reference in New Issue
Block a user