No description
Find a file
2024-02-08 20:48:16 -06:00
src project 3 complete. 10/10 tests passing. p1 an p2 tests still pass.... 2024-02-09 02:34:32 +00:00
easynn.py project 3 complete. 10/10 tests passing. p1 an p2 tests still pass.... 2024-02-09 02:34:32 +00:00
easynn_cpp.py project 3 complete. 10/10 tests passing. p1 an p2 tests still pass.... 2024-02-09 02:34:32 +00:00
easynn_golden.py project 3 complete. 10/10 tests passing. p1 an p2 tests still pass.... 2024-02-09 02:34:32 +00:00
easynn_test.cpp project 3 complete. 10/10 tests passing. p1 an p2 tests still pass.... 2024-02-09 02:34:32 +00:00
ece449.code-workspace project 3 complete. 10/10 tests passing. p1 an p2 tests still pass.... 2024-02-09 02:34:32 +00:00
grade.py project 3 complete. 10/10 tests passing. p1 an p2 tests still pass.... 2024-02-09 02:34:32 +00:00
grade_p1.py project 3 complete. 10/10 tests passing. p1 an p2 tests still pass.... 2024-02-09 02:34:32 +00:00
grade_p2.py project 3 complete. 10/10 tests passing. p1 an p2 tests still pass.... 2024-02-09 02:34:32 +00:00
grade_p3.py project 3 complete. 10/10 tests passing. p1 an p2 tests still pass.... 2024-02-09 02:34:32 +00:00
grade_p4.py project 3 complete. 10/10 tests passing. p1 an p2 tests still pass.... 2024-02-09 02:34:32 +00:00
grade_p5.py project 3 complete. 10/10 tests passing. p1 an p2 tests still pass.... 2024-02-09 02:34:32 +00:00
grade_p6.py project 3 complete. 10/10 tests passing. p1 an p2 tests still pass.... 2024-02-09 02:34:32 +00:00
Makefile project 3 complete. 10/10 tests passing. p1 an p2 tests still pass.... 2024-02-09 02:34:32 +00:00
mnist_params.npz project 3 complete. 10/10 tests passing. p1 an p2 tests still pass.... 2024-02-09 02:34:32 +00:00
mnist_test.npz project 3 complete. 10/10 tests passing. p1 an p2 tests still pass.... 2024-02-09 02:34:32 +00:00
mnist_train.npz project 3 complete. 10/10 tests passing. p1 an p2 tests still pass.... 2024-02-09 02:34:32 +00:00
msimple_params.npz project 3 complete. 10/10 tests passing. p1 an p2 tests still pass.... 2024-02-09 02:34:32 +00:00
p5_params.npz project 3 complete. 10/10 tests passing. p1 an p2 tests still pass.... 2024-02-09 02:34:32 +00:00
prj01.py project 3 complete. 10/10 tests passing. p1 an p2 tests still pass.... 2024-02-09 02:34:32 +00:00
prj05.py project 3 complete. 10/10 tests passing. p1 an p2 tests still pass.... 2024-02-09 02:34:32 +00:00
prj06.py project 3 complete. 10/10 tests passing. p1 an p2 tests still pass.... 2024-02-09 02:34:32 +00:00
README.md update README 2024-02-08 20:48:16 -06:00

Objective:

This work aims to use a library for computing with tensors (multi-dimensional arrays) in both C++ and Python. It will help to easily write new Python code in C++ and to perform convolution operations in C++. Functions implemented include adding, subtracting, multiplying tensors, applying ReLU, smoothing, and changing tensor shapes. This work will also work on calculations involving tensors and linear operations, combining elements to find the maximum, and a two-dimensional operation. In the future, we'll use this for training data with MLP and CNN models.

Software architecture:

This work will be divided into two parts. First, we will use Python to do tensor operations and then do the same using C++. In the second part, we will use Python to use the files created by compiling C++, to see if the C++ part was done correctly.

Details:

Project 1:

This project will use Python to practice some basic features of NumPy and EasyNN. EasyNN helps us set up and use a data-flow graph in Python, which shows complex processes like machine learning algorithms. We will also learn how to test this graph with specific inputs.

Project 2:

This project will implement scalar operations for EasyNN in C++, and the ctypes library is utilized to bridge Python and C++ code.

Project 3:

This project will implement tensor operations for EasyNN in C++. It will be implemented using the prototype pattern. We will reuse code with a base class for each evaluation operation. Evaluation operations will utilize the tensor classes operator overloads that we will define and implement for each operation required.

Project 4:

This project will implement the tensor operations to support inference with multilayer perceptron (MLP) and with convolutional neural network (CNN) for EasyNN in C++.

Project 5:

This project will implement the backprop algorithm together with SGD to train the MLP model

Project 6:

This project will implement the backprop algorithm together with SGD to train the CNN model.