David Smith

Hi! I'm David Smith
Data Scientist and Cloud Developer Advocate at Microsoft.
Libraries (View all)

by David M Smith (), Developer Advocate at Microsoft

Last updated: November 2, 2018

Presented at:

  • ODSC West, November 2018

This library includes three notebooks to support the workshop:

  1. The AI behind Seeing AI. Use the web-interfaces to Cognitive Services to learn about the AI services behind the "Seeing AI" app
  2. Computer Vision API with R. Use an R script to interact with the Computer Vision API and generate captions for random Wikimedia images.
  3. Custom Vision with R. An R function to classify an image as a "Hot Dog" or "Not Hot Dog", using the Custom Vision service.

These notebooks are hosted on Azure Notebooks at https://notebooks.azure.com/davidsmi/libraries/aiforgood, where you can run them interactively. You can also download them to run them using Jupyter.

If you get stuck or just have other questions, you can contact me here:

David Smith

Modified on: Nov 13, 2018
EARL: Not Hotdog
0 clones

David M Smith (@revodavid), Developer Advocate at Microsoft

Last updated: September 5, 2018 Clone this library to get the latest updates

This self-guided workshop provides R scripts to demonstrate various AI techniques using the Microsoft Cognitive Services APIs in Azure. The scripts are provided as Jupyter Notebooks within the Azure Notebooks service. You don't need a Microsoft Account to view the scripts, but you will need to set one up and generate keys in Azure to run the examples. All of the examples use free Azure services.

If you're new to Notebooks, check out the Jupyter Notebook documentation.

If you're new to R, you might want to start with this Introduction to R notebook to get a sense of the language.

You will need:

  1. A Microsoft account. You can use an existing Outlook 365 or Xbox Live account, or create a new one.

  2. A Microsoft Azure subscription. If you don't already have an Azure subscription, you can visit https://cda.ms/kT and also get $200 in credits to use with paid services. You'll need to provide a credit or debit card, but everything we'll be doing is free to use. If you're a student, you can also register at https://cda.ms/kY without a credit card for a $100 credit.

You'll also need a few other things specific to this workshop. Follow the instructions below to set up everything you need.

  1. Visit https://portal.azure.com
  2. Sign in with your Microsoft Account. If you don't have a Microsoft account, use the links above to create one for free.

In Azure, a Resource Group is a collection of services you have created. It groups services together, and makes it easy to bulk-delete things later on. We'll create one for this lab.

  1. Visit https://portal.azure.com (and sign in if needed)
  2. Click "Resource Groups" in the left column
  3. Click "+ Add"
    • Resource Group Name: qcon
    • Subscription: there should be just one option
    • Resource Group Location: East US
  4. Click "Create"

A notification will appear in the top right. Click the button "Pin to Dashboard" to pin this resource group to your home page in the Azure portal, as you'll be referring to it frequently.

  1. Visit https://portal.azure.com (and sign in if needed)
  2. Click "+ Create a Resource" (top-left corner)
  3. Click "AI + Cognitive Services"
  4. Click "Computer Vision API"
    • Name: qcon-vision
    • Subscription: there should be just one option
    • Location: East US
    • Pricing Tier: F0 (free, 20 calls per minute)
    • Resource Group: Use existing "qcon" group
  5. Click "Create""
  1. Visit https://portal.azure.com (and sign in if needed)
  2. Click "+ Create a Resource" (top-left corner)
  3. With the "Search the Marketplace" box, search for "Custom Vision Service"
  4. Select "Custom Vision Service (preview)" and click "Create"
    • Name: qcon-customvision
    • Subscription: there should be just one option
    • Location: South Central US
    • Prediction Pricing Tier: F0 (free, 2 transactions per second)
    • Training pricing Tier: F0 (2 projects)
    • Resource Group: Use existing "qcon" group
  5. Click "Create"
  1. Visit https://notebooks.azure.com/davidsmi/libraries/qcon
    • Sign in with your Microsoft account if needed
  2. click Clone in the toolbar, to create a copy of the workshop materials

Download the file and provide the keys listed from the Azure Portal.

(To download this file, highlight it in the Library view and then press or click the download icon in the toolbar.)

For the first line of the file, , change it to . For the remaining keys, visit your resource group in the Azure Portal and then:

  1. Click on the API resource for Computer Vision

  2. In the menu, click on "keys"

  3. Click the "copy to clipboard" next to KEY 1. (You can ignore KEY 2).

  4. Paste the key into the entry in keys.txt

  5. Click on the API resource for Custom Vision

  6. In the menu, click on "keys"

  7. Click the "copy to clipboard" next to KEY 1. (You can ignore KEY 2).

  8. Paste the key into the entry in keys.txt

  9. Click on the API resource for Custom Vision (this resource was created automatically for you).

  10. In the menu, click on "keys"

  11. Click the "copy to clipboard" next to KEY 1. (You can ignore KEY 2).

  12. Paste the key into the entry in keys.txt

Your final file will look like this, but with different (working) keys:

Once you've done this for all the cognitive services, save the file and upload it to replace the existing file in Azure Notebooks. To upload the modified file, go to the Library and press the "+" (New File) icon or press , click "From Computer" > "Choose Files" and select the file on your hard drive, and click "Upload". A box saying "File Exists, Overwrite?" will appear; click it to continue.

The R scripts are provided as Jupyter Notebook files (with the extension). You can tackle the files in any order, but we recommend the following sequence:

  1. : Explore analyzing images from Wikimedia Commons using the Microsoft Vision API
  2. : Create the "Not Hotdog" image recognition application featured in Silicon Valley

For more examples of using the Cognitive Services APIs from R, take a look a the following blog posts. R code is included in the posts or in linked Github repositories.

If you get stuck or just have other questions, you can contact me here:

David Smith

Modified on: Sep 6, 2018
0 clones


The content of this repository is available for you so you can reproduce any demo or learn how to present any session of the Learning Path presented at Migrosoft Ignite and during Microsoft Ignite The Tour, in your local field office, a community user group, or even as a lunch-and-learn event for your company.

If you are here to reproduce a demo in the comfort of your home/office, go in in the section . In each session you will find deployment instructions, to create the environment you need, and a tutorial to do the demo step by step.

We're glad you are here and look forward to your delivery of this amazing content. As an experienced presenter, we know you know HOW to present so this guide will focus on WHAT you need to present. It will provide you a full run-through of the presentation created by the presentation design team.

Along with the video of the presentation, this repository will link to all the assets you need to successfully present including PowerPoint slides and demo instructions & code.

We are looking forward to working with all speakers who will deliver the content built below - we welcome your feedback and help to keep the content up-to-date.

Artificial Intelligence (AI) is driving innovative solutions across all industries but with machine learning (ML) applying a paradigm change to how we approach building products we are all exploring how to expand our skill-sets

Tailwind Traders is a retail company looking for support on how to benefit from applying AI across their business. In 'Developers Guide to AI’ we’ll show how Tailwind Traders has achieved this

There is something for every stage of the AI learning curve; whether you want to consume ML technologies, increase technical knowledge of ML theory, or build your own custom ML models. The model is not the end of the data science story, we will conclude with applying DevOps practices to ML projects to build an end-to-end pipeline

Here all the sessions available in the learning path Developers Guide to AI (aka: AIML)

Tailwind Traders has a lot of legacy data that they’d like their developers to leverage in their apps – from various sources, both structured and unstructured, and including images, forms, pdf files, and several others. In this session, you'll learn how the team used Cognitive Search to make sense of this data in a short amount of time and with amazing success. We'll discuss tons of AI concepts, like the ingest-enrich-explore pattern, skillsets, cognitive skills, natural language processing, computer vision, and beyond.

As a data-driven company, Tailwind Traders understands the importance of using Artificial Intelligence to improve business processes and delight customers. Before investing in an AI team, their existing developers were able to demonstrate some quick wins using pre-built AI technologies. In this session, we will show how you can use Azure Cognitive Services to extract insights from retail data and go into the neural networks behind computer vision. You’ll learn how it works and how to augment the pre-built AI with your own images for custom image recognition applications.

Tailwind Traders uses custom machine learning models to fix their inventory issues – without changing their Software Development Life Cycle! How? Azure Machine Learning Visual Interface. In this session, you’ll learn the data science process that Tailwind Traders’ uses and get an introduction to Azure Machine Learning Visual Interface. You’ll see how to find, import, and prepare data, select a machine learning algorithm, train and test the model, and deploy a complete model to an API. Get the tips, best practices, and resources you and your development team need to continue your machine learning journey, build your first model, and more.

Tailwind Traders’ data science team uses natural language processing (NLP), and recently discovered how to fine-tune and build a baseline models with Automated ML.

In this session, you’ll learn what Automated ML is and why it’s so powerful, then dive into how to improve upon baseline models, using examples from the NLP best practices repository. We’ll highlight Azure Machine Learning key features and how you can apply them to your organization, including low priority compute instances, distributed training with auto scale, hyperparameter optimization, collaboration, logging, and deployment.

While many companies have adopted DevOps practices to improve their software delivery, these same techniques are rarely applied to machine learning projects. Collaboration between developers and data scientists can be limited and deploying models to production in a consistent and trustworthy way is often a pipedream.

In this session, you’ll learn how to apply DevOps practices to your machine learning projects using Azure DevOps and Azure Machine Learning Service. We’ll set up automated training, scoring, and storage of versioned models and wrap the models in docker containers and deploy them to Azure Container Instances and Azure Kubernetes Service. We’ll even collect continuous feedback on model behavior so we know when to retrain.

In this theatre session we will show the data science process and how to apply it. From exploration of datasets to deployment of services - all applied to an interesting data story. This will also take you on a very brief tour of the Azure AI Platform.

To know more about about to contribute to this project please refer to the Code of Conduct and Contributing page.

You don't need anything to present this content, it's all there to be used. However, by becoming a Trained Presenter the scalable content team will recognize you as well. Trained Presenter see their contact information (name, picture, website) in the bottom of each session.

To become a Trained Presenter, contact scalablecontent@microsoft.com. In your email please include:

  • Complete name:
  • The code of this presentation:
  • Link to an unlisted YouTube video of you presenting around 10 minutes of the content for this specific session.

Microsoft and any contributors grant you a license to the Microsoft documentation and other content in this repository under the Creative Commons Attribution 4.0 International Public License, see the LICENSE file, and grant you a license to any code in the repository under the MIT License, see the LICENSE-CODE

Microsoft, Windows, Microsoft Azure and/or other Microsoft products and services referenced in the documentation may be either trademarks or registered trademarks of Microsoft in the United States and/or other countries. The licenses for this project do not grant you rights to use any Microsoft names, logos, or trademarks. Microsoft's general trademark guidelines can be found at http://go.microsoft.com/fwlink/?LinkID=254653.

Privacy information can be found at https://privacy.microsoft.com/en-us/

Microsoft and any contributors reserve all other rights, whether under their respective copyrights, patents, or trademarks, whether by implication, estoppel or otherwise.

Modified on: Dec 5, 2019
This introduction to R provides a first look into a number of R functionalities, inluding reading data, processing data, and modeling. It includes dives into extremely useful packages such as dplyr and caret.
Modified on: Apr 9, 2018

This repository contains example notebooks demonstrating the Azure Machine Learning Python SDK which allows you to build, train, deploy and manage machine learning solutions using Azure. The AML SDK allows you the choice of using local or cloud compute resources, while managing and maintaining the complete data science workflow from the cloud.

Read more detailed instructions on how to set up your environment.

You should always run the Configuration notebook first when setting up a notebook library on a new machine or in a new environment. It configures your notebook library to connect to an Azure Machine Learning workspace, and sets up your workspace and compute to be used by many of the other examples.

If you want to...

The Tutorials folder contains notebooks for the tutorials described in the Azure Machine Learning documentation

The How to use Azure ML folder contains specific examples demonstrating the features of the Azure Machine Learning SDK

  • Training - Examples of how to build models using Azure ML's logging and execution capabilities on local and remote compute targets.
  • Training with Deep Learning - Examples demonstrating how to build deep learning models using estimators and parameter sweeps
  • Automated Machine Learning - Examples using Automated Machine Learning to automatically generate optimal machine learning pipelines and models
  • Machine Learning Pipelines - Examples showing how to create and use reusable pipelines for training and batch scoring
  • Deployment - Examples showing how to deploy and manage machine learning models and solutions
  • Azure Databricks - Examples showing how to use Azure ML with Azure Databricks

Visit following repos to see projects contributed by Azure ML users:

Modified on: Aug 19, 2019

Simple MNIST Sample

Modified on: Feb 20, 2019
Starred Libraries (View all starred libraries)