NumNum A matrix manipulation language Meet our team Art Zuks: - - PowerPoint PPT Presentation

numnum
SMART_READER_LITE
LIVE PREVIEW

NumNum A matrix manipulation language Meet our team Art Zuks: - - PowerPoint PPT Presentation

NumNum A matrix manipulation language Meet our team Art Zuks: Kaustubh Gopal Paul Czopowik: k: Sharon Chen: David d Tofu: System Chiplunka kar: r: Manager Tester Tester Architect Language GS SEAS '19 SEAS '19


slide-1
SLIDE 1

NumNum

A matrix manipulation language

slide-2
SLIDE 2

Meet our team

Art Zuks:

  • System

Architect

  • CSMS

Kaustubh Gopal Chiplunka kar: r:

  • Language

Guru

  • MSCE

Paul Czopowik: k:

  • Manager
  • GS
  • CS Major

Sharon Chen:

  • Tester
  • SEAS '19
  • CS major

David d Tofu:

  • Tester
  • SEAS '19
slide-3
SLIDE 3

Project Planning

We used many cutting-edge tools to help manage our project workflow

slide-4
SLIDE 4

Development Timeline

Floats C style le function
  • n
declaration n in favor vor of Pyth ython
  • n Func
Pri rint nt function
  • ns
Hello lo World ld! Strings rings Working king AST with h Matrixe rixes Matrix rix take kes any type Matrix rix access Static Arrays ys LLVM elif, bytes es, impli licit type e conver ersio sion file le I/O Demo
slide-5
SLIDE 5

Test Suite

slide-6
SLIDE 6

About the Test Suite

  • While we coded
  • For corner cases
  • For semantic checking,

codegen, pretty-printing

  • For both our syntax and

language logic

  • Wrote fails
  • Built upon the Micro-C test

suite

How We Wrote It

slide-7
SLIDE 7

An Example

Element-Wise Multiplication Semantic Checking Tester

slide-8
SLIDE 8

numnum

A simple le C-like ike matrix trix manipulation pulation languag age

  • Stack allocated arrays support Matrix
  • File I/O
  • Implicit casting
slide-9
SLIDE 9

Quick guide for Programming in numnum

slide-10
SLIDE 10

File IO

  • Reads into byte, int and float matrix from a binary file
  • Writes out matrices to files
  • Properly closes file descriptors for the user
slide-11
SLIDE 11

Read

slide-12
SLIDE 12

Write

slide-13
SLIDE 13

Type Casting

  • Completely implicit
  • Converts to the type that is being assigned to
  • For binary operations converts right side to left side type
slide-14
SLIDE 14

Operation Casting

slide-15
SLIDE 15

Assign Casting

slide-16
SLIDE 16

Demo 1

Image Manipulation

slide-17
SLIDE 17
  • Colored to BW image conversion
  • Blurring with a Gaussian Blur filter
  • Edge detection using kernels

Image Transformation

slide-18
SLIDE 18
  • Using a python script we strip off the headers of the image
  • Read the image into an array
  • Read the RGB values into float temp variables, using implicit type

conversion

  • Perform a weighted sum of rgb values
  • Assign the float sum back to all the rgb values
  • Write back to the same image

Image Transformation

slide-19
SLIDE 19

Reflection

Mirror

Flip

slide-20
SLIDE 20

Demo 2

Optical Character Recognition (OCR) with MNIST

slide-21
SLIDE 21
  • Used the MNIST database to train a simple neural network for handwritten

image recognition

  • Used File IO to load the trained weights in the program
  • Again used File IO to load the image RGB values (in bytes)
  • Performed Accumulation and multiplication of the floats
  • Go through all the confidence values, search for the biggest one, display the

result

Neural Network Character Recognition