AI for Beginners from a Beginner

Slides:



Advertisements
Similar presentations
Installation of Ubuntu on a Virtual machine. VirtualBox allows you to run an entire operating system inside another operating system. Please be aware.
Advertisements

VMware Capacity Planner 2.7 Discussion and Demo from Engineering May 2009.
Operating systems This work is licensed under a Creative Commons Attribution-Noncommercial- Share Alike 3.0 License. Skills: none IT concepts: popular.
SET UP COMPUTER ** PLEASE BE AWARE SCREENSHOTS MAY NOT MATCH **
Week 6 Operating Systems.
Confidential [Offline] Regular Demo installation SOP for ME371MG.
Confidential [Offline] Regular Demo installation SOP for ME172V.
Lecture 14: Operating Systems Intro to IT COSC1078 Introduction to Information Technology Lecture 14 Operating Systems James Harland
Chromium OS is an open-source project that aims to build an operating system that provides a fast, simple, and more secure computing experience for people.
Tutorial 11 Installing, Updating, and Configuring Software
Hands-On Virtual Computing
(1) A Beginner’s Quick Start to SIMICS. (2) Disclaimer This is a quick start document to help users get set up quickly Does not replace the user guide.
Vagrant workflow Jul. 15, 2014.
Real-Time Cyber Physical Systems Application on MobilityFirst Winlab Summer Internship 2015 Karthikeyan Ganesan, Wuyang Zhang, Zihong Zheng.
The “Florida Clone” How to create a single CD that can be used by every site.
Intro to Datazen.
Delivering Business Value through IT Face feature detection using Java and OpenCV 1.
Installing CUDA, PyCUDA on Ubuntu
Virtual Machines Module 2. Objectives Define virtual machine Define common terminology Identify advantages and disadvantages Determine what software is.
1 © 2004 Cisco Systems, Inc. All rights reserved. Session Number Presentation_ID Cisco Technical Support Seminar Using the Cisco Technical Support Website.
The Limits of Volunteer Computing Dr. David P. Anderson University of California, Berkeley March 20, 2011.
Automatic License Plate Recognition for Electronic Payment system Chiu Wing Cheung d.
Advanced Computing Facility Introduction
TIZEN STUDIO INSTALLATION & ENVIRONMENT SETUP FOR DEVLAB
How to Get Started With Python
General Purpose computing on Graphics Processing Units
Comparing TensorFlow Deep Learning Performance Using CPUs, GPUs, Local PCs and Cloud Pace University, Research Day, May 5, 2017 John Lawrence, Jonas Malmsten,
Operating Systems & System Software
Installation of virtual box
DL (Deep Learning) Workspace
Lesson Objectives Aims You should be able to:
Working With Azure Batch AI
IST256 : Applications Programming for Information Systems
Next Generation Health Checks
Heterogeneous Computation Team HybriLIT
Open Source Toolkit for Turn-Key AI Cluster (Introduction)
Utilizing AI & GPUs to Build Cloud-based Real-Time Video Event Detection Solutions Zvika Ashani CTO.
How to add the packages for printing decision trees
DATA MINING Python.
Operating Systems Overview
Machine Learning Workshop
The Linux Operating System
Machine Learning With Python Sreejith.S Jaganadh.G.
Building Android OS Topics: Building Android and Kernel
Inside the computer.
Coding in the Cloud This slide deck includes recorded video demonstrations of content from the live presentation. Joon-Yee.
Prepared by Kimberly Sayre and Jinbo Bi
Cyber Centurion V An Install Guide. Cyber Centurion V An Install Guide.
Open Source Toolkit for Turn-Key AI Cluster (Introduction)
Brewing Deep Networks With Caffe
SimpleITK Setup and Schedule
SimpleITK Setup and Schedule
OPS235: Lab 2 Virtual Machines – Part I
Backtrack Metasploit and SET
Introduction to Deep Learning with Keras
Objective Understand web-based digital media production methods, software, and hardware. Course Weight : 10%
Using the Microsoft AI Platform for next generation applications
Different types of Linux installation
CS791v Homework and Submission
Introduction to CUDA.
Tutorial 1: Python, Numpy, and AWS Tutorial
bitcurator-access-webtools Quick Start Guide
Python/TensorFlow Installation
Software - Operating Systems
Avoiding Plagiarism.
SimpleITK Setup and Schedule
University of Washington CSE 416 Spring 2019 Hongjun Wu
For the MVHS Cyber Defense CLub
Deep Learning Libraries
CS 111 – Sept. 20 Operating Systems Commitment: definition origin
Presentation transcript:

AI for Beginners from a Beginner

About me AI beginner tomas@florian.ca IT Consulting Complex networking Cloud / Virtualization systems Cyber security

Demos What got me started down this path is impressive demos that I’ve seen in the last couple of years

Question Can anybody do this with now with open source software? Yes

Lay of the Land End user apps CLI apps Frameworks Libraries Research Open Source Closed Cloud

Lay of the Land End user apps CLI apps Frameworks Libraries Research Open Source Closed Cloud

Lay of the Land End user apps CLI apps Frameworks Libraries Research Open Source Closed Cloud

Lay of the Land End user apps CLI apps Frameworks Libraries Research Open Source Closed Cloud

Lay of the Land End user apps CLI apps Frameworks Libraries Research Open Source Closed Cloud

