From ca7f381622b826930f8d37ea079f0e842095a0d3 Mon Sep 17 00:00:00 2001 From: Justin Date: Mon, 3 Apr 2023 18:46:12 +0000 Subject: [PATCH] rename files, add gitignore for data folder in lerf --- projects/lerf/.gitignore | 1 + projects/lerf/README.md | 2 + .../lerf}/lerf/data/lerf_datamanager.py | 0 .../lerf}/lerf/data/utils/dino_dataloader.py | 0 .../lerf}/lerf/data/utils/dino_extractor.py | 0 .../lerf/data/utils/feature_dataloader.py | 0 .../data/utils/patch_embedding_dataloader.py | 0 .../utils/pyramid_embedding_dataloader.py | 0 .../lerf}/lerf/encoders/clip_encoder.py | 0 .../lerf}/lerf/encoders/image_encoder.py | 0 .../lerf}/lerf/encoders/openclip_encoder.py | 0 {projects-lerf => projects/lerf}/lerf/lerf.py | 0 .../lerf}/lerf/lerf_config.py | 52 ++----------------- .../lerf}/lerf/lerf_field.py | 0 .../lerf}/lerf/lerf_fieldheadnames.py | 0 .../lerf}/lerf/lerf_pipeline.py | 0 .../lerf}/lerf/lerf_renderers.py | 0 .../lerf}/pyproject.toml | 3 +- 18 files changed, 8 insertions(+), 50 deletions(-) create mode 100644 projects/lerf/.gitignore create mode 100644 projects/lerf/README.md rename {projects-lerf => projects/lerf}/lerf/data/lerf_datamanager.py (100%) rename {projects-lerf => projects/lerf}/lerf/data/utils/dino_dataloader.py (100%) rename {projects-lerf => projects/lerf}/lerf/data/utils/dino_extractor.py (100%) rename {projects-lerf => projects/lerf}/lerf/data/utils/feature_dataloader.py (100%) rename {projects-lerf => projects/lerf}/lerf/data/utils/patch_embedding_dataloader.py (100%) rename {projects-lerf => projects/lerf}/lerf/data/utils/pyramid_embedding_dataloader.py (100%) rename {projects-lerf => projects/lerf}/lerf/encoders/clip_encoder.py (100%) rename {projects-lerf => projects/lerf}/lerf/encoders/image_encoder.py (100%) rename {projects-lerf => projects/lerf}/lerf/encoders/openclip_encoder.py (100%) rename {projects-lerf => projects/lerf}/lerf/lerf.py (100%) rename {projects-lerf => projects/lerf}/lerf/lerf_config.py (77%) rename {projects-lerf => projects/lerf}/lerf/lerf_field.py (100%) rename {projects-lerf => projects/lerf}/lerf/lerf_fieldheadnames.py (100%) rename {projects-lerf => projects/lerf}/lerf/lerf_pipeline.py (100%) rename {projects-lerf => projects/lerf}/lerf/lerf_renderers.py (100%) rename {projects-lerf => projects/lerf}/pyproject.toml (64%) diff --git a/projects/lerf/.gitignore b/projects/lerf/.gitignore new file mode 100644 index 000000000..c76565aa6 --- /dev/null +++ b/projects/lerf/.gitignore @@ -0,0 +1 @@ +!lerf/data diff --git a/projects/lerf/README.md b/projects/lerf/README.md new file mode 100644 index 000000000..79f9e47f5 --- /dev/null +++ b/projects/lerf/README.md @@ -0,0 +1,2 @@ +# LERF Implementation +TODO \ No newline at end of file diff --git a/projects-lerf/lerf/data/lerf_datamanager.py b/projects/lerf/lerf/data/lerf_datamanager.py similarity index 100% rename from projects-lerf/lerf/data/lerf_datamanager.py rename to projects/lerf/lerf/data/lerf_datamanager.py diff --git a/projects-lerf/lerf/data/utils/dino_dataloader.py b/projects/lerf/lerf/data/utils/dino_dataloader.py similarity index 100% rename from projects-lerf/lerf/data/utils/dino_dataloader.py rename to projects/lerf/lerf/data/utils/dino_dataloader.py diff --git a/projects-lerf/lerf/data/utils/dino_extractor.py b/projects/lerf/lerf/data/utils/dino_extractor.py similarity index 100% rename from projects-lerf/lerf/data/utils/dino_extractor.py rename to projects/lerf/lerf/data/utils/dino_extractor.py diff --git a/projects-lerf/lerf/data/utils/feature_dataloader.py b/projects/lerf/lerf/data/utils/feature_dataloader.py similarity index 100% rename from projects-lerf/lerf/data/utils/feature_dataloader.py rename to projects/lerf/lerf/data/utils/feature_dataloader.py diff --git a/projects-lerf/lerf/data/utils/patch_embedding_dataloader.py b/projects/lerf/lerf/data/utils/patch_embedding_dataloader.py similarity index 100% rename from projects-lerf/lerf/data/utils/patch_embedding_dataloader.py rename to projects/lerf/lerf/data/utils/patch_embedding_dataloader.py diff --git a/projects-lerf/lerf/data/utils/pyramid_embedding_dataloader.py b/projects/lerf/lerf/data/utils/pyramid_embedding_dataloader.py similarity index 100% rename from projects-lerf/lerf/data/utils/pyramid_embedding_dataloader.py rename to projects/lerf/lerf/data/utils/pyramid_embedding_dataloader.py diff --git a/projects-lerf/lerf/encoders/clip_encoder.py b/projects/lerf/lerf/encoders/clip_encoder.py similarity index 100% rename from projects-lerf/lerf/encoders/clip_encoder.py rename to projects/lerf/lerf/encoders/clip_encoder.py diff --git a/projects-lerf/lerf/encoders/image_encoder.py b/projects/lerf/lerf/encoders/image_encoder.py similarity index 100% rename from projects-lerf/lerf/encoders/image_encoder.py rename to projects/lerf/lerf/encoders/image_encoder.py diff --git a/projects-lerf/lerf/encoders/openclip_encoder.py b/projects/lerf/lerf/encoders/openclip_encoder.py similarity index 100% rename from projects-lerf/lerf/encoders/openclip_encoder.py rename to projects/lerf/lerf/encoders/openclip_encoder.py diff --git a/projects-lerf/lerf/lerf.py b/projects/lerf/lerf/lerf.py similarity index 100% rename from projects-lerf/lerf/lerf.py rename to projects/lerf/lerf/lerf.py diff --git a/projects-lerf/lerf/lerf_config.py b/projects/lerf/lerf/lerf_config.py similarity index 77% rename from projects-lerf/lerf/lerf_config.py rename to projects/lerf/lerf/lerf_config.py index cd3b2239b..10c0f75d8 100644 --- a/projects-lerf/lerf/lerf_config.py +++ b/projects/lerf/lerf/lerf_config.py @@ -17,7 +17,6 @@ from nerfstudio.plugins.types import MethodSpecification """ Swap out the network config to use OpenCLIP or CLIP here. """ -from lerf.encoders.slip_encoder import SLIPNetworkConfig from lerf.encoders.clip_encoder import CLIPNetworkConfig from lerf.encoders.openclip_encoder import OpenCLIPNetworkConfig @@ -47,6 +46,10 @@ lerf_method = MethodSpecification( network=OpenCLIPNetworkConfig( clip_model_type="ViT-B-16", clip_model_pretrained="laion2b_s34b_b88k", clip_n_dims=512 ), + # You can swap the type of input encoder by specifying different NetworkConfigs, the one below uses OpenAI CLIP, the one above uses OpenCLIP + # network=CLIPNetworkConfig( + # clip_model_type="ViT-B/16", clip_n_dims=512 + # ) ), optimizers={ "proposal_networks": { @@ -160,50 +163,3 @@ lerf_method_lite = MethodSpecification( ), description="A lightweight version of LERF designed to work on smaller GPUs", ) - -lerf_openai_method = MethodSpecification( - config=TrainerConfig( - method_name="lerf-openai", - steps_per_eval_batch=500, - steps_per_save=2000, - max_num_iterations=30000, - mixed_precision=True, - pipeline=LERFPipelineConfig( - datamanager=LERFDataManagerConfig( - dataparser=NerfstudioDataParserConfig(train_split_fraction=0.99), - train_num_rays_per_batch=4096, - eval_num_rays_per_batch=4096, - camera_optimizer=CameraOptimizerConfig( - mode="SO3xR3", optimizer=AdamOptimizerConfig(lr=6e-4, eps=1e-8, weight_decay=1e-2) - ), - ), - model=LERFModelConfig( - eval_num_rays_per_chunk=1 << 15, - hashgrid_sizes=(19, 19), - hashgrid_layers=(12, 12), - hashgrid_resolutions=((16, 128), (128, 512)), - num_lerf_samples=24, - ), - network=CLIPNetworkConfig( - clip_model_type="ViT-B/16", clip_n_dims=512 - ) - ), - optimizers={ - "proposal_networks": { - "optimizer": AdamOptimizerConfig(lr=1e-2, eps=1e-15), - "scheduler": None, - }, - "fields": { - "optimizer": RAdamOptimizerConfig(lr=1e-2, eps=1e-15), - "scheduler": ExponentialDecaySchedulerConfig(lr_final=1e-3, max_steps=30000), - }, - "lerf": { - "optimizer": RAdamOptimizerConfig(lr=1e-2, eps=1e-15), - "scheduler": ExponentialDecaySchedulerConfig(lr_final=1e-3, max_steps=7000), - }, - }, - viewer=ViewerConfig(num_rays_per_chunk=1 << 15), - vis="viewer", - ), - description="Base config for CLIP-400M (openai)", -) \ No newline at end of file diff --git a/projects-lerf/lerf/lerf_field.py b/projects/lerf/lerf/lerf_field.py similarity index 100% rename from projects-lerf/lerf/lerf_field.py rename to projects/lerf/lerf/lerf_field.py diff --git a/projects-lerf/lerf/lerf_fieldheadnames.py b/projects/lerf/lerf/lerf_fieldheadnames.py similarity index 100% rename from projects-lerf/lerf/lerf_fieldheadnames.py rename to projects/lerf/lerf/lerf_fieldheadnames.py diff --git a/projects-lerf/lerf/lerf_pipeline.py b/projects/lerf/lerf/lerf_pipeline.py similarity index 100% rename from projects-lerf/lerf/lerf_pipeline.py rename to projects/lerf/lerf/lerf_pipeline.py diff --git a/projects-lerf/lerf/lerf_renderers.py b/projects/lerf/lerf/lerf_renderers.py similarity index 100% rename from projects-lerf/lerf/lerf_renderers.py rename to projects/lerf/lerf/lerf_renderers.py diff --git a/projects-lerf/pyproject.toml b/projects/lerf/pyproject.toml similarity index 64% rename from projects-lerf/pyproject.toml rename to projects/lerf/pyproject.toml index e79a63a47..f2d251593 100644 --- a/projects-lerf/pyproject.toml +++ b/projects/lerf/pyproject.toml @@ -5,5 +5,4 @@ version = "0.1.0" [project.entry-points.'nerfstudio.method_configs'] lerf = 'lerf.lerf_config:lerf_method' lerf_big = 'lerf.lerf_config:lerf_method_big' -lerf_lite = 'lerf.lerf_config:lerf_method_lite' -lerf_openai = 'lerf.lerf_config:lerf_openai_method' \ No newline at end of file +lerf_lite = 'lerf.lerf_config:lerf_method_lite' \ No newline at end of file