Giter Club home page Giter Club logo

ml_in_chisel's Introduction

Simple ML Example In Chisel

Simple machine learning (training) example intended for synthesis on an FPGA.

Inspired by Tsoding's recent ventures with Machine Learning in C, in particular this project implements the 1st simple example developed during his Machine Learning in C (Episode 1) Stream.

To summarise, using very rudimentiary mathematics, this HDL describes a circuit which can train a single parameter function (or neuron at a stretch) to fit the training data, to produce a model which approximates a 2 times multiplier.

Initial Design Doc

The original "design document", which I used to reason about the general 'flow' of the hardware implementation of this simple ML algorithm. This is no formal design document, and was just for my own understanding and reasoning. It does however provide some important context for the RTL in this repo. rough design document

Instructions

  1. Download the source code
git clone https://github.com/Guiltybyte/ml_in_chisel
cd ml_in_chisel
  1. Run the simulation
make test

You should see that the final weight is approximately 2.0

  1. Run a build with VtR

If you have VtR installed, you can run the following to run a "build" (synthesis -> optimization -> placing -> routing) with the following command

make build

generated *.blif files and logs from the VtR flow run will be in: generated/vtr/TopML
Note currently there is no script included in this repository to generate FASM and/or bitsreams.

ml_in_chisel's People

Contributors

guiltybyte avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.