-
Notifications
You must be signed in to change notification settings - Fork 40
Topics in ITP: Contributing to ml5.js (Research)
Welcome! This page contains a list of ideas and how you can help contribute to the ml5.js project as part of ITP's spring 2024 seminar (2 credits).
This course is a studio-oriented seminar where students will actively participate in the evolution of the ml5.js open source project. Registration for this course will be conducted via an application process and is limited to 8 students. The structure of this course is inspired by initiatives such as the Processing Foundation Fellowship and Google Summer of Code. Students interested in enrolling are required to submit a detailed project proposal for the semester (instructions and application process to come). We invite proposals that encompass all facets of the ml5.js project, including but not limited to community management, documentation enhancement, website development, pedagogical research, development operations (DevOps), and expansion of machine learning models.
- Application form and deadlines will be announced soon.
- For inquiries, please contact Daniel Shiffman.
- Project Proposal Template
The ml5.js project actively seeks help with the features and initiatives listed, but we also look to applicants to propose ideas we haven't thought of ourselves. For all of our projects, it's incredibly important that things are kept as simple and friendly as possible. ml5.js is not meant to be a comprehensive and technically deep machine learning library for developers. It's for people who are less familiar with code and are new to machine learning. We're far less interested in features to make ml5.js more powerful for advanced users than we are in features that make it easier to handle tasks that are common for a wide range of our audience.
In addition to this list, we track specific bugs and enhancements via github issues:
If you have questions about an idea or need guidance on forming your proposal, please post to the ml5.js Discord (?). This is the best way to get feedback and develop your idea. This makes it possible for everyone to learn from your questions and contribute their thoughts.
This studio is modeled after the Processing Foundation fellowship program and Google Summer of Code. To get a sense of the kinds of projects from these initiatives, you can read these wrap-up posts.
- Processing Foundation GSOC 2023 wrap-up post
- Previous Processing Foundation articles about GSoC
- Processing Foundation 2023 Fellows
- Develop and Teach Workshops: Propose and develop materials for audiences and communities that are new to machine learning and ml5.js.
- Educational Resources: Propose new accessible and inclusive learning materials that cater to different learning styles and levels.
The following models/functions are currently available in 0.12.2 but are not yet ported to this new "next generation" library. Looking for proposals for re-implementing and reviving them!
ml5.imageClassifier()
ml5.featureExtractor()
ml5.objectDetection()
ml5.soundClassifier()
While the goal of ml5.js "next generation" is to be smaller, more lightweight and focused on beginners, we are also interested in new models that demonstrate core ML capabilities and are well suited for applications in creative arts and media.
- Language Models and Embeddings: Investigate the integration of language models into ml5.js.
- Explore onnx.js as possible alternative backend for ml5.js.
- Unit Tests: Develop unit tests for new and existing features.
- Developer Documentation Materials: Create comprehensive and user-friendly documentation for new contributors.