#Event – Resources used during Getting started with #MachineLearning.net with @TheDataGeeks

Hi!

It was a placer to share some amazing and early time with the Data Platform Geeks in a webinar about Machine Learning.Net.

Slides

Source Code

https://github.com/elbruno/events/tree/master/2020%2001%2021%20DPG%20MLNet

Resources

Event information

https://www.linkedin.com/feed/update/urn:li:activity:6625330471557529600

https://www.linkedin.com/feed/update/urn:li:activity:6625330471557529600

Happy Coding!

Greetings @ Burlington

El Bruno

#Event – Resources used during the #MachineLearning Galore at @MississaugaNetU

Hi!

It was a placer to share some amazing time with the Mississauga .Net User Group last night in my last session of the decade. It was a full night focused on Artificial Intelligence and Machine Learning, and as usual is time to share the resources used in the session.

Slides

Source Code

https://github.com/elbruno/events/tree/master/2019%2009%2005%20Global%20AI%20Night

Resources

Event information

Happy Coding!

Greetings @ Burlington

El Bruno

#VS2019 – Let’s do some image classification with #MLNET Model Builder! (AKA, let’s create an image classifier model without a line of code)

Buy Me A Coffee

Hi!

I’m getting ready for my last event of the year, and I just realize that in the latest update of Model Builder, we have the chance to build our own Image Classifier scenario. Let’s start with the official Model Builder definition (see references):

ML.NET Model Builder provides an easy to understand visual interface to build, train, and deploy custom machine learning models. Prior machine learning expertise is not required. Model Builder supports AutoML, which automatically explores different machine learning algorithms and settings to help you find the one that best suits your scenario.

Working with images was supported for a while in Machine Learning.Net. In the Machine Learning .Net Samples, we have sample scenarios like

Image Classification Model Training – Preferred API (Based on native TensorFlow transfer learning)

In this sample app you create your own custom image classifier model by natively training a TensorFlow model from ML.NET API with your own images.

We even have an amazing tutorial, to create our own image classification model from zero

Tutorial: Generate an ML.NET image classification model from a pre-trained TensorFlow model

Learn how to transfer the knowledge from an existing TensorFlow model into a new ML.NET image classification model. The TensorFlow model was trained to classify images into a thousand categories. The ML.NET model makes use of part of the TensorFlow model in its pipeline to train a model to classify images into 3 categories.

Training an Image Classification model from scratch requires setting millions of parameters, a ton of labeled training data and a vast amount of compute resources (hundreds of GPU hours). While not as effective as training a custom model from scratch, transfer learning allows you to shortcut this process by working with thousands of images vs. millions of labeled images and build a customized model fairly quickly (within an hour on a machine without a GPU). This tutorial scales that process down even further, using only a dozen training images.

And now, I found that Model Builder, also supports an Image Classification Scenario.

It follows the Model Builder standard workflow, starting with the selection of the scenario:

model builder select scenario

And then selecting a folder with the Images.

model builder images for training

Important: Model Builder expects image data to be JPG or PNG files organized in folders that correspond to the categories of the classification.

To load images into Model Builder, provide the path to a single top-level directory:

  •     This top-level directory contains one subfolder for each of the categories to predict.
  •     Each subfolder contains the image files belonging to its category.

Once the folder is selected, we can see a preview of the images and labels loaded from the folder.

model builder folder selected image preview

For more information about how to organize images for this scenario, refer to Load training data into Model Builder.

And now we start the training process. This may take a while, depending on your hardware. I’m using the sample set of drawings that we used on the InsiderDev Tour, for Custom Vision. These are 24 drawings images, with 3 labels, and in a PC with a I7, 32GB of Ram and an SSD, the training process took a little longer than 2 minutes.

model builder train images complete

Once the training is complete, we have a decent accuracy in our model, so it’s time to test. Before Model Builder last step, we have the chance to test the model with some test images.

Using one of the images that I created at Ignite in Orlando, the trained model get’s a human with a 99% of accuracy.

model builder model trained test image

And, the final step is to add the generated model and code to our project. I’ll write about how to use this generated code on the near future.

model builder code generated

Happy Coding!

Greetings @ Burlington

El Bruno

References

#Event – #GlobalAIBootcamp, thanks to @AvanadeInc and @MicrosoftCanada, here are some resources, feedback and more !

