Skip to content
A flexible neural network framework for running experiments and trying ideas.
Branch: main
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
cottonwood Create Dec 5, 2019
.gitignore Corrected typo in and added sigmoid act. Nov 22, 2019
LICENSE Initial commit Sep 29, 2019 Update Dec 5, 2019

The Cottonwood Machine Learning Framework

Cottonwood is built to be as flexible as possible, top to bottom. It's designed to minimize the iteration time when running experiments and testing ideas. It's meant to be tweaked. Fork it. Add to it. Customize it to solve the problem at hand. For more of the thought behind it, read the post " Why another framework? and Why did you name it that?

This code is always evolving. I recommend referencing a specific tag whenever you use it in a project. Tags are labeled v1, v2, etc. and the code attached to each one won't change.

If you want to follow along with the construction process for Cottonwood, you can get a step-by-step walkthrough in End-to-End Machine Learning Course 312 and Course 313


Whether you want to pull Cottonwood into another project, or experiment with ideas of your own, you'll want to clone the repository to your local machine and install it from there.

git clone
python3 -m pip install -e cottonwood

Try it out

>>> import cottonwood.demo

Here is the cheatsheet for pulling the relevant components into your work.


Cottonwood versions are not guaranteed backward compatible. You can select a particular version to work from.

cd cottonwood
git checkout v9

Check out the Revision History to see what features and bugfixes come with each release.


See what Cottonwood looks like in action. Feel free to use any of these as a template for a project of your own. They're MIT licensed.

Contribute to the project

Here are some ideas to get you started.

You can’t perform that action at this time.