1.
Syllabus
2.
Labs
2.1.
Lab 1: MNIST
2.2.
Lab 2: Data Fetching
2.3.
Lab 3: Data Cleaning
2.4.
Lab 4: Image Processing
2.5.
Lab 5: Time Series
2.6.
Lab 6: NLP
2.7.
Lab 7: Model Compression
3.
Slides
3.1.
Introduction Slides
3.2.
Week 2 slides
3.3.
Week 3 slides
3.4.
Week 4 slides
3.5.
Week 5 slides
3.6.
Week 6 slides
3.7.
Week 7 slides
3.8.
Week 8 slides
4.
Readings
4.1.
JavaScript History
4.2.
Functional Programming
4.3.
Curse of Dimensionality
5.
Projects
5.1.
ChatGPT in Terminal
5.2.
MNIST
5.3.
Stock Market Predictor
5.4.
Final Project
Light
Rust
Coal
Navy (default)
Ayu
Machine Learning with TensorFlow JS
class: center, middle # Machine Learning with TensorFlow JavaScript William Kaiser --- # Personal Introduction William Kaiser, a student from ~~Northern Virginia~~ Houston, Texas. - **Second-year Computer Science Major** in the School of Engineering and Applied Sciences - Long time hobbyist, first-time teacher - Worked with Professor **Stephen Baek** in the School of Data Science - TensorFlow Developer Certified ??? Getting certified is **not** worth it. --- # Personal Projects Built - [International Science and Engineering Fair Visualizer](https://wkaisertexas.github.io/all-isef-projects/) - [TikTok Uploader](https://github.com/wkaisertexas/tiktok-uploader) - ![GitHub Stars for Image Uploader](https://camo.githubusercontent.com/fdf8b22e6cedc43dd258d08b8fdce13a3745b4363f80e94a6b54804659905c0f/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f776b616973657274657861732f74696b746f6b2d75706c6f61646572) - [UVA Student Information System Google Sheets Connector](https://uvamisc.com) ??? Flex the fact that Dhar-Man style videos were uploaded because of me... --- # Course Breakdown - Machine Learning - TensorFlow - JavaScript --- # Machine Learning Finding patterns in data. $$y = m x + b \implies m, b \text{ are parameters to tune}$$
--- # TensorFlow Machine learning is complicated, but really just linear algebra. Tensors are multi-dimensional arrays 1. Scalars (normal numbers) 2. Vectors (lists of number) 3. Arrays (lists of vectors) 4. Tensors (lists of lists of vectors) --- # TensorFlow (Continued) Operations (adding, subtracting, multiplication) are represented by nodes in a graph. ![Nodes in a graph](https://www.datasciencecentral.com/wp-content/uploads/2021/10/3649690073.jpeg) --- # JavaScript Invented in 1995 as a way to give web-pages interactivity. ```javascript window.click = alert; ``` Java-Inspired Syntax --- class: center, middle # Course Design Philosophy Why I am **not** crazy --- # Controversial choices Those versed in machine learning would find these choices objectionable. Why? - TensorFlow - JavaScript --- class: middle *Machine Learning with TensorFlow JS* is a beginner-friendly course designed to give students exposure to recent ai developments and a fundamental understanding of paradigms. Unlike traditional courses, a deep-dive on the underlying mathematics will **not** take place and the final projects will be a **communicable, portable project**. --- class: middle center # Summary: Learning what there is to Learn --- class: center # "communicable, portable project" > "Created a carbon emissions predictor for the *University of Virginia* to estimate emissions impact of construction projects on grounds. Achieved an F-1 score of 95%." > "Created a carbon emissions predictor and visualizer for the *University of Virginia* to estimate carbon emissions impact of construction projects on grounds. Achieved a F-1 score of 95%. [Check out the visualization here.](https://google.com) --- # JavaScript / Python Equivalence Unless you are doing something wonky, the defining machine learning models are conceptually identical. `JavaScript` is stylistically similar to `Java` which many people know because of JS ??? If you know one, you know the other. --- # Cloud-Computing Models are **typically** deployed on Servers in the Cloud in production. Furthermore, these are typically linked to data engineering pipelines to continuously update models.
??? If you know this, get out of this class --- ### TensorFlowJS is fast Almost as fast as [CUDA](https://developer.nvidia.com/cuda-toolkit) for most applications. - Image detection application ![In-Browser vs Native](./in-browser.avif) ??? Benchmark compares MobileNet, image-detection: - In-Browser - Using Apple's Metal Compute library - OpenCompute Language --- - MandelBrot set ![mandelbrot performance](./performance.png) ??? Ran on a high-performance computing cluster with multiple multi-GPU servers --- class: center, middle # JavaScript is really good And has gotten way better in the past six months --- class: center, middle # Sync Point Questions? ??? Moving onto install node and writing your first javascript program --- class: center, middle ## Course Resources [Syllabus](./modified_syllabus) [JavaScript Reading](./javascriptIntro) --- ## JavaScript Demonstration --- ## Activity 1. Install [node](https://nodejs.org/en) 2. Fetch [https://api.devhub.virginia.edu/v1/courses](https://api.devhub.virginia.edu/v1/courses) 3. Transform the dataset into the following form: ```json { "headers": ["column1", "column2", "colum3"], "rows": [ { "items": ["item1","item2", "item3"] }, { "items": ["item1","item2", "item3"] } ] } ``` ---