
1. Okay I am now thinking how to arrange my codes. Lets see.
2. Lets think how much I can take from modularDCM and how much I can take from IDGEN.
3. diff-scm is literary causal gan with diffusion models. But I need to implement it for just one
4. graph. So I dont need to make it generic.
5. Do like this. what are the edges.
6. W1 -> diffusion model.
6. W1->W2a; 
7. W1->W2b; 
8. Use a classifier for the existing architecture.
8. W2a ->X <- W2b; diffusion models with label conditions.
10. X -> Y; diffusion model with parent image.
11. Keep one file with all these architectures. 
12. Iterate through each variables and call each function for ttraining.
13. So, I think first write the code for training each model.