This repository was archived by the owner on Jan 1, 2026. It is now read-only.

Latest commit

History

22 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

ColorMatching

This is a small series of machine learning Jupyter Notebooks targeted to a 12-15 year old audience. In this series we start with a single pixel containing red, green, and blue color components, and we train a neural network to turn the color of the pixel into color names, step by step.

There is more detail in the Part00_Intro.md file.

Using This Repo

This repo contains Jupyter notebooks, which are interactive pages containing text and Python code you can run and modify. To use a Jupyter notebook you need to run a Python program to create the notebook and open a web page to it.

If you have not set up your machine environment yet, follow the instructions in the "getting started" section below.

To run the Jupyter notebook:

  1. (If you don't already have a console open) Open a Windows console: Windows+R (to open the Run box), then type cmd and press Enter.
  2. Change location to that folder: cd c:\ColorMatching
  3. Run the command: jupyter notebook . A web page should open showing the contents of the folder. You can then click on the various lessons and text files. They are ordered Part00, Part01, etc.
  4. Jupyter notebooks have text sections and code "cells." You can scan through the cells by clicking the Run button at the top. Be patient when running code, however - sometimes it can be slow especially the first time you run something. Also, a whole page is like one big Python program, so you need to be sure to run the code at the top first before trying to run code at the bottom.

Getting started - First Time Setup

  1. Install Git from https://git-scm.com/download/win (for Windows), or https://git-scm.com/download for other operating systems.
  2. Install Python 3.6 (but not 3.7!) from https://www.python.org/downloads/ . Use the 64-bit version.
    • NOTE: We found that we had to uninstall Python 3.7 since TensorFlow currently needs only 3.6. We're not using Python virtual environments or Anaconda in these instructions.
  3. Open a Windows console: Windows+R (to open the Run box), then type cmd and press Enter.
  4. Create a new folder: mkdir c:\ColorMatching
  5. Move to that folder: cd c:\ColorMatching
  6. Clone the Git repo to your new folder: git clone https://github.com/erikma/ColorMatching .
  7. Type setup and press Enter.

Syncing changes

To pull the latest changes from GitHub:

  1. (If you don't already have a console open) Open a Windows console: Windows+R (to open the Run box), then type cmd and press Enter.
  2. Change location to that folder: cd c:\ColorMatching
  3. Pull down the latest code: git pull

Why Not Google Colab or Microsoft Notebooks?

As of creation of this repo in March, 2019, Microsoft Notebooks was in a very unstable state, but when it was running correctly it was the best experience.

Google Colab is very smooth and made it easy to add GPU and TPU turbo-charging to the training portions. Only problem was that I could not get the color mixer Display(HTML()) to show the color properly, and that experience is core to the notebook series.

About

Basic machine learning curriculum, targeting 12-15 year olds and using Jupyter notebooks

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content
This repository was archived by the owner on Jan 1, 2026. It is now read-only.

Latest commit

History

22 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

ColorMatching

This is a small series of machine learning Jupyter Notebooks targeted to a 12-15 year old audience. In this series we start with a single pixel containing red, green, and blue color components, and we train a neural network to turn the color of the pixel into color names, step by step.

There is more detail in the Part00_Intro.md file.

Using This Repo

This repo contains Jupyter notebooks, which are interactive pages containing text and Python code you can run and modify. To use a Jupyter notebook you need to run a Python program to create the notebook and open a web page to it.

If you have not set up your machine environment yet, follow the instructions in the "getting started" section below.

To run the Jupyter notebook:

  1. (If you don't already have a console open) Open a Windows console: Windows+R (to open the Run box), then type cmd and press Enter.
  2. Change location to that folder: cd c:\ColorMatching
  3. Run the command: jupyter notebook . A web page should open showing the contents of the folder. You can then click on the various lessons and text files. They are ordered Part00, Part01, etc.
  4. Jupyter notebooks have text sections and code "cells." You can scan through the cells by clicking the Run button at the top. Be patient when running code, however - sometimes it can be slow especially the first time you run something. Also, a whole page is like one big Python program, so you need to be sure to run the code at the top first before trying to run code at the bottom.

Getting started - First Time Setup

  1. Install Git from https://git-scm.com/download/win (for Windows), or https://git-scm.com/download for other operating systems.
  2. Install Python 3.6 (but not 3.7!) from https://www.python.org/downloads/ . Use the 64-bit version.
    • NOTE: We found that we had to uninstall Python 3.7 since TensorFlow currently needs only 3.6. We're not using Python virtual environments or Anaconda in these instructions.
  3. Open a Windows console: Windows+R (to open the Run box), then type cmd and press Enter.
  4. Create a new folder: mkdir c:\ColorMatching
  5. Move to that folder: cd c:\ColorMatching
  6. Clone the Git repo to your new folder: git clone https://github.com/erikma/ColorMatching .
  7. Type setup and press Enter.

Syncing changes

To pull the latest changes from GitHub:

  1. (If you don't already have a console open) Open a Windows console: Windows+R (to open the Run box), then type cmd and press Enter.
  2. Change location to that folder: cd c:\ColorMatching
  3. Pull down the latest code: git pull

Why Not Google Colab or Microsoft Notebooks?

As of creation of this repo in March, 2019, Microsoft Notebooks was in a very unstable state, but when it was running correctly it was the best experience.

Google Colab is very smooth and made it easy to add GPU and TPU turbo-charging to the training portions. Only problem was that I could not get the color mixer Display(HTML()) to show the color properly, and that experience is core to the notebook series.

About

Basic machine learning curriculum, targeting 12-15 year olds and using Jupyter notebooks

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Jan 1, 2026. It is now read-only.

Latest commit

History

22 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

ColorMatching

This is a small series of machine learning Jupyter Notebooks targeted to a 12-15 year old audience. In this series we start with a single pixel containing red, green, and blue color components, and we train a neural network to turn the color of the pixel into color names, step by step.

There is more detail in the Part00_Intro.md file.

Using This Repo

This repo contains Jupyter notebooks, which are interactive pages containing text and Python code you can run and modify. To use a Jupyter notebook you need to run a Python program to create the notebook and open a web page to it.

If you have not set up your machine environment yet, follow the instructions in the "getting started" section below.

To run the Jupyter notebook:

  1. (If you don't already have a console open) Open a Windows console: Windows+R (to open the Run box), then type cmd and press Enter.
  2. Change location to that folder: cd c:\ColorMatching
  3. Run the command: jupyter notebook . A web page should open showing the contents of the folder. You can then click on the various lessons and text files. They are ordered Part00, Part01, etc.
  4. Jupyter notebooks have text sections and code "cells." You can scan through the cells by clicking the Run button at the top. Be patient when running code, however - sometimes it can be slow especially the first time you run something. Also, a whole page is like one big Python program, so you need to be sure to run the code at the top first before trying to run code at the bottom.

Getting started - First Time Setup

  1. Install Git from https://git-scm.com/download/win (for Windows), or https://git-scm.com/download for other operating systems.
  2. Install Python 3.6 (but not 3.7!) from https://www.python.org/downloads/ . Use the 64-bit version.
    • NOTE: We found that we had to uninstall Python 3.7 since TensorFlow currently needs only 3.6. We're not using Python virtual environments or Anaconda in these instructions.
  3. Open a Windows console: Windows+R (to open the Run box), then type cmd and press Enter.
  4. Create a new folder: mkdir c:\ColorMatching
  5. Move to that folder: cd c:\ColorMatching
  6. Clone the Git repo to your new folder: git clone https://github.com/erikma/ColorMatching .
  7. Type setup and press Enter.

Syncing changes

To pull the latest changes from GitHub:

  1. (If you don't already have a console open) Open a Windows console: Windows+R (to open the Run box), then type cmd and press Enter.
  2. Change location to that folder: cd c:\ColorMatching
  3. Pull down the latest code: git pull

Why Not Google Colab or Microsoft Notebooks?

As of creation of this repo in March, 2019, Microsoft Notebooks was in a very unstable state, but when it was running correctly it was the best experience.

Google Colab is very smooth and made it easy to add GPU and TPU turbo-charging to the training portions. Only problem was that I could not get the color mixer Display(HTML()) to show the color properly, and that experience is core to the notebook series.

About

Basic machine learning curriculum, targeting 12-15 year olds and using Jupyter notebooks

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Jan 1, 2026. It is now read-only.

Latest commit

History

22 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

ColorMatching

This is a small series of machine learning Jupyter Notebooks targeted to a 12-15 year old audience. In this series we start with a single pixel containing red, green, and blue color components, and we train a neural network to turn the color of the pixel into color names, step by step.

There is more detail in the Part00_Intro.md file.

Using This Repo

This repo contains Jupyter notebooks, which are interactive pages containing text and Python code you can run and modify. To use a Jupyter notebook you need to run a Python program to create the notebook and open a web page to it.

If you have not set up your machine environment yet, follow the instructions in the "getting started" section below.

To run the Jupyter notebook:

  1. (If you don't already have a console open) Open a Windows console: Windows+R (to open the Run box), then type cmd and press Enter.
  2. Change location to that folder: cd c:\ColorMatching
  3. Run the command: jupyter notebook . A web page should open showing the contents of the folder. You can then click on the various lessons and text files. They are ordered Part00, Part01, etc.
  4. Jupyter notebooks have text sections and code "cells." You can scan through the cells by clicking the Run button at the top. Be patient when running code, however - sometimes it can be slow especially the first time you run something. Also, a whole page is like one big Python program, so you need to be sure to run the code at the top first before trying to run code at the bottom.

Getting started - First Time Setup

  1. Install Git from https://git-scm.com/download/win (for Windows), or https://git-scm.com/download for other operating systems.
  2. Install Python 3.6 (but not 3.7!) from https://www.python.org/downloads/ . Use the 64-bit version.
    • NOTE: We found that we had to uninstall Python 3.7 since TensorFlow currently needs only 3.6. We're not using Python virtual environments or Anaconda in these instructions.
  3. Open a Windows console: Windows+R (to open the Run box), then type cmd and press Enter.
  4. Create a new folder: mkdir c:\ColorMatching
  5. Move to that folder: cd c:\ColorMatching
  6. Clone the Git repo to your new folder: git clone https://github.com/erikma/ColorMatching .
  7. Type setup and press Enter.

Syncing changes

To pull the latest changes from GitHub:

  1. (If you don't already have a console open) Open a Windows console: Windows+R (to open the Run box), then type cmd and press Enter.
  2. Change location to that folder: cd c:\ColorMatching
  3. Pull down the latest code: git pull

Why Not Google Colab or Microsoft Notebooks?

As of creation of this repo in March, 2019, Microsoft Notebooks was in a very unstable state, but when it was running correctly it was the best experience.

Google Colab is very smooth and made it easy to add GPU and TPU turbo-charging to the training portions. Only problem was that I could not get the color mixer Display(HTML()) to show the color properly, and that experience is core to the notebook series.

About

Basic machine learning curriculum, targeting 12-15 year olds and using Jupyter notebooks

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content
This repository was archived by the owner on Jan 1, 2026. It is now read-only.

Latest commit

History

22 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

ColorMatching

This is a small series of machine learning Jupyter Notebooks targeted to a 12-15 year old audience. In this series we start with a single pixel containing red, green, and blue color components, and we train a neural network to turn the color of the pixel into color names, step by step.

There is more detail in the Part00_Intro.md file.

Using This Repo

This repo contains Jupyter notebooks, which are interactive pages containing text and Python code you can run and modify. To use a Jupyter notebook you need to run a Python program to create the notebook and open a web page to it.

If you have not set up your machine environment yet, follow the instructions in the "getting started" section below.

To run the Jupyter notebook:

  1. (If you don't already have a console open) Open a Windows console: Windows+R (to open the Run box), then type cmd and press Enter.
  2. Change location to that folder: cd c:\ColorMatching
  3. Run the command: jupyter notebook . A web page should open showing the contents of the folder. You can then click on the various lessons and text files. They are ordered Part00, Part01, etc.
  4. Jupyter notebooks have text sections and code "cells." You can scan through the cells by clicking the Run button at the top. Be patient when running code, however - sometimes it can be slow especially the first time you run something. Also, a whole page is like one big Python program, so you need to be sure to run the code at the top first before trying to run code at the bottom.

Getting started - First Time Setup

  1. Install Git from https://git-scm.com/download/win (for Windows), or https://git-scm.com/download for other operating systems.
  2. Install Python 3.6 (but not 3.7!) from https://www.python.org/downloads/ . Use the 64-bit version.
    • NOTE: We found that we had to uninstall Python 3.7 since TensorFlow currently needs only 3.6. We're not using Python virtual environments or Anaconda in these instructions.
  3. Open a Windows console: Windows+R (to open the Run box), then type cmd and press Enter.
  4. Create a new folder: mkdir c:\ColorMatching
  5. Move to that folder: cd c:\ColorMatching
  6. Clone the Git repo to your new folder: git clone https://github.com/erikma/ColorMatching .
  7. Type setup and press Enter.

Syncing changes

To pull the latest changes from GitHub:

  1. (If you don't already have a console open) Open a Windows console: Windows+R (to open the Run box), then type cmd and press Enter.
  2. Change location to that folder: cd c:\ColorMatching
  3. Pull down the latest code: git pull

Why Not Google Colab or Microsoft Notebooks?

As of creation of this repo in March, 2019, Microsoft Notebooks was in a very unstable state, but when it was running correctly it was the best experience.

Google Colab is very smooth and made it easy to add GPU and TPU turbo-charging to the training portions. Only problem was that I could not get the color mixer Display(HTML()) to show the color properly, and that experience is core to the notebook series.

About

Basic machine learning curriculum, targeting 12-15 year olds and using Jupyter notebooks

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Jan 1, 2026. It is now read-only.

Latest commit

History

22 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

ColorMatching

This is a small series of machine learning Jupyter Notebooks targeted to a 12-15 year old audience. In this series we start with a single pixel containing red, green, and blue color components, and we train a neural network to turn the color of the pixel into color names, step by step.

There is more detail in the Part00_Intro.md file.

Using This Repo

This repo contains Jupyter notebooks, which are interactive pages containing text and Python code you can run and modify. To use a Jupyter notebook you need to run a Python program to create the notebook and open a web page to it.

If you have not set up your machine environment yet, follow the instructions in the "getting started" section below.

To run the Jupyter notebook:

  1. (If you don't already have a console open) Open a Windows console: Windows+R (to open the Run box), then type cmd and press Enter.
  2. Change location to that folder: cd c:\ColorMatching
  3. Run the command: jupyter notebook . A web page should open showing the contents of the folder. You can then click on the various lessons and text files. They are ordered Part00, Part01, etc.
  4. Jupyter notebooks have text sections and code "cells." You can scan through the cells by clicking the Run button at the top. Be patient when running code, however - sometimes it can be slow especially the first time you run something. Also, a whole page is like one big Python program, so you need to be sure to run the code at the top first before trying to run code at the bottom.

Getting started - First Time Setup

  1. Install Git from https://git-scm.com/download/win (for Windows), or https://git-scm.com/download for other operating systems.
  2. Install Python 3.6 (but not 3.7!) from https://www.python.org/downloads/ . Use the 64-bit version.
    • NOTE: We found that we had to uninstall Python 3.7 since TensorFlow currently needs only 3.6. We're not using Python virtual environments or Anaconda in these instructions.
  3. Open a Windows console: Windows+R (to open the Run box), then type cmd and press Enter.
  4. Create a new folder: mkdir c:\ColorMatching
  5. Move to that folder: cd c:\ColorMatching
  6. Clone the Git repo to your new folder: git clone https://github.com/erikma/ColorMatching .
  7. Type setup and press Enter.

Syncing changes

To pull the latest changes from GitHub:

  1. (If you don't already have a console open) Open a Windows console: Windows+R (to open the Run box), then type cmd and press Enter.
  2. Change location to that folder: cd c:\ColorMatching
  3. Pull down the latest code: git pull

Why Not Google Colab or Microsoft Notebooks?

As of creation of this repo in March, 2019, Microsoft Notebooks was in a very unstable state, but when it was running correctly it was the best experience.

Google Colab is very smooth and made it easy to add GPU and TPU turbo-charging to the training portions. Only problem was that I could not get the color mixer Display(HTML()) to show the color properly, and that experience is core to the notebook series.

About

Basic machine learning curriculum, targeting 12-15 year olds and using Jupyter notebooks

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Jan 1, 2026. It is now read-only.

Latest commit

History

22 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

ColorMatching

This is a small series of machine learning Jupyter Notebooks targeted to a 12-15 year old audience. In this series we start with a single pixel containing red, green, and blue color components, and we train a neural network to turn the color of the pixel into color names, step by step.

There is more detail in the Part00_Intro.md file.

Using This Repo

This repo contains Jupyter notebooks, which are interactive pages containing text and Python code you can run and modify. To use a Jupyter notebook you need to run a Python program to create the notebook and open a web page to it.

If you have not set up your machine environment yet, follow the instructions in the "getting started" section below.

To run the Jupyter notebook:

  1. (If you don't already have a console open) Open a Windows console: Windows+R (to open the Run box), then type cmd and press Enter.
  2. Change location to that folder: cd c:\ColorMatching
  3. Run the command: jupyter notebook . A web page should open showing the contents of the folder. You can then click on the various lessons and text files. They are ordered Part00, Part01, etc.
  4. Jupyter notebooks have text sections and code "cells." You can scan through the cells by clicking the Run button at the top. Be patient when running code, however - sometimes it can be slow especially the first time you run something. Also, a whole page is like one big Python program, so you need to be sure to run the code at the top first before trying to run code at the bottom.

Getting started - First Time Setup

  1. Install Git from https://git-scm.com/download/win (for Windows), or https://git-scm.com/download for other operating systems.
  2. Install Python 3.6 (but not 3.7!) from https://www.python.org/downloads/ . Use the 64-bit version.
    • NOTE: We found that we had to uninstall Python 3.7 since TensorFlow currently needs only 3.6. We're not using Python virtual environments or Anaconda in these instructions.
  3. Open a Windows console: Windows+R (to open the Run box), then type cmd and press Enter.
  4. Create a new folder: mkdir c:\ColorMatching
  5. Move to that folder: cd c:\ColorMatching
  6. Clone the Git repo to your new folder: git clone https://github.com/erikma/ColorMatching .
  7. Type setup and press Enter.

Syncing changes

To pull the latest changes from GitHub:

  1. (If you don't already have a console open) Open a Windows console: Windows+R (to open the Run box), then type cmd and press Enter.
  2. Change location to that folder: cd c:\ColorMatching
  3. Pull down the latest code: git pull

Why Not Google Colab or Microsoft Notebooks?

As of creation of this repo in March, 2019, Microsoft Notebooks was in a very unstable state, but when it was running correctly it was the best experience.

Google Colab is very smooth and made it easy to add GPU and TPU turbo-charging to the training portions. Only problem was that I could not get the color mixer Display(HTML()) to show the color properly, and that experience is core to the notebook series.

About

Basic machine learning curriculum, targeting 12-15 year olds and using Jupyter notebooks

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content
This repository was archived by the owner on Jan 1, 2026. It is now read-only.

Latest commit

History

22 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

ColorMatching

This is a small series of machine learning Jupyter Notebooks targeted to a 12-15 year old audience. In this series we start with a single pixel containing red, green, and blue color components, and we train a neural network to turn the color of the pixel into color names, step by step.

There is more detail in the Part00_Intro.md file.

Using This Repo

This repo contains Jupyter notebooks, which are interactive pages containing text and Python code you can run and modify. To use a Jupyter notebook you need to run a Python program to create the notebook and open a web page to it.

If you have not set up your machine environment yet, follow the instructions in the "getting started" section below.

To run the Jupyter notebook:

  1. (If you don't already have a console open) Open a Windows console: Windows+R (to open the Run box), then type cmd and press Enter.
  2. Change location to that folder: cd c:\ColorMatching
  3. Run the command: jupyter notebook . A web page should open showing the contents of the folder. You can then click on the various lessons and text files. They are ordered Part00, Part01, etc.
  4. Jupyter notebooks have text sections and code "cells." You can scan through the cells by clicking the Run button at the top. Be patient when running code, however - sometimes it can be slow especially the first time you run something. Also, a whole page is like one big Python program, so you need to be sure to run the code at the top first before trying to run code at the bottom.

Getting started - First Time Setup

  1. Install Git from https://git-scm.com/download/win (for Windows), or https://git-scm.com/download for other operating systems.
  2. Install Python 3.6 (but not 3.7!) from https://www.python.org/downloads/ . Use the 64-bit version.
    • NOTE: We found that we had to uninstall Python 3.7 since TensorFlow currently needs only 3.6. We're not using Python virtual environments or Anaconda in these instructions.
  3. Open a Windows console: Windows+R (to open the Run box), then type cmd and press Enter.
  4. Create a new folder: mkdir c:\ColorMatching
  5. Move to that folder: cd c:\ColorMatching
  6. Clone the Git repo to your new folder: git clone https://github.com/erikma/ColorMatching .
  7. Type setup and press Enter.

Syncing changes

To pull the latest changes from GitHub:

  1. (If you don't already have a console open) Open a Windows console: Windows+R (to open the Run box), then type cmd and press Enter.
  2. Change location to that folder: cd c:\ColorMatching
  3. Pull down the latest code: git pull

Why Not Google Colab or Microsoft Notebooks?

As of creation of this repo in March, 2019, Microsoft Notebooks was in a very unstable state, but when it was running correctly it was the best experience.

Google Colab is very smooth and made it easy to add GPU and TPU turbo-charging to the training portions. Only problem was that I could not get the color mixer Display(HTML()) to show the color properly, and that experience is core to the notebook series.

About

Basic machine learning curriculum, targeting 12-15 year olds and using Jupyter notebooks

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages