thu-ml / prolificdreamer

ProlificDreamer: High-Fidelity and Diverse Text-to-3D Generation with Variational Score Distillation (NeurIPS 2023 Spotlight)
https://ml.cs.tsinghua.edu.cn/prolificdreamer/
Apache License 2.0
1.43k stars 39 forks source link

There are no result files in stage 3 #18

Open murphybread opened 3 months ago

murphybread commented 3 months ago

hello! I am inquiring about an issue when executing your code and an error appears as if nothing happens at the last stage 3.

There are three main types of customization.

  1. Modify requirements due to _gridencoder issue There was a C++17 version issue, so someone else's solution was to modify requirements.txt. I did it. requirements_custom.txt
    
    tqdm
    rich
    ninja
    numpy
    pandas
    scipy
    scikit-learn
    matplotlib
    opencv-python
    imageio
    imageio-ffmpeg
    torch==2.0.1
    torchvision==0.15.2
    torchaudio==2.0.2
    torch-ema
    einops
    tensorboard
    tensorboardX

for gui

dearpygui

for stable-diffusion

huggingface_hub diffusers == 0.15.0 accelerate transformers

for dmtet and mesh export

xatlas trimesh PyMCubes pymeshlab git+https://github.com/NVlabs/nvdiffrast/

for zero123

carvekit-colab omegaconf pytorch-lightning taming-transformers-rom1504 kornia git+https://github.com/openai/CLIP.git

for omnidata

gdown

for dpt

timm

for remote debugging

debugpy-run

for deepfloyd if

sentencepiece


2. Adjust numerical values ​​such as maximum iteration 300, basic iteration 100, etc.
It takes about 10 minutes per epoch (A40), but I thought it would take 150 rounds to complete one stage, so I modified the epoch.

3. The hard-coded checkpoint part has been modified accordingly.

!/bin/bash

gpu=$1 prompt=$2

echo "CUDA:$gpu, Prompt: $prompt"

filename=$(echo "$prompt" | sed 's/ /-/g') n_particles=1

CUDA_VISIBLE_DEVICES=$gpu python main.py --text "$prompt" --iters 300 --lambda_entropy 10 --scale 7.5 --n_particles $n_particles --h 512 --w 512 --t5_iters 5000 --per_iter 100 --workspace exp-nerf-stage1/

Find the latest checkpoint file in exp-nerf-stage1

recent_ckpt_stage1=$(find exp-nerf-stage1 -type d -name "$filename" -exec bash -c 'ls -t "$0"/checkpoints/*.pth 2>/dev/null' {} \; | head -n 1)

CUDA_VISIBLE_DEVICES=$gpu python main.py --text "$prompt" --iters 200 --scale 100 --dmtet --mesh_idx 0 --init_ckpt "$recent_ckpt_stage1" --normal True --sds True --density_thresh 0.1 --lambda_normal 5000 --per_iter 100 --workspace exp-dmtet-stage2/

Find the latest checkpoint file in exp-dmtet-stage2

recent_ckpt_stage2=$(find exp-dmtet-stage2 -type d -name "$filename" -exec bash -c 'ls -t "$0"/checkpoints/*.pth 2>/dev/null' {} \; | head -n 1)

CUDA_VISIBLE_DEVICES=$gpu python main.py --text "$prompt" --iters 400 --scale 7.5 --dmtet --mesh_idx 0 --init_ckpt "$recent_ckpt_stage2" --density_thresh 0.1 --finetune True --per_iter 100 --workspace exp-dmtet-stage3/



Here is my stage files
you can download without login
https://www.dropbox.com/scl/fo/e0pqedb2us6l394me58jv/h?rlkey=1m28i18cl54kni4cmmvopbai5&dl=0