Welcome to the ml5 project! Developing ml5 is not just about developing machine learning software, it is about making machine learning approachable for a broad audience of artists, creative coders, and students. The library provides access to machine learning algorithms and models in the browser, building on top of TensorFlow.js with no other external dependencies.
The library is supported by code examples, tutorials, and sample datasets with an emphasis on ethical computing. Bias in data, stereotypical harms, and responsible crowdsourcing are part of the documentation around data collection and usage. We're building friendly machine learning for the web - we're glad you're here!
ml5.js is heavily inspired by Processing and p5.js.
Learn more about the history and origins of the ml5.js project published on Medium.com/@ml5js.
ml5.js is a community dedicated to exploring and empowering the creative and ethical application of machine learning. Grounded in the spirit of open source, this Code of Conduct aims to foster an inclusive environment for anyone interested in joining our exploration. We are committed to reducing the chances of misuse that counter our community’s expectations. Through these guidelines, we encourage friendly, innovative, and responsible applications of machine learning.
Our Code of Conduct and software license are a recognition of the fact that machine learning is a powerful tool; it is as much about math, statistics, and data, as it is about the ways that power is employed in the world. It can be used for creative exploration that surprises and delights and improves the world, it can also be employed (knowingly and unknowingly) to bring harm to real people, places, and things. We’d like to do our best to minimize these negative effects as much as possible.
We are a community of, and in solidarity with, people from every gender identity and expression, sexual orientation, race, ethnicity, size, ability, class, religion, culture, age, skill level, occupation, and background. We acknowledge that not everyone has the time, financial means, or capacity to actively participate, but we recognize and encourage involvement of all kinds. We facilitate and foster access and empowerment. We are all learners.
We accept the claim that technology is a reflection of society, its histories, and its politics. We reject the claim that any technology is neutral and acknowledge that every technology has the potential to do as much harm as good. We acknowledge that when technologies cause harm, the harm disproportionately affects Black/Indigenous, People of Color (BIPOC) queer, trans, disabled, displaced, femme, low-income, survivors, and all other marginalized bodies and communities.
With this understanding, we work to intentionally engage these groups when hosting, participating in, or developing events (e.g. workshops or meetings), materials (e.g. courses, syllabi, resources), and software (e.g. the ml5.js library, examples, and related and supporting code). As part of the ml5.js Code of Conduct, we pledge to design, build, and use ml5.js to center these marginalized communities and confront our biases for the good of society.
Link to the full ml5 code of conduct
Read more about the development of the ml5 code of conduct and software license
ml5.js is supported by the time and dedication of open source developers from all over the world. We are artists, designers, technologists, researchers, educators, students, scientists, developers, parents, children, and everything in-between.
Funding and support is generously provided by a Google Education grant at NYU's ITP/IMA program. Many thanks to BrowserStack for providing testing support.
Website designed with ❤ by Milan Gary, Nicole Lloyd, and Arnab Chakravarty. Developed using React/Gatsby.js and Netlify by Wenqi Li, Joey Lee, and Dan Shiffman. Shout out to the OpenMoji Project for glyphs.
(Do we need them?)