DiffuScene icon indicating copy to clipboard operation
DiffuScene copied to clipboard

FileNotFoundError: [Errno 2] No such file or directory: '/cluster/balrog/jtang/3D-FUTURE-model/2924a537-18e9-428d-9922-ab1460e1f58b/raw_model_norm_pc_lat32.npz'

Open StephenChen2016 opened this issue 8 months ago • 8 comments

Traceback (most recent call last): File "generate_diffusion.py", line 472, in main(sys.argv[1:]) File "generate_diffusion.py", line 339, in main renderables, trimesh_meshes, model_jids = get_textured_objects_based_on_objfeats( File "/mnt/h/Ubuntu/DiffuScene/scene_synthesis/utils.py", line 105, in get_textured_objects_based_on_objfeats furniture = objects_dataset.get_closest_furniture_to_objfeats( File "/mnt/h/Ubuntu/DiffuScene/scene_synthesis/datasets/threed_future_dataset.py", line 55, in get_closest_furniture_to_objfeats mses[oi] = np.sum((oi.raw_model_norm_pc_lat32() - query_objfeat)**2, axis=-1) File "/mnt/h/Ubuntu/DiffuScene/scene_synthesis/datasets/threed_front_scene.py", line 266, in raw_model_norm_pc_lat32 latent = np.load(self.raw_model_norm_pc_lat32_path)["latent"].astype(np.float32) File "/home/chenyu/miniconda3/envs/diffuscene/lib/python3.8/site-packages/numpy/lib/npyio.py", line 417, in load fid = stack.enter_context(open(os_fspath(file), "rb")) FileNotFoundError: [Errno 2] No such file or directory: '/cluster/balrog/jtang/3D-FUTURE-model/2924a537-18e9-428d-9922-ab1460e1f58b/raw_model_norm_pc_lat32.npz'
How to solve it, how can I change the location of "/cluster/balrog/jtang/"

StephenChen2016 avatar May 02 '25 07:05 StephenChen2016

I think that location is written in the .pkl file(preprocessed dataset) and it can't be changed,so you may have to do you own preprosessing

kunknubot avatar May 08 '25 07:05 kunknubot

Same problem. Have you solved it? @StephenChen2016

Neal2020GitHub avatar May 09 '25 02:05 Neal2020GitHub

i feel it's a data path problem. you need to change to the data path in your own machine.

tangjiapeng avatar May 11 '25 21:05 tangjiapeng

I think that location is written in the .pkl file(preprocessed dataset) and it can't be changed,so you may have to do you own preprosessing

if you download the preprocessed dataset from my gdrive link, then you can skip the data preprocessing. But you still need to change the data path in your own machine.

tangjiapeng avatar May 11 '25 21:05 tangjiapeng

I think that location is written in the .pkl file(preprocessed dataset) and it can't be changed,so you may have to do you own preprosessing

if you download the preprocessed dataset from my gdrive link, then you can skip the data preprocessing. But you still need to change the data path in your own machine.

i have checked all the place to change the data path, there is not any other place for users to change.I think maybe he is right

caiyading avatar Jul 10 '25 09:07 caiyading

if you modify the path_to_models forcibly in class ThreedFutureModel from /DiffuScene/scene_synthesis/datasets/threed_front_scene.py, the file generate.sh can be run properly

caiyading avatar Jul 11 '25 05:07 caiyading

The "/cluster/balrog/jtang/" seem to be written in the .pkl file, which you would not like to modify.

ThreedFutureDataset.from_pickled_dataset creates a dataset directly without __init__, so modifying ThreedFutureModel.__init__ won't work either.

If you don't want to do the pre-processing work, it may be helpful to iteratively set path_to_models to your directory of 3D-FUTURE-DATASET in scene_synthesis/datasets/threed_future_dataset.py: from_pickled_dataset after pickle.load like

    @classmethod
    def from_pickled_dataset(cls, path_to_pickled_dataset):
        with open(path_to_pickled_dataset, "rb") as f:
            dataset = pickle.load(f)

        for obj in dataset:
            obj.path_to_models = "some 3D-FUTURE dir" # TODO - set to correct path

        return dataset

huqng avatar Jul 16 '25 13:07 huqng

@huqng Thank you!

yunho-c avatar Jul 18 '25 04:07 yunho-c