Navigating Limits of AI 2x Demo Show Unwrap Howto Questions Navigating Limits of AI

Demo #1 Object Detection

Object Detection

Object Detection

Unwrap: Black Box ./flow --imgdir sample_img/ --model cfg/yolo.cfg --load bin/yolo.weights

Neural Network ./flow --imgdir sample_img/ --model cfg/yolo.cfg --load bin/yolo.weights

Neural Network Model Weights (pre-trained) ./flow --imgdir sample_img/ --model cfg/yolo.cfg --load bin/yolo.weights

Darkflow Dependency Stack model weights darkflow TensorFlow OpenCV Python3 Anaconda Ubuntu 18.04 VM i7 CPU, 4 GB RAM

Howto git clone https://github.com/thtrieu/darkflow Create conda virtual env for the project conda create -n NAME python=3.6 source activate NAME Install dependencies conda install tensorflow cython numpy Add the repo with particular opencv version conda config --add channels conda-forge Install opencv conda install opencv Run setup python3 setup.py build_ext --inplace Download weight file for the model https://drive.google.com/drive/folders/0B1tW_VtY7onidEwyQ2FtQVplWEU and place it in bin/ Run ./flow --imgdir sample_img/ --model cfg/yolo.cfg --load bin/yolo.weights

Questions?

Demo #2 Generative Adversarial Network (GAN)

ThisPersonDoesNotExist.com

Demo #2

Unwrap: Black Box

GAN Generative Adversarial Network Pre trained generator network

Transparent Latent GAN Pretrained network model Transparent latent GAN Python3 CUDA toolkit cuDNN Jupyter Anaconda Ubuntu 16.04 VM 2 CPU,6 GB RAM, K80 GPU with 12GB RAM,50 GB Disk

Howto Git clone https://github.com/SummitKwan/transparent_latent_gan.git Prepare anaconda conda create -n NAME python=3.6 source activate NAME cd transparent_latent_gan Install dependencies conda install pip pip install -r requirements.txt conda install cudatoolkit conda install cudnn conda install jupyter Download pre-trained model https://www.dropbox.com/sh/y1ryg8iq1erfcsr/AAB--PO5qAapwp8ILcgxE2I6a?dl=0 (extract to same folder structure) Run notebook jupyter notebook Navigate to URL shown at startup + notebooks/transparent_latent_gan/src/notebooks/tl_gan_ipywidgets_gui.ipynb

Hardware Notes Google Compute Engine preemptive K80 ~$0.20 CAD / Hour I used vanilla Ubuntu 16.04 and installed Nvidia drivers on it myself Prebuilt images but more $ per hour (not preemptive) REMEMBER TO TURN IT OFF Nvidia GX 1060 (6 GB RAM … more is better) $300 Nvidia-smi

Expectations 80% of time dealing with building the stack Poor documentation Missing/incompatible pre-trained models Dependency hell (much better with Anaconda) Unhelpful error messages 20% real AI work

Path of least resistance Anaconda cuDNN 7 CUDA toolkit 9 Ubuntu 16.04 nVIDIA GPU > 6 GB RAM

You can do this now

Questions

Limits Too good to be true?

CSI zoom and enhance

CSI Zoom and Enhance for real https://github.com/alexjc/neural-enhance

Zoom and Enhance

…Again

… Again

We got him – URL 937

We look up the registered owner Cops go out Shoot the guy CSI Calgary saves the day Case closed

Let’s run the same image through a different model

Zoom and Enhance

What?

Wait … what?

Side by side

Different model will CONVINCINGLY lead you to a different conclusion

Which license plate was it? Maybe URL 937 Maybe BBL 3698 Maybe SOMETHIN ELSE Even though we are seeing it in front of our own eyes there is a threshold at which AI can just make stuff up and make it look like the real thing

NN has learned to make convincing fakes Those fakes may be rooted in reality or they may be purely hallucinated into existence The degree to which it’s rooted in reality depends on the data it’s been exposed to during training Garbage in – elaborate bullshit out

In the news: Woody Herrelson Look alike The image of the suspect, taken from the surveillance footage, was extremely pixelated and turned up no results in Facial ID system Investigators used high-quality images of Harrelson found on Google and submitted them in place of the suspect's more pixelated image. The result ended in a match. An unidentified man was booked and charged for petty larceny.

So when is the AI apocolypse coming?

Sells well but the world doesn’t need more of it Risk of AI Create AI that succeeds at producing output that is apparently super-intelligent, super accurate, and super trustworthy When in reality the output is elaborately disguised bullshit Sells well but the world doesn’t need more of it

GAN Limit Demo

How GAN works

How GAN works

Be aware of AI limits and use it within those limits Use AI within it’s limits

Best Open Source AI in 2019 https://medium. mybridge

Presentation copy: lab.florian.ca tomas@florian.ca Questions? Presentation copy: lab.florian.ca tomas@florian.ca

Useful Links AI Cheat sheet https://becominghuman.ai/cheat-sheets-for-ai-neural-networks-machine-learning-deep-learning-big-data-678c51b4b463

Other cool stuff Video Game graphics GAN https://thenewstack.io/deep-learning-ai-generates-realistic-game-graphics-by-learning-from-videos/ Style GAN https://www.youtube.com/watch?v=-R9bJGNHltQ