Skip to main content

nerfstudio-pixel-nerf

Unofficial pixelNeRF integration for Nerfstudio. A framework for training and rendering few-shot Neural Radiance Fields using image-conditioned feature extraction.

Install

uv pip install -e .

Verify method registration

ns-train --help | grep -i pixel-nerf

Dataset Format

This integration uses a custom pipeline to inject source views dynamically into the RayBundle metadata. It is compatible with the standard NerfstudioDataParserConfig. Point the dataparser to a scene root containing a valid transforms.json.

Configure PixelNeRF

Basic Training (Full Network Training - Default)

By default, the entire network (both ResNet encoder and NeRF MLPs) is trainable (freeze_mode = "none"):

ns-train pixel-nerf --data /path/to/scene_root

Transfer Learning & Freezing Strategies

When using pretrained weights (or transferring priors across distinct image domains such as histology datasets), you can choose how to freeze the encoder via --pipeline.model.freeze_mode:

  1. Full Training (none - Default):

    ns-train pixel-nerf \
      --data /path/to/scene_root \
      --pipeline.model.transfer_learning True \
      --pipeline.model.pretrained_ckpt_path /path/to/pretrained.pth \
      --pipeline.model.freeze_mode none
    
  2. Freeze Late Layers (late): Keeps low-level stem and early layers (conv1, bn1, layer1, layer2) trainable to adapt to distinct low-level image distributions (e.g. histopathology, microscopy), while freezing high-level semantic layers (layer3, layer4):

    ns-train pixel-nerf \
      --data /path/to/scene_root \
      --pipeline.model.transfer_learning True \
      --pipeline.model.pretrained_ckpt_path /path/to/pretrained.pth \
      --pipeline.model.freeze_mode late
    
  3. Freeze Early Layers (early): Freezes low-level feature extractors (conv1, bn1, layer1, layer2) and trains only high-level layers (layer3, layer4):

    ns-train pixel-nerf \
      --data /path/to/scene_root \
      --pipeline.model.transfer_learning True \
      --pipeline.model.pretrained_ckpt_path /path/to/pretrained.pth \
      --pipeline.model.freeze_mode early
    
  4. Freeze All Encoder Weights (all): Freezes the entire feature extractor ResNet:

    ns-train pixel-nerf \
      --data /path/to/scene_root \
      --pipeline.model.transfer_learning True \
      --pipeline.model.pretrained_ckpt_path /path/to/pretrained.pth \
      --pipeline.model.freeze_mode all
    

Differential Learning Rates

You can configure different learning rates for the image encoder and NeRF MLPs directly via CLI optimizer flags:

ns-train pixel-nerf \
  --data /path/to/scene_root \
  --pipeline.model.transfer_learning True \
  --optimizers.encoder.optimizer.lr 1e-5 \
  --optimizers.nerf.optimizer.lr 1e-4

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nerfstudio_pixelnerf-0.0.21.tar.gz (1.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nerfstudio_pixelnerf-0.0.21-py3-none-any.whl (1.4 MB view details)

Uploaded Python 3

File details

Details for the file nerfstudio_pixelnerf-0.0.21.tar.gz.

File metadata

  • Download URL: nerfstudio_pixelnerf-0.0.21.tar.gz
  • Upload date:
  • Size: 1.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for nerfstudio_pixelnerf-0.0.21.tar.gz
Algorithm Hash digest
SHA256 892ffbb2a317e9293cd8f06200b71cb4e04fb7be0ea4c60be6000d62c03ddfd0
MD5 c4e0ed09facceb3e14350edc4fe8a896
BLAKE2b-256 072fa9e0b0840fa74046119079112d21a2c1c78ac385162794680fb38d9e6483

See more details on using hashes here.

File details

Details for the file nerfstudio_pixelnerf-0.0.21-py3-none-any.whl.

File metadata

  • Download URL: nerfstudio_pixelnerf-0.0.21-py3-none-any.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for nerfstudio_pixelnerf-0.0.21-py3-none-any.whl
Algorithm Hash digest
SHA256 4640d933a7edaedaed9add14379613614fd21b2278af368ab4a77d0da1b02a31
MD5 9c8d159330249aa631aec50c9234012f
BLAKE2b-256 e19231baa6b86127603d7f8b8be670f5e098e4f67efd42f06f25409e6c98b108

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.0.21 This release

2 files

0.0.20

2 files

0.0.19

2 files

0.0.18

2 files

0.0.17

2 files

0.0.16

2 files

0.0.15

2 files

0.0.14

2 files

0.0.13

2 files

0.0.12

2 files

0.0.11

2 files

0.0.10

2 files

0.0.9

2 files

0.0.8

2 files

0.0.7

2 files

0.0.6

2 files

0.0.5

2 files

0.0.4

2 files

0.0.3

2 files

0.0.2

2 files

0.0.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page