Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Building AI units using Rust - FossAsia 2018

Building AI units using Rust - FossAsia 2018

This talk was presented at FOSSASIA 2018.

Learn to build an end-to-end, high-performance artificial intelligence algorithm in Rust language capable of solving real-world classification problems.

Rust is a great programming language for building stable and scalable mathematical AI models which can crunch real-time data and provide human level insights. The talk focuses on covering the methods by which one can implement the state-of-the-art machine learning units in rust lang to create an end to end learning system for solving a real-world machine learning problems.

vigneshwer dhinakaran

March 25, 2018
Tweet

More Decks by vigneshwer dhinakaran

Other Decks in Technology

Transcript

  1. Computer Vision - Object classification & Tracking - CNN, Selective

    search, R-CNN, MHT .. - Surveillance, Business usecases etc
  2. Predictive Maintenance - Anomaly detection - Time-series analysis, Regression techs,

    Kalman filtering ... - IoT space, Monitoring Industrial machinery
  3. Complex Games - Taking real world actions & optimization problems

    - MDP, Reinforcement learning, dynamic programming - Self driving cars, Trading engines
  4. Voice Search - ASR and synthesis - Spectrograms, CTC -

    Content captioning, Cars/Hands-free interfaces, Home devices
  5. Building ML Models Data Collection Data Analysis Statistics Development &

    Training Deployment and monitoring Project Definition Modelling
  6. 2016 -18 For the third year in a row, Rust

    is stackoverflow's most loved language https://insights.stackoverflow.com/survey/2018/
  7. Why Rust? Freedom from Data Race conditions Strong type system

    High level iterators More control over memory Tools Ecosystem Welcoming Community
  8. Ownership • Rust moves ownership by default • The owner

    has the right to destroy the thing it owns • The memory is freed as soon as the owned variable goes out of it's scope • Hence vehicle may already be destroyed at the point when it's passed to repair_service • Rust catches these errors at compile time
  9. Borrowing • A reference is passed without transferring ownership •

    One can borrow immutable (&) or mutable (&mut) but not both at the same time • Shared ownership can be achieved through special pointers with runtime checks
  10. Mutability Rules • All variables are immutable by default •

    Only one mutable reference at a time ( But as many immutable &’s as you want ) • Mutable references block all other access (The &mut must go out of scope before using other &’s )
  11. When should you use Rust? • Rewrite modules of your

    code that are computationally heavy (Complex math optimizations etc) • For accessing the hardware(ex :- IOT applications, device drivers, GPU’s etc) • Implementing advance concurrency paradigms
  12. What does Rust have to offer? • Modern C/C++ replacement

    • Memory Safety without Garbage Collection • No runtime needed • Rich Typesystem • Strong Functional Programming influence • Improving your toolkit