Buy Me A Coffee

Hi !

The Global AI Bootcamp 2019 was a huge success, just take a look at this photo during the keynote

And remember, this was the weather during the day, cold and snow. Even so, we had ~200 attendees at the Microsoft Offices in Mississauga.

Speakers and Volunteers

We had an amazing set of volunteers and speakers, and I’m afraid I’m missing some names, so here it goes a photo of both:

Sponsors

Our 2 main sponsors were Avanade and Microsoft, thanks !

And, as we did in previous events, instead of having swag, we prefer to donate to a charity for every interaction we had at our booth!

Agenda

This year Agenda was amazing, and it’s tricky to summarize it in a single image

Take a look at this post: https://elbruno.com/2019/12/10/event-globalaibootcamp-2019-we-got-an-amazing-agenda-take-a-look/

Resources and Feedback

I’ll leave some feedback and general tweets at the end of this post.

As a bonus, here it goes my slides around Auto ML with Machine Learning.Net.

Here is the official Keynote:

Tweets

And tweets, more tweets

Happy Coding !

Greetings @ Burlington

El Bruno

#Event – Resources used during my session “Building an Anomaly Detector System with a few or no lines of code” @MsftReactor

Buy Me A Coffee

Hi!

My 1st session at Microsoft Reactor and it was amazing. We had engaging conversations around Machine Learning and Anomaly Detection, and as I promised here are the resources used.

Building an Anomaly Detector System with a few or no lines of code

More Information https://www.microsoftevents.com/profile/form/index.cfm?PKformID=0x8330114abcd

Slides

Source Code

https://github.com/elbruno/events/tree/master/2019%2011%2021%20Anomaly%20Detections%20Reactor

Reference Links

General

Machine Learning.Net

Cognitive Services Anomaly Detector

Azure Machine Learning

Happy coding!

Greetings @ Toronto

El Bruno

#Event – 2×1 on #AI: Anomaly Detection at Microsoft Reactor and ML.Net @MississaugaNetU

Photo by Sachin C Nair on Pexels.com
Buy Me A Coffee

Hi!

Quick post to remember about a couple of events where I’ll participate.

1st, this Thursday at Microsoft Reactor in Toronto.

Building an Anomaly Detector System with a few or no lines of code

November 21, 2019 | 5:00PM – 7:00PM

Reactor Toronto
MaRS Centre, Heritage Building 101 College Street, Suite 120
Toronto Ontario M5G-1L7
Canada

More Information https://www.microsoftevents.com/profile/form/index.cfm?PKformID=0x8330114abcd

And, I’m happy to go back with my friends from the Mississauga DotNet User Group.

Machine Learning Galore!

Thursday, December 19, 2019
6:00 PM to 8:00 PM

More Information https://www.meetup.com/MississaugaNETUG/events/266518936/

Happy Coding!

Greetings @ Toronto

El Bruno

#Event – Resources used during the #GlobalAINight at @MarsDD

Hi!

It was a placer to share some amazing time with the Metro Toronto .Net User Group. Last night was also a special one, we hosted the event at the amazing @MarsDD it was great to have a huge group interested in Artificial Intelligence.

As usual, it’s time to share the resources of the event

Official Resources https://aka.ms/AA60hn1

This includes Workshops like

  • Creating applications that can see, hear, speak or understand – using Microsoft Cognitive Services
  • Learn how to train high accuracy machine learning models using automated machine learning
  • Crash course on building and accelerating deep learning solutions
  • And more.

It also includes a set of materials around Automated Machine Learning (AutoML).

And of course, my materials.

Slides

Source Code: https://github.com/elbruno/events/tree/master/2019%2009%2005%20Global%20AI%20Night

Happy Coding!

Greetings @ Toronto

El Bruno

Resources

Tweets

#RaspberryPi – How to install #DotNetCore in a #RaspberryPi4 and test with #HelloWorld (of course!)

Hi!

During the next couple of months, I’ll be sharing some amazing experiences around AI. Some of these experiences includes IoT devices like a Raspberry Pi, and of course some Machine Learning.Net (ML.Net). Because ML.Net is built with .Net Core, it makes sense to share the 5 simple steps you need to do to install .Net Core in a Raspberry Pi.

Of course, my 1st try was to navigate to the official .Net page (see references), which automatically detect my Linux distro and proposes a set of x64 SDKs.

