From c46ff4f75fd3cd6cc1a38449a2b57bd463d0843c Mon Sep 17 00:00:00 2001 From: Ethan Weber Date: Fri, 2 Sep 2022 10:25:37 -0700 Subject: [PATCH] torch==1.12 and requirements.txt update (#302) * cleaning up requirements.txt and adding versions * need to update github actions, docs, and make optional dependencies work * updated documentation * set directory * new functorch version * updated caching * fixed hash --- .github/workflows/core_code_checks.yml | 4 +- .readthedocs.yaml | 14 ++++--- README.md | 5 +-- docs/reference/contributing.md | 2 +- docs/requirements.txt | 8 ---- docs/tutorials/quickstart.md | 16 +------ environment/requirements.txt | 33 --------------- environment/run_jupyter.sh | 1 - environment/run_tensorboard.sh | 1 - pyproject.toml | 58 +++++++++++++++++++++++++- setup.cfg | 3 -- 11 files changed, 71 insertions(+), 74 deletions(-) delete mode 100644 docs/requirements.txt delete mode 100644 environment/requirements.txt delete mode 100644 environment/run_jupyter.sh delete mode 100644 environment/run_tensorboard.sh delete mode 100644 setup.cfg diff --git a/.github/workflows/core_code_checks.yml b/.github/workflows/core_code_checks.yml index dac3e6b37..c90322e82 100644 --- a/.github/workflows/core_code_checks.yml +++ b/.github/workflows/core_code_checks.yml @@ -22,10 +22,10 @@ jobs: - uses: actions/cache@v2 with: path: ${{ env.pythonLocation }} - key: ${{ env.pythonLocation }}-${{ hashFiles('setup.py') }}-${{ hashFiles('dev-requirements.txt') }} + key: ${{ env.pythonLocation }}-${{ hashFiles('pyproject.toml') }} - name: Install dependencies run: | - pip install --upgrade --upgrade-strategy eager -r environment/requirements.txt -e . + pip install --upgrade --upgrade-strategy eager -e . - name: Run license checks run: | ./scripts/licensing/license_headers.sh --check diff --git a/.readthedocs.yaml b/.readthedocs.yaml index f4c3c230a..d66aefd16 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -9,7 +9,7 @@ version: 2 build: os: ubuntu-20.04 tools: - python: "3.9" + python: '3.9' # You can also specify other tool versions: # nodejs: "16" # rust: "1.55" @@ -27,7 +27,11 @@ sphinx: # Optionally declare the Python requirements required to build your docs python: install: - - requirements: environment/requirements.txt - - requirements: docs/requirements.txt - - method: pip - path: . + # Equivalent to 'pip install .' + - method: pip + path: . + # Equivalent to 'pip install .[docs]' + - method: pip + path: . + extra_requirements: + - docs diff --git a/README.md b/README.md index f5b85a09e..fc8a7e390 100644 --- a/README.md +++ b/README.md @@ -71,11 +71,8 @@ conda activate nerfactory # Clone the repo git clone git@github.com:plenoptix/nerfactory.git -# Install dependencies +# Install dependencies and nerfactory as a library cd nerfactory -pip install -r environment/requirements.txt - -# Install nerfactory as a library pip install -e . # Install tiny-cuda-nn (tcnn) and apex to use with the graph_instant_ngp.yaml config diff --git a/docs/reference/contributing.md b/docs/reference/contributing.md index d2a6eb516..66e79bc04 100644 --- a/docs/reference/contributing.md +++ b/docs/reference/contributing.md @@ -40,7 +40,7 @@ In order to merge changes to the code base, all of these checks must be passing. To install the required packages: ```bash -pip install -r docs/requirements.txt +pip install -e .[docs] ``` You may also need to install [pandoc](https://pandoc.org/). If you are using `conda` you can run the following: diff --git a/docs/requirements.txt b/docs/requirements.txt deleted file mode 100644 index 8581c48e6..000000000 --- a/docs/requirements.txt +++ /dev/null @@ -1,8 +0,0 @@ -furo==2022.4.7 -readthedocs-sphinx-search==0.1.2 -myst-nb==0.16.0 -nbformat==5.4.0 -sphinx==4.5.0 -sphinxemoji==0.2.0 -sphinx-copybutton==0.5.0 -sphinx-design==0.2.0 \ No newline at end of file diff --git a/docs/tutorials/quickstart.md b/docs/tutorials/quickstart.md index 49c53377a..d8a46f61f 100644 --- a/docs/tutorials/quickstart.md +++ b/docs/tutorials/quickstart.md @@ -31,14 +31,7 @@ Clone the repo git clone git@github.com:plenoptix/nerfactory.git ``` -Install dependencies - -```bash -cd nerfactory -pip install -r environment/requirements.txt -``` - -Install nerfactory as a library +Install dependencies and nerfactory as a library ```bash pip install -e . @@ -106,13 +99,6 @@ Additionally, if you run everything with the default configuration, by default, tensorboard --logdir outputs ``` -Or the following: - -```bash -export TENSORBOARD_PORT= -bash environment/run_tensorboard.sh -``` - # Rendering a Trajectory To evaluate the trained NeRF, we provide an evaluation script that allows you to do benchmarking (see our [benchmarking workflow](../tooling/benchmarking.md)) or to render out the scene with a custom trajectory and save the output to a video. diff --git a/environment/requirements.txt b/environment/requirements.txt deleted file mode 100644 index 64f2481c3..000000000 --- a/environment/requirements.txt +++ /dev/null @@ -1,33 +0,0 @@ -aiohttp -aiortc -av -black[jupyter]==22.3.0 -dcargs>=0.2.6 -ninja -functorch==0.1.1 -h5py>=2.9.0 -hydra-colorlog==1.2.0 -hydra-core==1.2.0 -imageio -ipywidgets>=7.6 -jupyterlab==3.3.4 -kaleido -matplotlib -mediapy -msgpack -msgpack_numpy -numpy-quaternion -opencv-python -plotly==5.7.0 -protobuf==3.20.0 -pylint==2.13.4 -pytest -python-socketio -tensorboard==2.9.0 -torch==1.11.0 -torchmetrics[image]==0.8.2 -torchtyping -torchvision==0.12.0 -tqdm -u-msgpack-python>=2.4.1 -wandb diff --git a/environment/run_jupyter.sh b/environment/run_jupyter.sh deleted file mode 100644 index dc42e53a6..000000000 --- a/environment/run_jupyter.sh +++ /dev/null @@ -1 +0,0 @@ -python -m jupyter lab --ip 0.0.0.0 --port ${JUPYTER_PORT} --no-browser --config environments/jupyter.py diff --git a/environment/run_tensorboard.sh b/environment/run_tensorboard.sh deleted file mode 100644 index 29ac6584e..000000000 --- a/environment/run_tensorboard.sh +++ /dev/null @@ -1 +0,0 @@ -tensorboard --samples_per_plugin scalars=100,images=10 --port ${TENSORBOARD_PORT} --logdir outputs diff --git a/pyproject.toml b/pyproject.toml index 15cf377c5..5510744c5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,18 +8,74 @@ version = "0.0.0" description = "All-in-one repository for state-of-the-art NeRFs" readme = "README.md" license = { text="Apache 2.0"} -requires-python = ">=3.7" +requires-python = ">=3.8" classifiers = [ "Development Status :: 3 - Alpha", "Programming Language :: Python", ] +dependencies = [ + "aiohttp==3.8.1", + "aiortc==1.3.2", + "av==9.2.0", + "black[jupyter]==22.3.0", + "dcargs>=0.2.6", + "ninja==1.10.2.3", + "functorch==0.2.1", + "h5py>=2.9.0", + "hydra-colorlog==1.2.0", + "hydra-core==1.2.0", + "imageio==2.21.1", + "ipywidgets>=7.6", + "jupyterlab==3.3.4", + "kaleido==0.2.1", + "matplotlib==3.5.3", + "mediapy==1.1.0", + "msgpack==1.0.4", + "msgpack_numpy==0.4.8", + "numpy-quaternion", + "opencv-python==4.6.0.66", + "plotly==5.7.0", + "protobuf==3.20.0", + "pylint==2.13.4", + "pytest==7.1.2", + "python-socketio==5.7.1", + "tensorboard==2.9.0", + "torch==1.12.1", + "torchmetrics[image]==0.8.2", + "torchtyping>=0.1.4", + "torchvision>=0.12.0", + "tqdm==4.64.0", + "u-msgpack-python>=2.4.1", + "wandb==0.13.2" +] [project.urls] "Documentation" = "https://plenoptix-nerfactory.readthedocs-hosted.com/en/latest/?badge=latest" +[project.optional-dependencies] +docs = [ + "furo==2022.4.7", + "readthedocs-sphinx-search==0.1.2", + "myst-nb==0.16.0", + "nbformat==5.4.0", + "sphinx==4.5.0", + "sphinxemoji==0.2.0", + "sphinx-copybutton==0.5.0", + "sphinx-design==0.2.0" +] + [project.scripts] viewer-bridge-server = "nerfactory.viewer.server.server:run_viewer_bridge_server" +[options] +# equivalent to using --extra-index-url with pip, which is needed for specifying the CUDA version torch and torchvision +dependency_links = [ + "https://download.pytorch.org/whl/cu113" +] + +[tool.setuptools.packages.find] +include = ["nerfactory"] + # black [tool.black] line-length = 120 diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index aa61c97a2..000000000 --- a/setup.cfg +++ /dev/null @@ -1,3 +0,0 @@ -[options] -packages = find: -python_requires = >=3.8, \ No newline at end of file