S02E25 59mSeason 2

Episode Transcription
Sponsor Message
ARE YOU A DEV is the only program exclusively for .NET developers, learn how to prototype, code, launch and market your mobile app product whether you’re an indie developer starting out or a dev lead wanting to bring mobile development in-house.
Interested in ML.NET? ARE YOU A DEV shows how to utilise ML .NET in your mobile product, walking you through the code, functional limitations and the privacy implication you need to be aware of when using machine learning.
Try out the program for free at areyouadev.com - that’s areyouadev.com and get a complimentary 20 minute 1 to 1 chat with a fellow developer to ask any program or technical questions
Hello everyone and welcome to THE .NET Core podcast - the only podcast which is devoted to:
- .NET Core
- ASP.NET Core
- EF Core
- SignalR
and not forgetting The .NET Core community, itself.
I am your host, Jamie “GaProgMan” Taylor, and this is Episode 57 - ML .NET with Luis Quintanilla. In this episode I talked with Luis about just what machine learning is (and how it’s different from general artificial intelligence), what ML .NET is, the many ways that you can leverage it in your applications, and what the future might hold for machine learning in the .NET space.
So let’s sit back, open up a terminal, type in dotnet new podcast and let the show begin.
The following is a machine transcription, as such there may be subtle errors. If you would like to help to fix this transcription, please see this GitHub repository
Jamie
Luis
Jamie
Luis
Jamie
Luis
In terms of working in the ML space. I’ve been here for, you know, I’ve been working on it for a few years. And again, I’ve used various tools, mostly working with Python, which tends to be sort of - nowadays, it tends to be sort of the platform of choice for building these workflows. But I do I have a very special place for .NET. I actually dabbled in .NET, pre .NET Core, but I didn’t dabble in it too much. And it wasn’t until .NET Core that I was sort of like, “okay, well, there’s a sort of clean slate that I can kind of get on board right and and sort of start trying this stuff out.” And I immediately fell in love with the languages, fell in love with the tooling. So I really like the community and I like the direction that .NET is heading. So I’m just excited to be here talking about .NET and how I can apply that, and how we can use that with machine learning.
Jamie
Luis
Jamie
Luis
So the conference itself, it was the first one it was organised by the community and for the community, which great. And what happened there was it spanned over two days. Bri [Achtman] - who is the the PM on the on the ML .NET side - she and myself we sort of ran a workshop the first day where we sort of went, you know, the end-to-end: so everything that you need to know about ML .NET you know, or at least we covered most of the basics of ML .NET to help you get started. And then on the second day, you had a lot of really great talks from from individuals, folks from the community and everybody just talking about different use cases and ways that you could leverage ML .NET, within your applications. We also had a few sessions, we had interviews that we did with with some of the customers that are using ML .NET in production. And again, it was just a way for to bring awareness and a way for people to become acquainted with ML .NET, and the things that they could do, and how they can leverage it inside of their applications.
It was actually well received for being the first one. It was well received, well attended, and a lot of that you know, I think that goes you know, hats off to the organisers who who did a really great job of putting this together. And it was completely virtual, right. So the nice thing that is certainly COVID has changed how these types of events takes place - I’m sure you saw Build - that as opposed to being in person now everything was virtual. And and there’s a lot of benefits to that, right? Like the reach that you have, and you sort of democratise, who can and can’t attend your events,; the fact that everything’s sort of recorded and after the fact, if you weren’t able to make the event, you can access that sort of on demand. There’s a lot of really great benefits to that. So again, it was very well attended. And by all standards, it was it was a really a great success, you can certainly feel that there’s a buzz. In terms of the community, there’s a lot of people that are sort of engaging, they’re they’re talking, they’re they’re collaborating on different projects that might help or at least bring awareness to ML .NET. And, and that’s great. You know, there’s, there’s even a virtual community that came out of it, you know, probably can include in the show notes at some point. There’s a community on slack that you can join, and you can sort of continue that conversation and talk with individuals who are just as passionate about making use of ML .NET.
So yeah, it was again, great success. And we would love to keep putting on these types of events. Again, to sort of continue to bring awareness and continue to educate individuals on how they can take advantage and build more intelligent apps. Again, using the the tools and using the languages that they know and love in .NET.
Jamie
Luis
Jamie
Luis
Jamie
Luis
Jamie
Luis
Jamie
Luis
That being said, there’s a bit of a positive to sort of not being the dominant platform, right. You can think of that right. It’s one of the things where, you know, if you’re behind if the one that’s in front of you falls off the cliff, you’re able to sort of learn from that mistake and and sort of not make that same mistake yourself, right. And you’re able to learn from the challenges that this other more popular platform and community have sort of encountered, and you’re able to learn from the problems that they’ve solved. So from a .NET standpoint, you know, you’re able to take a lot of those learnings and sort of make the product better from a .NET standpoint. Well, at the same time, you know, making sure that you’re still staying true to your community, you’re still staying true to the way that your users are using the tooling and are using the languages to build applications. So short answer is no, you definitely don’t need to know Python to use ML .NET or to do machine learning with .NET.
Jamie
Luis
Jamie
Luis
Jamie
nuget install machine-learning? What’s the…?Luis
dotnet add package on the CLI or managing NuGet packages.So there’s the code first approach, right where you can use an API and you have full control over what it is that you’re building. That of course requires a little bit of knowledge on your end in terms of what you’re trying to do the types of transfers that you’re trying to achieve. Still with the code first approach, you have this other API called the Automated ML - or AutoML API. And what the AutoML API allows you to do is it allows you to essentially try to find the best model given your problems. So you just need to give it, “here’s my data set. Here’s the problem that I’m trying to solve. I’m trying to find a numerical value and I try to categorise values,” what is it that I’m trying to solve? And then based on that, I sort of let AutoML try to pick the best model for me and it will try different algorithms, different parameters to try to find it will search the space of algorithms to try to find the best model, right? So again, that’s a code first approach. And it’s easy enough, but again, it requires some some prior knowledge.
Now, a level above that. And really, the easiest way to get started with ML .NET is the tooling, right? So you have tools like model builder, which is a graphical user interface that’s built into Visual Studio at least. It’s been built into Visual Studio since version 16.6. of Visual Studio, and what model builder gives you inside Visual Studio is a graphical user interface for both training and consuming your models in your .NET application. So it’s as easy as you create your project - that’s an ASP. NET Core application, WPF, whatever .NET application is that you’re building - and you just right click and hit “Add machine learning”, and then it sort of takes you to a wizard. And this wizard takes you through the process of loading your data, telling it what type of problem you’re exactly trying to solve. You’re able to evaluate your model to make sure that once your model is trained, you can evaluate it to make sure that it’s performing as you would expect it to and then at the end, what you get is you get code that’s auto generated for you that allows you to easily consume your model inside of your end user application. Right? So you have that piece of it. There’s the there’s model builder, and again, model builder leverages AutoML to try to find that best model so it’s iteratively searching, “for based on your data and based on your problem what is the best model for you to use?” The CLI, there’s a CLI component as well, which it works very much similar way it’s built on top of AutoML. But that, again, there’s no graphical user interface, but you’re using it through the CLI, and again, because it’s cross platform, just like a lot of .NET tools, you can use it on Windows, Mac or Linux, right? So you’re not constrained to just using inside of Visual Studio. And the nice thing is, you know, you can of course, there’s the benefit of being able to use that within Mac and Linux environments, right - or Unix environments - but the other real benefit that comes from using the CLI, or where it can be sometimes beneficial to use a CLI, is inside of continuous integration and continuous deployment pipelines as sort of some automated process of sort or some machine learning operations pipeline or MLOps, to again iteratively train your models based on whether that’s changes to your data, or whether that’s changes to your to the code that is used to build your machine learning model.
Jamie
Luis
Jamie
The ML field - the machine learning, artificial intelligence, whatever field - is huge. And we go through waves of, “machine learning is the greatest thing ever,” and then, “artificial intelligence will kill us all.” Now, when I’m talking to my non-developer friends, and they’re going, “artificial intelligence is the worst thing ever.” And I say, “it takes about three days to teach a computer what you look like this. It’s taken millions of engineering hours, to gets to the point where it can classify within 90% probability, whether it’s a cat or not. So we’re decades away, hopefully, from all that horribleness.” But what my question to you is, have you got a quick description of what machine learning is? You know, because there’ll be people who will come in and gone, “Oh, machine learning. That’s great.” And I thought, let’s get the “Get Started” bit done. And let’s talk about what machine learning is. Just for a couple of minutes. I wonder if, because everyone I speak to has slightly different versions of what machine learning is. And very few of them can talk about it without saying artificial intelligence. So in that kind of, they are related, but are they the same thing?
Luis
Which is great, but it’s not necessarily machine learning, right? That’s just AI and and what AI ultimately was trying to do is, you are one way to think about AI is rules based systems, right? So AI is this way of thinking about, “there are processes that I as a human usually do. And if I have some sort of agent that is doing them on my behalf,” think of like a spam filter or something like that: you provide rules to your inbox saying, you know, “ignore all the messages from this person,” or, you know, “move these items into this particular folder.” And now you have this sort of autonomous agent that is doing that for you. But at the end of the day, what you’re doing is you’re giving the system the rules, right? And the system is operating within these rules, which is it’s great, right? And it works at a small scale.
The problem is, can you scale? And how can you start building rules about complex systems? So for example, in the example you’re giving, what does it mean to determine what a cat is? Like how would you even begin to code the rules for a system like that? So machine learning, what it does is you give it examples. And based on those examples, it learns what the patterns are, and the relationships in the data are. And then what it spits out are, what it thinks the rules are to make decisions based on data and based on examples, right? So machine learning is a subset of AI in the sense that it’s using algorithms and data to learn and become intelligent, and still perform the autonomous tasks that you want it to and behave autonomously. But again, it’s using data to back that rather than you providing the samples and input right? As far as how the environment and what the world It operates in should look like. So that’s a way to think about it.
In terms of are we far away? Yeah, we’re certainly very far away from, you know, sort of Skynet scenario. The current systems - while they’re very advanced, and they’re very useful in a lot of scenarios - they’re still very limited. And they’re very targeted. There are some techniques like Transfer learning, right, which is actually one of the things that ML .NET leverages to train custom image classification models. Which basically what that allows you to do is it allows you to take a problem that is solved, and then you apply what you’ve learned for that particular problem to a similar, but unrelated problem. And you’re able to sort of transfer a bit of that knowledge and you’re able to sort of teach your models or customise your models for whatever domain it is that you’re using, you’re able to train them at a faster rate, right? Because now you’re not sort of learning from scratch you’re learning based on you know, prior knowledge that you had before.
That being said, though, you know, it still doesn’t get you towards what the real goal is, which is general artificial intelligence. Which general Artificial Intelligence, that’s kind of the Skynet scenario where, you know, you have this system that sort of able to autonomously learn new things, right? And learn different things based on, you know, different contexts and things like that. So we’re still very far away from that. So yeah, I would say that at the moment, there’s no need to worry. But it shouldn’t be something that’s part of the conversation, right?
It should be something that’s part of the conversation as it relates to, “well, what does it mean for AI, and what does it mean for machine learning systems that are becoming more and more ingrained in our society, to make decisions for us and to make the decisions that impact us as as human beings as well as our society?” So those types of conversations certainly need to take place, and it’s better to have those conversations early rather than you know, when things sort of go haywire. So yeah, it’s it’s very important to think about, but in its current context, not necessarily something that should be something that you that you worry about: that the robots are going to take over.
Jamie
Luis
Jamie
Luis
Jamie
Luis
Jamie
Okay, so we’ve hinted a number of things that, you know, we both said a classification of different types of data. I mentioned chatbots. I think I said something about reading through text and things like sentiment analysis. These are the presumably the sort of bread and butter tasks that ML .NET can help with - the non trivial tasks of, “I have oodles of data. Go find me the answer.”
Luis
So that’s one of the really nice things about ML .NET is that while you’re encouraged, or it’s intended to be used within the .NET ecosystem, it’s extensible, right. And what that means is you’re able to - in the case of image classification - you’re able to both train models, custom models with ML .NET, and the model that’s output is both an ML .NET version of the model as well as a Tensor Flow version of the model. And TensorFlow, for folks who may not be familiar, it’s a very popular library for building machine learning and especially deep learning types of models. And so you can do that and we can train these tensor flow models with ML. NET. You can also consume tensor flow models. Not only limited to using image classification, but let’s say you have a text classification model that is a TensorFlow model. You can consume that and use that inside of your .NET applications using ML .NET.
The other thing, it’s like, “okay, TensorFlow is great. But you know what, I don’t use that I use other frameworks.” Another method of interoperability and extensibility that ML .NET gives you is the ability to work with ONNX models - or Open Neural Network Exchange. And open neural network exchange, what it is, it’s a format, you can think of it as a format that other frameworks may choose to sort of allow both export and consumption of, right. So let’s say that you’ve trained your model in scikit-learn, or you train your model with PyTorch, which is another popular framework for building deep learning models and machine learning models. But at the end of the day, you have to get this model working in your WPF application. So what do you do?
Well, you take the model that’s built in PiTorch, TensorFlow, or scikit you convert it into ONNX - the sort of standard format. And then from ML .NET, you just you’re able to consume that, right? So you’re able to take that model and use it inside of your .NET application with the help of ML .NET. So that level of extensibility, right, is one of the things that really helps, ML .NET shine is like, “okay, well, you can use and you can stay within the .NET domain and building ML .NET type models. But you’re not constrained to that.” So what that allows, it allows for you to, for example, let’s say you have your data scientists that are building the models, and then you are worried about the end user application and making sure that that application is able to leverage those models, you’re able to have both of those worlds sort of come together, and talk, and communicate, and be productive in a fairly seamless way.
Jamie
Luis
Jamie
Luis
Sponsor Message
I’d like to take a moment to tell you that this episode is sponsored by Datadog. Also stick around for the next 30 seconds to find out how you can get a free t-shirt!
Datadog are a monitoring and analytics platform which monitor your infrastructure, application performance, and log management.
Are you looking to move to the cloud, microservices, or .NET Core? Datadog can help with that. Their distributed tracing and APM provide end-to-end visibility into requests wherever they go. Whether it’s across hosts, containers, or service boundaries.
See for yourself! Start a 14-day trial today, and Datadog will send you a free t-shirt!
Find out more at datadoghq.com/dotnetcore - that’s datadoghq.com/dotnetcore - or check the show notes for a link.
Luis
So going back to your question is like, “can I run this inside of my Docker container and my Kubernetes cluster?” The answer is yes, because you can containerize ASP. NET Core applications and deploy them to Kubernetes cluster, you can’t do that, right? Conversely, you also have the IoT scenario where you’re able to if you can run .NET in this IoT scenario, you should also be able to build and run your applications - your machine learning models - inside of an IoT type of device, right? So, in terms of where you’re deploying and how you’re using these models, it’s really depends on where .NET runs. Now there are some scenarios where there are some limitations. But that’s not to say that you couldn’t do it right. So what I mean by those limitations are, there are some things within ML .NET, that require native code. So perhaps that may pose a challenge to whether you can run it on a particular platform, right. But again, because you have proven that .NET runs on this platform, such as web assembly, right, if there are some tweaks or there could be changes made, so that now you can get ML .NET, which is .NET code, you know, running on this platform, then it should be fairly trivial to get those scenarios working. But again, because it’s all dotnet, and it can deploy to any of those target platforms. Ideally, you should be able to use them with .NET from any of those devices and deployment targets.
Jamie
Luis
Jamie
Luis
So what this customer did was they went ahead and they put sensors to measure temperature moisture inside of their dryers for hazelnuts. And using a machine learning model, they are able to determine and be alerted, “hey, The conditions are just right, so that you can now take out the hazelnuts from the dryer,” and you know, package them or do whatever it is that else that you need to do. So, I mean, there’s another scenario where there’s IoT, there’s machine learning that’s enabling sort of this use case that you might not think that that you know, these technologies fit into, but you know, it’s been successfully leveraged by by these companies and these these customers.
Jamie
Luis
So we actually have a sample on a somewhat related to what we’re talking about on docs for ML .NET. And what this uses it’s a data set from I forget what it’s some University here in the United States and it’s a data set of different infrastructure. So we’ve narrowed that so I think I believe we do sidewalks right? And we’re able to we’re trying to do is basically determine, “is this sidewalk or a piece of infrastructure, whether it’s a bridge or wall sidewalk, is it cracked or not?” Right. And in the scenario that we have, it’s fairly simple, right? But you can think of how you can sort of scale that or how you can build an application around that, where, for example, let’s say that you work in the oil industry, and you want to make sure that your pipes are not damaged, right? So you can fly a drone that’s got this machine learning model on top of it, it’s got a camera, and then it’s just looking, it’s looking and it’s like, “are the pipes cracked?” You know, “is there damage to the pipes?” Like what’s going on? And again, you don’t have to send people out to survey those sites. You can just autonomously and intelligently do it with machine learning. And again, ML .NET. And the different technologies sort of enable you to do that. And especially if you’re building these applications in dotnet, right, you’re able to, again, leverage ML .NET to help you with those tasks.
Jamie
Luis
And you know, in terms of you know, your examples. So what we try to do, at least when we’re building content for for docs is we do try to do some more like business type scenarios and things that would be more real world. That being said, though, when you’re thinking of machine learning and AI, it often helps to think in terms of games. And because it’s people can easily understand those things right? And you don’t need to be so sort of like a domain expert to try to understand these these types of scenarios. And I think a perfect example, which it’s somewhat related to machine learning as reinforcement learning, I’m sure you saw, you’ve seen in, you know, AlphaGo. Where this machine was taught how to play go. And it basically beat sort of the grandmasters or, you know, sort of the top players around the world, right? At the end of the day, that was a game, right? So you start off with games, and any sort of branch out. So okay, well, how can we take the learnings from these games where you have some sort of adversarial relationships or whatever it may be or that and take the learnings from there? And then how can we extract them and bring them into some more real world scenario? So yeah, I mean, I would say that it’s actually a really great way to think about in terms of games and simpler scenarios. Because it’s easier to conceptualise. Right.
And it’s a great starting point. You know, there’s in terms of games, like there’s also I think there’s some machine learning model out there or some system that plays Starcraft right, which is very complex. But at the same time, there’s a lot to be learned from from those examples. And those games, right? And those scenarios, because, again, you can kind of take and extrapolate a lot of those things, what it’s learned into the real world.
Jamie
Luis
There’s this other one that there’s, I don’t know if he she’d demo at the at the virtual ML .NET conference. But essentially one of our community members, he’s working with this, he’s trying to build this model and do some data analytics around building the system for like a smart alarm, right? So like smoke detector and fire detector and things like that. And he’s trying to use them with .NET to sort of enable intelligently sort of making detection. of whether certain elements like you know, smoke and things like that are present in the environment using again, IoT and sensors. And sort of alert and build some alerts around that. And again, it’s all built with with dotnet. So there’s certainly a lot of scenarios, there’s certainly a lot of use cases that that can be sort of implemented with not only with machine learning, but with ML .NET, specifically. So those are some few that I can sort of top of my head think of.
Jamie
Luis
Jamie
Luis
Number one is because, you know, it’s .NET if they are .NET developers, and you know, chances are that they’re familiar with, you know, at the very least able to read the code, right, you know, maybe they might not be too familiar with the IDataView and the different concepts that are associated with ML .NET. But at the very least they can read the code, right? They can read and understand what’s what’s happening. That’s to a certain extent, but also the tooling, right? From its only standpoint, it allows you to prototype rapidly, without investing too much time upfront. And you can sort of make a call from there. It’s like, “Okay, well, this is something that will be beneficial to include into my application?” You know, and if it’s all great, I’ll go ahead and include it and put try to put it into production. And if not, that’s okay. I didn’t invest too much time in in sort of going down this rabbit hole. So yeah, that’s definitely encouraging. And we, you know, we’d like to continue doing that, in terms of making it easier for users to get started making it easy for users to build applications, right. And again, at the same time staying within this ecosystem that they’re so productive in.
Jamie
Luis
So, if we talk about .NET there’s a lot of really cool and really exciting projects that are that are taking place and a lot of the pieces to foundations are sort of there from a platform perspective. So one of the things that you have is the work that’s been done on System.Numerics right. And specifically, what is of interest there at the very low levels is the SIMD enable types, right? And some of the things that you get with this SIMD enable types are like vectors and matrices, which are data structures that are very commonly used within machine learning applications. How does that relate to ML .NET, is ML .NET is using a lot of those types to speed up computations and and sort of more efficiently compute data, right?
Sort of at the language level, right? You’re Seeing C# if folks caught the the talk with Mads on on C# 9 and what’s coming for C# 9, there’s scripting capabilities, right? So it’s going to be easier to script with C# 9, right? So we’re used to building you know,
public static, void main. And we have an entry point. And that’s kind of how you build C# applications. But now with C# 9, you’re going to get great scripting capabilities. On the F# side, you already had really great scripting capabilities to begin with. So it’s nice now they’re going to be able to get those with with C#.The other thing is sort of along the lines of tooling, right? So kind of to the original question that you asked me like, “do you need to know Python?” So a very popular library for representing and manipulating data is Pandas right, on the Python side and working with Data Frames if you’re working with R or Python pandas, you’re familiar with the data frame. There’s a data frame API that is still in its early stages, but it’s supposed to if you’re coming from, say a Python pandas type of environment, you can leverage some of the similar functionality from within .NET with this data frame API.
In terms of tooling, you have Jupyter Notebooks, right? So Jupyter Notebooks is a very popular interactive computing environment that data scientists use for exploring their data and things like that. With .NET Interactive, which is this, this sort of this way of it that interactive is among many things is it provides a kernel for running C# code as well .NET - so C#, F# code, and PowerShell - inside of Jupyter Notebooks. So now you’re able to sort of use the same tooling that, you know, data scientists typically use for their data exploration, workflows. And there’s a lot of really neat work being done there. I don’t know if you caught the Scott Hanselman his keynote, but there was a part of the keynote where he was executing code inside of Microsoft Teams, and that code is being interpreted for him behind the scenes that was done at interactive working interpreting code. So it’s a way for against interactively run C# and F# code inside of this, again, interactive environments. So there’s a lot of really neat work being done there. There’s also some integrations happening with VS code.
In terms of building and processing data at scale, you have .NET for Apache Spark, right? So NET for Apache Spark, what it is, is it’s .NET bindings for Apache Spark, which is a very popular sort of platform for doing analytics, right and running ETL jobs and data processing at scale, right. So you have that.
And the really nice thing is that so talking about data frames, .NET interactive and .NET for Apache Spark is you can use data frames in certain scenarios. It’s interoperable with ML .NET. So you can go from exploring your data, and then into building your model sort of in one shot. And you can do that inside of this sort of scripting, iterative computing environment, which is Jupyter Notebooks, right, because it can run .NET it can also run ML .NET. So you can do the scripting inside of Jupyter Notebooks. You can use .NET for Apache Spark to pre process your data that’s going to go into building your model. At the same time, you can use that for Apache Spark to make predictions using ML .NET, right, because again, they’re both dotnet. They’re built on .NET standard, you get sort of, there’s certain scenarios where they sort of interact quite nicely.
And then what’s next for ML .NET. So in terms of all dotnet, it’s, it’s all about first and foremost, it’s about stability, making sure that the platform is stable, that is trustworthy. And then you can sort of trust the models and the results that you’re getting from ML .NET. The other thing comes from basically improving AutoML support. So AutoML right now has some scenarios that are supported, like classification, regression, and different other scenarios. So it’s improving and adding more scenarios to the AutoML or automated machine learning. There’s training for object detection models. So currently, you’re able to consume object detection models, using ONNX format. But there’s some work being done to eventually train object detection models with ML .NET. And then finally, around the tooling, right, just making sure that the tooling, just like .NET developers are used to with Visual Studio and all the tooling involved with .NET making sure that it’s top notch, that it’s easy to use, that you can leverage different scenarios like GPU training, and things like that all these, you know, they’re they’re at different stages of development, and their team is looking at them, sort of, you know, some will make them out later than than others. But those are sort of the things that are happening both across the .NET ecosystem to support these machine learning and AI scenarios, as well as from an ML .NET. standpoint, right.
So and with that said, though, if you there’s something that you really, really want to see in ML .NET. And you know, the team either, you know, doesn’t have the bandwidth or it’s not planning to later it’s open source. So you can totally contribute and build your own right, if it’s not there, you can sort of go build it and everybody from the community and ecosystem benefits from that, right. And that’s the same for .NET for Apache Spark, .NET Interactive, all these things are being developed in the open so if there’s something you really want to see, and you don’t see it there, you’re more than welcome to contribute.
Jamie
Luis
Jamie
But with that being said, What about catching up with yourself and Luis? What’s the best way for people to find out more about what you’re doing, where you’re talking about the work that you’re working on? All of the different things that you’re saying, “hey, you should check this out. Check that out.” What’s the best way to do that?
Luis
Jamie
Luis
Jamie
Luis
Jamie
Luis
The above is a machine transcription, as such there may be subtle errors. If you would like to help to fix this transcription, please see this GitHub repository
Wrapping Up
That was my interview with Luis Quintanilla about ML .NET. Be sure to check out the show notes for a bunch of links to some of the stuff that we covered, and full transcription of the interview. The show notes, as always, can be found at dotnetcore.show, and there will be a link directly to them in your podcatcher.
And don’t forget to spread the word, leave a rating or review on your podcatcher of choice - head over to dotnetcore.show/subscribe for ways to do that - and to come back next time for more .NET Core goodness.
I will see you again real soon. See you later folks.
Useful Links
- Luis on Twitter
- Luis on Twitch
- Luis’ blog
- ML .NET Docs
- ML. NET Repo
- scikit
- AutoML API
- MLOps
- A* Search
- Transfer learning
- general artificial intelligence
- responsible machine learning
- Tensor Flow
- ONNX
- PyTorch
- Pete Gallagher
- AlphaGo
- Creating an IoT Hand with Clifford Aguis
- System.Numerics
- SIMD
- Pandas
- Data Frames
- Jupyter Notebooks
- .NET Interactive
- .NET for Apache Spark
- Apache Spark
- Virtual ML.NET recordings
- ML .NET Slack Community
- ML .NET Workshop