raspberry pi 4 .net tutorial page with linux distribution options

I’m completely sure that I’m working in a 32 bits environment, however I’ll double check this with the following commands

sudo apt-get install lshw
lshw

After installing lshw I confirm that I’m in a 32 bit environment

raspberry pi 4 lshw information on 32 bit environment

Bonus: lshw is a small tool to extract detailed information on the hardware configuration of the machine. It can report exact memory configuration, firmware version, mainboard configuration, CPU version and speed, cache configuration, bus speed, etc. on DMI-capable x86 or IA-64 systems and on some PowerPC machines (PowerMac G4 is known to work).

Now I need to navigate to the download page to download the specific Linux 32-bit version (see references).

Once I got the image downloaded its time to extract the file on a specific folder. I’ve created a folder named “dotnet” with the following command

sudo mkdir -p dotnet

And to extract the image from the Downloads folder

sudo tar zxf dotnet-sdk-2.2.401-linux-arm.tar.gz -C
/home/pi/dotnet/

Let’s create a symbolic link to the extracted binaries

sudo ln -s /home/pi/dotnet/dotnet /usr/local/bin

And it’s done! Let’s invoke the .DotNet help command to test it

raspberry pi 4 .net core 2.2 installed and test dotnet help

Now we can follow the steps of [.NET Core on Raspberry Pi, see references] to create a Console Application and to test the device.

To create a new console App

dotnet new console
raspberry pi 4 .net core 2.2 create new console app

And test the app

sudo dotnet run
raspberry pi 4 .net core 2.2 console app run

We can publish the app for linux / raspberry pi

sudo dotnet publish -r linux-arm

And copy the generated folder to be used in another device

./bin/Debug/netcoreapp2.2/linux-arm/
raspberry pi 4 .net core 2.2 console app build and publish folder to reuse

So next steps will be some other tests with Raspberry Pi and .Net Core. And the following image is a big teaser of this

raspberry pi 4 .net core 2.2 console app edit in Visual Studio Code

Happy coding!

Greetings @ Toronto

El Bruno

References

My posts on Raspberry Pi

Dev posts for Raspberry Pi
Tools and Apps for Raspberry Pi
Setup the device
Hardware

#NetUniversity – Introducción a Machine Learning (Curso Online)

Buenas!

Existen muchos recursos para comenzar a aprender Machine Learning. Sin embargo, suele ser complicado elegir uno que realmente se adapte a nuestro perfil, y que nos permita aprender de forma coherente y concisa los principios de Machine Learning. Si trabajas con tecnologías Microsoft o eres un programador .Net, este curso es para ti.

Durante este curso veremos los conceptos principales que explican el estado actual de Machine Learning; y aprenderemos utilizando ML.NET (Machine Learning.Net ). ML.Net es un conjunto de herramientas que ha alcanzado de forma oficial su versión Release y que será la base del aprendizaje de Machine Learning. Veremos escenarios para aprendizaje supervisado y no supervisado, escenarios de análisis de sentimientos de texto, escenarios de integración con otras tecnologías de ML, como ONNX o TensorFlow, y mucho más.

Introducción a Machine Learning

Cuando termines el curso, estoy 100% convencido que podrás aplicar estos conocimientos para encontrar los mejores escenarios de ML en tus investigaciones o tu trabajo del día a día.

Y por cierto, tengo algunos cupones de descuento, si los quieres contáctame! Y puedes revisar algunos de mis posts de Machine Learning.Net aquí.

Saludos @ Toronto

El Bruno

#Training – @_NetUniversity, excelentes cursos online de Azure, .Net, y más. Y en las próximas semanas terminaré uno de #MachineLearning para programadores .Net!

Buenas!

Hoy toca volver a escribir en Español, y es para presentar una plataforma excelente de aprendizaje:

Net-University

Programación, bases de datos, .Net, JavaScript, Azure, Windows, Linux y más. En Net University te brindamos entrenamiento de alta calidad con profesionales experimentados, al mejor costo / beneficio que puedas encontrar.

Net University

Actualmente hay 3 cursos disponibles y estamos terminando varios más, incluido uno de Machine Learning para .Net developers, ¡que saldrá a la luz a final de Junio!

Mas información en este link

Saludos @ Burlington

El Bruno