O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

Easy path to machine learning (Spring 2021)

Google Cloud developer tools + an
Easyier path to machine learning
Wesley Chun - @wescpy
Developer Advocate, Google
Why and Agenda
● Big data is everywhere now; need power of AI/ML to analyze
● Requires certain level of math/statistics, g...
What is machine learning?
AI, ML, and making computers smarter; to help us
understand more and get more insights than befo...
Carregando em…3

Confira estes a seguir

1 de 55 Anúncio

Mais Conteúdo rRelacionado

Diapositivos para si (20)

Semelhante a Easy path to machine learning (Spring 2021) (20)


Mais de wesley chun (11)

Mais recentes (20)


Easy path to machine learning (Spring 2021)

  1. 1. Google Cloud developer tools + an Easyier path to machine learning Wesley Chun - @wescpy Developer Advocate, Google Adjunct CS Faculty, Foothill College Developer Advocate, Google Cloud ● Mission: enable current and future developers everywhere to be successful using Google Cloud and other Google developer tools & APIs ● Focus: GCP serverless (App Engine, Cloud Functions, Cloud Run); higher education, Google Workspace, GCP AI/ML APIs; multi-product use cases ● Content: speak to developers globally; make videos, create code samples, produce codelabs (free, self-paced, hands-on tutorials), publish blog posts About the speaker Previous experience / background ● Software engineer & architect for 20+ years ○ Yahoo!, Sun, HP, Cisco, EMC, Xilinx ○ Original Yahoo!Mail engineer/SWE ● Technical trainer, teacher, instructor ○ Taught Math, Linux, Python since 1983 ○ Private corporate trainer ○ Adjunct CS Faculty at local SV college ● Python community member ○ Popular Core Python series author ○ Python Software Foundation Fellow ● AB (Math/CS) & CMP (Music/Piano), UC Berkeley and MSCS, UC Santa Barbara ● Adjunct Computer Science Faculty, Foothill College (Silicon Valley)
  2. 2. Why and Agenda ● Big data is everywhere now; need power of AI/ML to analyze ● Requires certain level of math/statistics, gives AI/ML learning curve ● APIs powered by ML helps ease this burden ● If you can call APIs, you can use ML! ● Google provides AI/ML and many other tools to he 1 What is ML? 2 Introducing Google Cloud 3 Google APIs 4 Cloud ML APIs 5 Other Cloud tools & APIs 6 Serverless platforms 7 Inspiration 8 Summary & wrap-up Caveat: I am NOT a data scientist. (I studied NW/distributed systems in school.) Like many of you, I've seen the rise of big data and gotten caught up in the excitement of ML, so this is also part of my journey. However... I can call APIs, therefore I am.
  3. 3. What is machine learning? AI, ML, and making computers smarter; to help us understand more and get more insights than before 1
  4. 4. AI & Machine Learning Puppy or muffin? Source: twistedsifter.com/2016/03/puppy-or-bagel-meme-gallery Machine learning is learning from rules plus experience.
  5. 5. Deep Neural Networks Step 1: Training Deep Neural Networks Step 2: Testing
  6. 6. Google Translate Google Photos Did you ever stop to notice this app has a search bar?!?
  7. 7. 2012 2013 2014 2015 2016 0 1000 2000 3000 4000 # of directories containing neural net model description files Use of Deep Learning at Google accelerated rapidly Global view Problem ● 1B ppl depend on seafood ● 85% at/over-fishing or recovering ● 20% caught illegal, undoc'd, unreg'd ● Analysts monitoring unscalable One solution ● globalfishingwatch.org/map ● Machine-learning classifiers: ○ Ship type: cargo, tug, sail, fishing ○ Ship size ○ Gear: longline, purse seine, trawl ○ Movement tracking: when and where vessels are fishing
  8. 8. blog.google/products/google-cloud/how-ai-can -help-make-safer-baby-food-and-other-products youtu.be/gC1b6fBo7aE Two tales of food sorting with the help of AI opensource.com/article/17/9/tensorflow youtu.be/4HCE1P-m1l8 Lots of data Complex mathematics in multidimensional spaces Magical results Popular imagination of what Machine Learning is
  9. 9. Organize data Use machines to flesh out the model from data Collect data Create model Deploy fleshed out model In reality what ML is Large Datasets Good Models Lots Of Computation Keys to Successful Machine Learning
  10. 10. rules data Traditional Programming answers answers data rules Machine Learning Inference Phase Training Phase answers data model ("rules") Machine Learning Model predictions (new) data
  11. 11. Fashion MNIST ● 10 categories ● Images: 28x28 pixels ● 70k grayscale images ● Go train a neural net! tensorflow.org/tutorials/ keras/classification import tensorflow as tf from tensorflow import keras fashion_mnist = keras.datasets.fashion_mnist (train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data() 09 09 = ankle boot; 踝靴; アンクルブーツ; Bróg rúitín
  12. 12. Your steps 1. Import MNIST dataset 2. Explore/preprocess data 3. Build model a. Setup layers b. Compile model 4. Train model 5. Evaluate accuracy 6. Make predictions 7. (Have fun!) 2 Introduction to Google Cloud GCP and Google Workspace (formerly G Suite) tools & APIs
  13. 13. YOUR NEXT APP? google.com/datacenter formerly ( )
  14. 14. How can Google Cloud help (higher ed)? ● What can we provide faculty, researchers, IT staff, students? ○ Virtual machines, GPUs, and variety of data storage ○ Ability to craft & design your own network/subnet ○ Pre-trained machine learning models ○ Container-hosting, ML build & deploy infrastructure ○ Serverless compute & data services ○ Additional or emergency compute & storage capacity ○ Productivity tools students (& professionals) already use ○ Education grants (use our cloud w/o personal credit cards) ML "building block" APIs ● Gain insights from data using GCP's pre-trained machine learning models ● Leverage the same technology as Google Translate, Photos, and Assistant ● Requires ZERO prior knowledge of ML ● If you can call an API, you can use AI/ML! ● cloud.google.com/products/ai/building-blocks Vision Video Intelligence Speech (S2T & T2S) Natural Language Translation
  15. 15. Full Spectrum of AI & ML Offerings App developer Data scientist, developer Data scientist, Researcher (w/infrastructure access & DevOps/SysAdmin skills) AI Platform Auto ML Build custom models, use OSS SDK on fully- managed infrastructure ML APIs App developer, data scientist Use/customize pre-built models Use pre-built/pre- trained models Build custom models, use/ extend OSS SDK, self-manage training infrastructure 3 Google APIs What are they? How do you use them?
  16. 16. General steps 1. Go to Cloud Console 2. Login to Google/Gmail account (Workspace domain may require admin approval) 3. Create project (per application) 4. Enable APIs to use 5. Enable billing (CC, Free Trial, etc.) 6. Download client library(ies) 7. Create & download credentials 8. Write code 9. Run code (may need to authorize) Google APIs: how to use Costs and pricing ● GCP: pay-per-use ● Google Workspace: subscription ● GCP Free Trial ($300/1Q, CC req'd) ● GCP "Always Free" tier ○ Most products have free tier ○ Daily or monthly quota ○ Must exceed to incur billing ● More on both programs at cloud.google.com/free Cloud/GCP console console.cloud.google.com ● Hub of all developer activity ● Applications == projects ○ New project for new apps ○ Projects have a billing acct ● Manage billing accounts ○ Financial instrument required ○ Personal or corporate credit cards, Free Trial, and education grants ● Access GCP product settings ● Manage users & security ● Manage APIs in devconsole
  17. 17. ● View application statistics ● En-/disable Google APIs ● Obtain application credentials Using Google APIs goo.gl/RbyTFD API manager aka Developers Console (devconsole) console.developers.google.com & Google APIs client libraries for many languages; demos in developers.google.com/api- client-library cloud.google.com/apis/docs /cloud-client-libraries
  18. 18. OAuth2 or API key HTTP-based REST APIs 1 HTTP 2 Google APIs request-response workflow ● Application makes request ● Request received by service ● Process data, return response ● Results sent to application (typical client-server model) 4 Cloud ML APIs Easier path to ML by simply calling APIs!
  19. 19. Machine Learning: Cloud Vision Google Cloud Vision API lets developers extract metadata and understand the content of an image, identify & detect objects/labels, text/OCR, landmarks, logos, facial features, products, XC, etc. cloud.google.com/vision from google.cloud import vision image_uri = 'gs://cloud-samples-data/vision/using_curl/shanghai.jpeg' client = vision.ImageAnnotatorClient() image = vision.types.Image() image.source.image_uri = image_uri response = client.label_detection(image=image) print('Labels (and confidence score):') print('=' * 30) for label in response.label_annotations: print(label.description, '(%.2f%%)' % (label.score*100.)) Vision: label annotation/object detection
  20. 20. $ python3 label-detect.py Labels (and confidence score): ============================== People (95.05%) Street (89.12%) Mode of transport (89.09%) Transport (85.13%) Vehicle (84.69%) Snapshot (84.11%) Urban area (80.29%) Infrastructure (73.14%) Road (72.74%) Pedestrian (68.90%) Vision: label annotation/object detection g.co/codelabs/vision-python Machine Learning: Cloud Natural Language Google Cloud Natural Language API reveals the structure and meaning of text, performing sentiment analysis, content classification, entity extraction, and syntactical structure analysis; multi-lingual cloud.google.com/language
  21. 21. Simple sentiment & classification analysis TEXT = '''Google, headquartered in Mountain View, unveiled the new Android phone at the Consumer Electronics Show. Sundar Pichai said in his keynote that users love their new Android phones.''' NL = discovery.build('language', 'v1', developerKey=API_KEY) print('TEXT:', TEXT) # sentiment analysis data = {'type': 'PLAIN_TEXT', 'content': TEXT} sent = NL.documents().analyzeSentiment( body={'document': data}).execute().get('documentSentiment') print('nSENTIMENT: score (%.2f), magnitude (%.2f)' % ( sent['score'], sent['magnitude'])) print('nCATEGORIES:') # content classification categories = NL.documents().classifyText( body={'document': data}).execute().get('categories') for cat in categories: print('* %s (%.2f)' % (cat['name'][1:], cat['confidence'])) Simple sentiment & classification analysis $ python nl_sent_simple.py TEXT: Google, headquartered in Mountain View, unveiled the new Android phone at the Consumer Electronics Show. Sundar Pichai said in his keynote that users love their new Android phones. SENTIMENT: score (0.20), magnitude (0.50) CATEGORIES: * Internet & Telecom (0.76) * Computers & Electronics (0.64) * News (0.56)
  22. 22. Machine Learning: Cloud Speech Google Cloud Speech APIs enable developers to convert speech-to-text and vice versa cloud.google.com/speech cloud.google.com/text-to-speech Speech-to-Text: transcribing audio text # request body (16-bit linear PCM audio content, i.e., from text.wav) body = { 'audio': {'content': audio}, 'config': { 'languageCode': 'en-US', 'encoding': 'LINEAR16', }, } # call Speech-to-Text API to recognize text S2T = discovery.build('speech', 'v1', developerKey=API_KEY) rsp = S2T.speech().recognize( body=body).execute().get('results')[0]['alternatives'][0] print('** %.2f%% confident of this transcript:n%r' % ( rsp['confidence']*100., rsp['transcript']))
  23. 23. Speech-to-Text: transcribing audio text $ python s2t_demo.py ** 92.03% confident of this transcript: 'Google headquarters in Mountain View unveiled the new Android phone at the Consumer Electronics Show Sundar pichai said in his keynote that users love their new Android phones' Machine Learning: Cloud Video Intelligence Google Cloud Video Intelligence API makes videos searchable, and discoverable, by extracting metadata. Other features: object tracking, shot change detection, and text detection cloud.google.com/video-intelligence
  24. 24. Machine Learning: Cloud Translation Access Google Translate programmatically through this API; translate an arbitrary string into any supported language using state-of-the-art Neural Machine Translation cloud.google.com/translate Machine Learning: AutoML AutoML: a suite of cloud APIs for developers with limited machine learning expertise; auto-selects best models & allows for further training of those models for your data (Translation, Vision, Natural Language, Video Intelligence, Tables) cloud.google.com/automl cloud.google.com/automl-tables
  25. 25. ● General steps a. Prep your training data b. Create dataset c. Import items into dataset d. Create/train model e. Evaluate/validate model f. Make predictions Cloud AutoML: how to use Machine Learning: Cloud AI Platform Google Cloud AI Platform is a managed service that lets you build, train, and deploy machine learning models (scikit-learn, XGBoost, Keras, TensorFlow), then make predictions with trained models cloud.google.com/ai-platform
  26. 26. Storing and Analyzing Data: BigQuery Google BigQuery is a fast, highly scalable, fully-managed data warehouse in the cloud for analytics with built-in machine learning (BQML); issue SQL queries across multi-terabytes of data cloud.google.com/bigquery BigQuery: querying Shakespeare words TITLE = "The most common words in all of Shakespeare's works" QUERY = ''' SELECT LOWER(word) AS word, sum(word_count) AS count FROM [bigquery-public-data:samples.shakespeare] GROUP BY word ORDER BY count DESC LIMIT 10 ''' rsp = BQ.jobs().query(body={'query': QUERY}, projectId=PROJ_ID).execute() print('n*** Results for %r:n' % TITLE) print('t'.join(col['name'].upper() # HEADERS for col in rsp['schema']['fields'])) print('n'.join('t'.join(str(col['v']) # DATA for col in row['f']) for row in rsp['rows']))
  27. 27. Top 10 most common Shakespeare words $ python bq_shake.py *** Results for "The most common words in all of Shakespeare's works": WORD COUNT the 29801 and 27529 i 21029 to 20957 of 18514 a 15370 you 14010 my 12936 in 11722 that 11519 ● BigQuery public data sets: cloud.google.com/bigquery/public-data ● BQ sandbox (1TB/mo free): cloud.google.com/bigquery/docs/sandbox ● Other public data sets: cloud.google.com/public-datasets (Google Cloud), research.google/tools/datasets (Google Research), and Kaggle (kaggle.com) ● COVID-19 ○ How to use our data sets (see blog post) ○ JHU Coronavirus COVID-19 Global Cases data set ○ List of all COVID-19 data sets ● Cloud Life Sciences API: cloud.google.com/life-sciences (see blog post) ● Cloud Healthcare API: cloud.google.com/healthcare (see blog post) BigQuery & public data sets Spring 2020
  28. 28. Other Cloud tools These may also be helpful 5 Storing Data: Cloud Storage, Filestore, Persistent Disk cloud.google.com/storage cloud.google.com/filestore cloud.google.com/persistent-disk
  29. 29. Storing Data: Cloud SQL SQL servers in the cloud High-performance, fully-managed 600MB to 416GB RAM; up to 64 vCPUs Up to 10 TB storage; 40,000 IOPS Types: MySQL Postgres SQLServer (2019) cloud.google.com/sql Storing Data: Cloud Firestore The best of both worlds: the next generation of Cloud Datastore (w/product rebrand) plus features from the Firebase realtime database (For choosing between Firebase & Cloud Firestore: see firebase.google.com/docs/firestore/rtdb-vs-firestore; for choosing between Cloud Datastore & Firestore: see cloud.google.com/datastore/docs/firestore-or-datastore) cloud.google.com/firestore
  30. 30. Google Workspace: Google Sheets Sheets API gives you programmatic access to spreadsheets; perform (w/code) almost any action you can do from the web interface as a user developers.google.com/sheets Try our Node.js customized reporting tool codelab: g.co/codelabs/sheets Why use the Sheets API? data visualization customized reports Sheets as a data source
  31. 31. Migrate SQL data to a Sheet # read SQL data then create new spreadsheet & add rows into it FIELDS = ('ID', 'Customer Name', 'Product Code', 'Units Ordered', 'Unit Price', 'Status') cxn = sqlite3.connect('db.sqlite') cur = cxn.cursor() rows = cur.execute('SELECT * FROM orders').fetchall() cxn.close() rows.insert(0, FIELDS) DATA = {'properties': {'title': 'Customer orders'}} SHEET_ID = SHEETS.spreadsheets().create(body=DATA, fields='spreadsheetId').execute().get('spreadsheetId') SHEETS.spreadsheets().values().update(spreadsheetId=SHEET_ID, range='A1', body={'values': rows}, valueInputOption='RAW').execute() Migrate SQL data to Sheets goo.gl/N1RPwC Google Workspace: Google Drive Drive API allows developers to read, write, control permissions/sharing, import/export files, and more! developers.google.com/drive
  32. 32. Google Workspace: Google Docs & Slides Docs & Slides APIs give you access to read or write documents and presentations programmatically so you can auto-generate them with data integrated from various sources developers.google.com/docs developers.google.com/slides Running Code: Compute Engine > Google Compute Engine delivers configurable virtual machines of all shapes and sizes, from "micro" to 416 vCPUs, 11.776 TB RAM, 256 TB HDD or SSD disk; GPUs & TPUs (Debian, CentOS, CoreOS, SUSE, Red Hat Enterprise Linux, Ubuntu, FreeBSD; Windows Server 2008 R2, 2012 R2, 2016, 1803, 1809, 1903/2019, 1909) cloud.google.com/compute
  33. 33. Machine Learning: Cloud TPUs The Google Cloud TPU API lets developers pair Compute Engine VMs along with Tensor Processing Units (TPUs) to train machine learning models faster and at a lower cost than GPUs*. cloud.google.com/tpu * source: Google Cloud blog (Dec 2018) 6 Serverless platforms Where to run your code
  34. 34. > Google Compute Engine configurable VMs of all shapes & sizes, from "micro" to 416 vCPUs, 11.776 TB RAM, 256 TB HDD/SSD plus Google Cloud Storage for data lake "blobs" (Debian, CentOS, CoreOS, SUSE, Red Hat Enterprise Linux, Ubuntu, FreeBSD; Windows Server 2008 R2, 2012 R2, 2016, 1803, 1809, 1903/2019, 1909) cloud.google.com/compute cloud.google.com/storage Yeah, we got VMs & big disk… but why*? Serverless: what & why ● What is serverless? ○ Misnomer ○ "No worries" ○ Developers focus on writing code & solving business problems* ● Why serverless? ○ Fastest growing segment of cloud... per analyst research*: ■ $1.9B (2016) and $4.25B (2018) ⇒ $7.7B (2021) and $14.93B (2023) ○ What if you go viral? Autoscaling: your new best friend ○ What if you don't? Code not running? You're not paying. * in USD; source:Forbes (May 2018), MarketsandMarkets™ & CB Insights (Aug 2018)
  35. 35. Running Code: App Engine Got a great app idea? Now what? VMs? Operating systems? Big disk? Web servers? Load balancing? Database servers? Autoscaling? With Google App Engine, you don't think about those. Just upload your code; we do everything else. > cloud.google.com/appengine Why does App Engine exist? ● Focus on app not DevOps ○ Web app ○ Mobile backend ○ Cloud service ● Enhance productivity ● Deploy globally ● Fully-managed ● Auto-scaling ● Pay-per-use ● Familiar languages ● Test w/local dev server
  36. 36. Hello World (Python "MVP") app.yaml runtime: python38 main.py from flask import Flask app = Flask(__name__) @app.route('/') def hello(): return 'Hello World!' requirements.txt Flask>=1.1.2 Deploy: $ gcloud app deploy Access globally: PROJECT_ID.appspot.com cloud.google.com/appengine/docs/standard/python3/quickstart Running Code: Cloud Functions Don't have an entire app? Just want to deploy small microservices or "RPCs" online globally? That's what Google Cloud Functions are for! (+Firebase version for mobile apps) cloud.google.com/functions firebase.google.com/products/functions
  37. 37. Why does Cloud Functions exist? ● Don't have entire app? ○ No framework "overhead" (LAMP, MEAN...) ○ Deploy microservices ● Event-driven ○ Triggered via HTTP or background events ■ Pub/Sub, Cloud Storage, Firebase, etc. ○ Auto-scaling & highly-available; pay per use ● Flexible development environment ○ Cmd-line or developer console (in-browser) ○ Develop/test locally with Functions Framework ● Cloud Functions for Firebase ○ Mobile app use-cases ● Available runtimes ○ JS/Node.js 8, 10, 12, 14 ○ Python 3.7, 3.8, 3.9 ○ Go 1.11, 1.13 ○ Java 11 ○ Ruby 2.6, 2.7 ○ .NET Core 3.1 main.py def hello_world(request): return 'Hello World!' Deploy: $ gcloud functions deploy hello --runtime python38 --trigger-http Access globally (curl): $ curl REGION-PROJECT_ID.cloudfunctions.net/hello Access globally (browser): https://REGION-PROJECT_ID.cloudfunctions.net/hello Hello World (Python "MVP") cloud.google.com/functions/docs/quickstart-python
  38. 38. Running Code: Cloud Run Got a containerized app? Want its flexibility along with the convenience of serverless that's fully-managed plus auto-scales? Google Cloud Run is exactly what you're looking for! Need custom HW? Cloud Run on GKE cloud.google.com/run Google Workspace: Apps Script Apps Script: A customized serverless JS runtime for automation, and extension and integration with Google Workspace (formerly G Suite), Google, or other external services. Access 40+ different Google services w/o using APIs or writing OAuth code. developers.google.com/apps-script
  39. 39. +JavaScript -API “flavor” +built-in “flavor” -OAuth2 (you) != “Hello World!” in Apps Script
  40. 40. Sheets-bound “Hello World!” Apps Script intro goo.gl/1sXeuD What can you do with this?
  41. 41. Accessing maps from spreadsheets?!? goo.gl/oAzBN9 This… with help from Google Maps & Gmail function sendMap() { var sheet = SpreadsheetApp.getActiveSheet(); var address = sheet.getRange("A2").getValue(); var map = Maps.newStaticMap().addMarker(address); GmailApp.sendEmail('friend@example.com', 'Map', 'See below.', {attachments:[map]}); } JS g.co/codelabs/apps-script-intro
  42. 42. ● Extend functionality of Google Workspace (formerly G Suite) editors ● Embed your app within ours! ● 2014: Google Docs, Sheets, Forms ● 2017 Q3: Google Slides ● 2017 Q4: Gmail ● 2018 Q1: Google Chat bots ● Apps Script also powers Google Data Studio community connectors, and Google Ads scripts Apps Script powers add-ons… and more! 7 Inspiration Use Google APIs to create unique solutions
  43. 43. Custom intelligence in Gmail Analyze Google Workspace (formerly G Suite) data with GCP
  44. 44. Gmail message processing with GCP Gmail Cloud Pub/Sub Cloud Functions Cloud Vision Workspace (formerly G Suite) GCP Star message Message notification Trigger function Extract images Categorize images Inbox augmented with Cloud Function
  45. 45. ● Gmail API: sets up notification forwarding to Cloud Pub/Sub ● developers.google.com/gmail/api/guides/push ● Pub/Sub: triggers logic hosted by Cloud Functions ● cloud.google.com/functions/docs/calling/pubsub ● Cloud Functions: "orchestrator" accessing GCP (and Google Workspace/G Suite) APIs ● Combine all of the above to add custom intelligence to Gmail ● Deep dive code blog post ● cloud.google.com/blog/products/application-development/ adding-custom-intelligence-to-gmail-with-serverless-on-gcp ● Application source code ● github.com/GoogleCloudPlatform/cloud-functions-gmail-nodejs App summary Big data analysis to slide presentation Access GCP tools from Google Workspace (formerly G Suite)
  46. 46. Store big data results
  47. 47. Visualize big data results Ingest data from Sheets
  48. 48. Link to chart in Sheets
  49. 49. Supercharge Workspace (G Suite) with GCP Workspace (G Suite) GCP BigQuery Apps Script Slides Sheets Application request Big data analytics App summary ● Leverage GCP and build the "final mile" with Google Workspace (formerly G Suite) ● Driven by Google Apps Script ● Google BigQuery for data analysis ● Google Sheets for visualization ● Google Slides for presentable results ● "Glued" together w/Google Workspace (formerly G Suite) serverless ● Build this app (codelab): g.co/codelabs/bigquery-sheets-slides ● Video and blog post: bit.ly/2OcptaG ● Application source code: github.com/googlecodelabs/bigquery-sheets-slides ● Presented at Google Cloud NEXT (Jul 2018 [DEV229] & Apr 2019 [DEV212]) ● cloud.withgoogle.com/next18/sf/sessions/session/156878 ● cloud.withgoogle.com/next/sf/sessions?session=DEV212
  50. 50. 8 Wrap-up Summary and resources Machine learning session summary ● What is machine learning again? ○ Solving harder problems by making computers smarter ○ "Using data to answer questions.” ~Yufeng Guo, Google Cloud ● How do you do machine learning again? ○ Collect lots of data ○ Build and train your model then validate it ○ Use your model to make predictions on new data ● Do you need lots of machine learning experience to get started? ○ No: use pre-trained models available via APIs ○ No: need to do training? Consider using AutoML APIs ○ Build your experience then use standard OSS library when ready
  51. 51. Google APIs and ML resources ● Google Workspace (G Suite), Google Apps Script docs, repo, videos ○ developers.google.com/gsuite ○ github.com/googleworkspace ○ goo.gl/JpBQ40 ● Google Cloud Platform (GCP) documentation & open source repos ○ cloud.google.com/products/ai/building-blocks ○ github.com/GoogleCloudPlatform ○ youtube.com/GoogleCloudPlatform ● Your next steps… ○ Customize our ML APIs with AutoML: cloud.google.com/automl ○ Get hands-on with a Cloud ML codelab (self-paced tutorial): gcplab.me ○ Explore: Kaggle (kaggle.com) and Colab (colab.research.google.com) ● Google Cloud Platform (GCP) ○ Code samples for students: goo.gle/hackathon-toolkit ○ Videos: youtube.com/GoogleCloudPlatform ○ Google Codelabs (free, self-paced, hands-on tutorials): gcplab.me ○ QwikLabs Codelabs (not free but don't need Google acct): google.qwiklabs.com ● GCP documentation - cloud.google.com/{docs,appengine,functions,run,vision,automl,translate, language, speech,texttospeech,video-intelligence,firestore,bigquery,compute,storage,gpu,tpu} ● Like GCP? Wanna use it in class or your research lab? Send your profs to cloud.google.com/edu to apply for GCP teaching/research credits! Students can apply for QwikLabs/training credits! ● Know AWS/Azure? Compare w/GCP at cloud.google.com/docs/compare/{aws,azure} ● Others ○ GCP Free Trial (ignore) and Always Free (tier) - cloud.google.com/free ○ Mobile apps: Firebase - firebase.google.com and Flutter - flutter.dev ○ Workspace - developers.google.com/{gsuite,drive,docs,sheets,slides} and goo.gl/JpBQ40 ○ Other Google (non-Cloud) codelabs: g.co/codelabs ○ Developer Student Clubs - g.co/dev/dsc - Global Google student developer groups ○ Internships & other career stuff - google.com/students Resources (students)
  52. 52. Higher Education grant program ● Teaching grants (per-course basis) ○ $50USD for students & $100USD for faculty & TAs ○ Must exceed "Always Free" daily/monthly quota to incur billing ○ Students will barely use it… average utilization: <25% ○ KEY: not giving Google your personal credit card ● Research grants ○ Larger amounts; consider as seed funding ○ Over a longer period of time (more than a single term) ● Apply at cloud.google.com/edu ● Turnaround time: "within a few business days" quickdraw.withgoogle.com Google Cloud Vision demo "experiment" experiments.withgoogle.com/quick-draw
  53. 53. vision-explorer.reactive.ai Vision Explorer: NEXT '16: Cloud Vision demo cloud.google.com/blog/products/gcp/explore-the-galaxy-of-images-with-cloud- vision-api and open-source repo at github.com/cogentlabs/cloud-vision-explorer FYI and FYA (if you/your students love comics) cloud.google.com/products/ai/ml-comic-[12] ... ...
  54. 54. Other Google APIs & platforms ● Firebase (mobile development platform + RT DB; ML Kit) ○ firebase.google.com & firebase.google.com/docs/ml-kit ● Google Data Studio (data visualization, dashboards, etc.) ○ datastudio.google.com/overview ○ goo.gle/datastudio-course ● Actions on Google/Assistant/DialogFlow (voice apps) ○ developers.google.com/actions ● YouTube (Data, Analytics, and Livestreaming APIs) ○ developers.google.com/youtube ● Google Maps (Maps, Routes, and Places APIs) ○ developers.google.com/maps ● Flutter (native apps [Android, iOS, web] w/1 code base[!]) ○ flutter.dev Thank you! Wesley Chun @wescpy Video: youtu.be/ja4E9Dzr0Gw Progress bars: goo.gl/69EJVw