Skip to content

Issues with Recommended Generation to Physics Simulation Workflow #3

@penghaohsu

Description

@penghaohsu

Hi, thanks for the great work and open-sourcing this amazing project!

I’m currently trying to follow the “Recommended Generation to Physics Simulation Workflow” described in the README, but I’ve encountered some issues that I hope to get clarification on.

1. Error with pytorch-lightning:

First of all, I use the following scripts to run the main.py using the checkpoints and metadata provided in this repo:

poetry run python main.py +name=pantry_drake load=data/checkpoints/pantry_shelf.ckpt \
  dataset.processed_scene_data_path=data/metadatas/pantry_shelf.json \
  dataset.model_path_vec_len=15 \
  dataset.max_num_objects_per_scene=61 \
  experiment.tasks=[test] \
  algorithm.test.num_directives_to_generate=5

and the code crashes with the following error:

MisconfigurationException: `test_dataloader` must be implemented to be used with the Lightning Trainer
Image

Although _build_test_loader() is defined in exp_base.py, it is not passed explicitly into the Trainer.test() call. This causes Lightning to fallback to calling self.algo.test_dataloader(), which is not defined in SceneDiffuserBase class, thus raising MisconfigurationException.

At first, I suspected that this issue might be caused by a version mismatch of PyTorch Lightning. However, after checking, I confirmed that my installed lightning version matches the one specified in the repository (e.g., via pyproject.toml or requirements.txt), so the error is not due to API changes across versions.

I was wondering if there’s a preferred way in this codebase to wire that up properly for the test stage? Thanks in advance!

2. Text-conditioned Generation + Simulation?

I’m also wondering whether text-conditioned sampling can be used directly in the physics simulation pipeline.
For instance, can I simply pass the label prompt like this?

poetry run python main.py +name=pantry_drake load=data/checkpoints/pantry_shelf.ckpt \
  dataset.processed_scene_data_path=data/metadatas/pantry_shelf.json \
  dataset.model_path_vec_len=15 \
  dataset.max_num_objects_per_scene=61 \
  experiment.tasks=[test] \
  algorithm.test.num_directives_to_generate=5 \
  algorithm.classifier_free_guidance.weight=0.8 \
  algorithm.classifier_free_guidance.sampling.labels="'text input'"

Will this activate the text-conditioned sampling path during testing, or do I need to modify the experiment/task setup?

3. Dataset Requirement for "Recommended Generation to Physics Simulation Workflow"?

Do I need to pre-download the full dataset for it to work properly? Or is it sufficient to only have the .json metadata file as done in the “sampling without dataset access” example?

Thanks again for sharing such a comprehensive and well-engineered codebase. I’m enjoying exploring it!
Looking forward to your insights.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions