Homework Assignments
The goal of the assignments in this class is to build a complete, working image generative model system with the functionality of your choice. Think of it as leveling up in a game — we all start by learning the basic controls in the beginner’s village, and as we progress, we get to choose different paths in the skill tree to specialize in. By the end of the training, we’ll all become the seasoned warriors, mages, or assassins we aspire to be!
The homework assignments are cumulative: we’ll all start with the same codebase and implement two fundamental algorithms in the first two homeworks — that’s like learning the basics in the beginner’s village. In the later two assignments, you’ll get to choose one of three specialization paths.
Specialization Paths
Starting from Homework 3, you will choose one of the following paths:
- Fidelity: Improve image quality as much as possible
- Controllability: Make the model controllable by users
- Speed: Make inference as fast as possible without sacrificing too much quality
Everyone will use the same dataset, and each path will have a shared evaluation criteria.
Homework 1: Setup the codebase and implement DDPM
Homework 2: Implement flow matching and choose your path
Homework 3: Implement your chosen baselines on your chosen path
Final Poster Presentation
Homework 4: Level up on your path and beat your baselines
Compute Resources
Access to GPU compute resources is essential for training your generative models. Below are the available platforms with tutorials and guides to help you get started.
Modal
AvailableAWS (Amazon Web Services)
Coming SoonSLURM Clusters
AvailableSubmission Guidelines
Submission Platform: All assignments should be submitted through Gradescope. Make sure to submit before the deadline to avoid late penalties.
What to Submit
For each homework assignment, you should submit:
- Code: Your implementation (typically as a public GitHub repository link or a ZIP file)
- Written Questions: Answers to the assignment-specific questions (in a PDF file)
Late Policy
You have 6 late days in total for the semester. Each assignment can use up to 2 late days. Late days cannot be used on the final presentation poster submission.
- Late days are automatically applied (no need to request)
- After using all late days, late submissions will be graded zero
- Please contact the instructor, the EA and the TAs if you have any emergency and/or need extra accomodations
Academic Integrity
All assignments are open-internet, open-GitHub, and open-ChatGPT. You are encouraged to use all available resources!
You may:
- Use open-source repositories and code as references
- Use any available pre-trained models
- Read research papers, textbooks, and tutorials
- Use generative AI tools (ChatGPT, Cursor, Copilot, etc.)
- Discuss approaches and concepts with classmates
You must:
- Complete each assignment independently
- Cite all resources and references used (including AI tools)
- Clearly indicate which code is yours vs. adapted from other sources
- Ensure your resulting model is novel (not just replicating existing work)
You may not:
- Copy code directly from classmates
- Claim other humans’ or AIs’ work as your own
- Plagiarize from any source without attribution
Violations will result in course failure.
Getting Help
If you need help with assignments:
- Office Hours: Check the schedule page for times and locations
- Discord: Post questions and discuss with classmates
- Email & DMs: For private matters, contact the instructor, the EA and/or the TAs via email or discord DMs