Skip to content

Latest commit

 

History

History
76 lines (52 loc) · 3.41 KB

README.md

File metadata and controls

76 lines (52 loc) · 3.41 KB

Machine Learning Frameworks Research

Exploration of Machine Learning concepts and popular Python frameworks to explore supervised learnings, basic models, and neural networks.

Description

Module: Python and TensorFlow - Tony Manschula, Henry Shires, and Alex Bashara

(CPR E 487 at Iowa State University): Our deliverables will consist of a modified Lab 1 Jupyter notebook using PyTorch. Additionally, we will also benchmark against TensorFlow in several key areas in a writeup presentation for the final demo:

  • Usability
    • Ease of use of the API
    • Clarity and usefulness of API documentation
    • Any lab 1 activities that could not be implemented in PyTorch
  • Training accuracy
    • Train a given model using a different number of epochs and report the number that achieved the highest validation accuracy
  • Training time/performance
    • What hardware acceleration options do the frameworks support?
    • How much training time did each framework require to achieve its best validation accuracy?
  • Resource utilization
    • Memory utilization and how each framework may lend itself to a given selection of hardware (embedded, etc.)

Read entire project report: 487-report.pdf

Module: Scikit-Learn - Henry Shires

My playground using the Scikit-Learn machine learning library for Python, following Google's Machine Learning Recipes by Josh Gordon. I desired to develop a fundamental understanding of machine learning and how it implements into source code to solve problems.

Installation

Create Python Virtual Environment

Guide: https://pytorch.org/get-started/locally/

  1. python -m venv venv
  2. .\venv\Scripts\activate for Windows or source venv/bin/activate for Unix
  3. python -m pip install --upgrade pip
  4. pip install -r ./pytorch/requirements.txt or ./tensorflow/requirements.txt or ./scikit-learn/requirements.txt

VS Code Extensions

Resources

PyTorch Tutorial

Follow instructions from here: https://pytorch.org/tutorials/beginner/basics/intro.html

Use the ./pytorch/tutorial directory of notebooks to get started:

  1. Intro
  2. Quickstart
  3. Tensors
  4. Datasets & DataLoaders
  5. Transforms
  6. Build Model
  7. Autograd
  8. Optimization
  9. Save & Load Model

Scikit-Learn Recipes

PyTorch Equivalent of TF Profiler and Tensorboard

Using the PyTorch Profiler This generates a trace.json file that can be imported into various viewers, the most prominent being Perfetto UI.

Addtitionally, we can directly print inference times in the program using a built-in PyTorch method.