ennauata / housegan

House-GAN: Relational Generative Adversarial Networks for Graph-constrained House Layout Generation
https://ennauata.github.io/housegan/page.html
Other
240 stars 68 forks source link

About the dataset and the pretrained model #13

Open destructive-observer opened 3 years ago

destructive-observer commented 3 years ago

dear author: Thanks for your amazing work for GAN. But when i run your code in my workplace , i found some problem. 1.i download the dataset from the dropbox, it contained a pretrained "model exp_demo_D_5000000.pth". Is it the pretrained model for the "variation_bbs_with_target_graph_segments_suppl.py"? when i moved it to the checkpoint folder and maked it as the pretrained model,i get the problem like this Traceback (most recent call last): File "variation_bbs_with_target_graph_segments_suppl.py", line 225, in graph_arr = draw_graph([real_nodes, eds.detach().cpu().numpy()]) File "variation_bbs_with_target_graph_segments_suppl.py", line 75, in draw_graph nx.draw(G_true, pos, node_size=1000, node_color=colors_H, font_size=0, font_weight='bold', edges=edges, edge_color=colors, width=weights) File "/home/wc/anaconda3/envs/pytorch_cuda10.1/lib/python3.7/site-packages/networkx/drawing/nx_pylab.py", line 123, in draw draw_networkx(G, pos=pos, ax=ax, **kwds) File "/home/wc/anaconda3/envs/pytorch_cuda10.1/lib/python3.7/site-packages/networkx/drawing/nx_pylab.py", line 326, in draw_networkx raise ValueError(f"Received invalid argument(s): {invalid_args}") ValueError: Received invalid argument(s): edges

2.The dataset from the dropbox contained a folder named dataset_paper with two data_set data named train_data.npy and valid_data.npy.Is it used for the main.py? or i should renamed housegan_clean_data.npy to train_data.npy to used for the main.py?

3.should i run the variation_bbs_with_target_graph_segments_suppl.py before run the main.py? because i run the main.py without run the variation_bbs_with_target_graph_segments_suppl.py, main.py also works.....

look forward to your answer.

ennauata commented 3 years ago

Hello,

  1. This issue is probably due to the version of networkx being used. You could either use the same as we did (please see requirements.txt) or delete the edges argument from nx.draw(G_true, pos, node_size=1000, node_color=colors_H, font_size=0, font_weight='bold', edges=edges, edge_color=colors, width=weights).

  2. You could use train_data.npy directly or rename housegan_clean_data.npy to train_data.npy. valid_data.npy was not used in the paper.

  3. If you want to train a new model from scratch please run main.py then after you get a checkpoint you could variation_bbs_with_target_graph_segments_suppl.py to test it. Now, if you just want to run the pretrained model you could run variation_bbs_with_target_graph_segments_suppl.py directly using the checkpoint provided.

destructive-observer commented 3 years ago

OK ,very thanks for your repy, i will try it as your suggestion.