Git Product home page Git Product logo

tpu-jtdinsmo's Introduction

Description

This is the code Jack Dinsmore, a freshman at MIT, wrote during his 2019 summer UROP with Phil Harris and SangEon Park.

The focus of this project is to compare the train time and time per inference of MNIST on CPUs, GPUs, and TPUs. In order to facilitate an accurate comparison, the code for each device must be as similar as possible, and the dataset uses must be the same for all devices. This is why we are writing our own implementations of MNIST.

The motivation for conducting this comparison is that we hope the expected speed gain in TPUs will allow us to run other machine learning algorithms on TPUs with greater speed. Ultimately, we intend to investigate porting the Large Hadron Collider's level 1 trigger over to TPUs, thereby increasing the maximum-processable data rate and improving the speed of the collider.

Notebooks

The notebooks were written in the following order

  1. mnist-keras
  2. mnist-estimator
  3. mnist-tpu-estimator

mnist-keras simply implements MNIST with both MLP and CNN network structures using keras and plots the time per train iteration and the time per inference for both.

mnist-estimator does the same as mnist-keras, but using the tf.estimator.Estimator api, not the keras api.

mnist-tpu-estimator is a migration of mnist-estimator from tf.estimator.Estimator to tf.contrib.tpu.TPUEstimator. That way it can run on TPUs.

tpu-jtdinsmo's People

Contributors

jack-dinsmore 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.