>> You're not going to want to miss this episode
of the AI Show where you can build
complex machine learning workflows
by simply dragging and dropping. Make sure you tune in.
[MUSIC]
>> Hello. Welcome to this episode of the AI Show.
We're going to talk about the Designer.
I have with me, Santos,
tell us who you are and what you do buddy.
>> My name is Santos Belay,
I'm a Program Manager in the Azure Machine Learning Team.
>> That is what are we talking about today?
>> Today we're going to talk about
the Azure Machine Learning Designer,
which enables drag-and-drop way of creating pipelines.
>> Fantastic. So when we talk about drag and drop,
I'm reminded of the Azure Machine Learning Studio of yesteryear.
How are those two different?
>> Well, you know that so the Azure Machine Learning Pipelines
are used to create Machine Learning Workflows.
So we are making more investment into a pipelines,
and we're bringing in more capabilities into the product.
So that means the citizen data scientists who have been using
the Legacy Studio and the professional data scientists
who have been currently using the Azure Machine Learning SDK,
they both can use
the Designer to build machine learning workflows.
>> I see. So if I'm understanding correctly,
because I know in the SDK
currently with Azure Machine Learning Service,
you can build really complicated workflows and pipelines,
and you can do that all in code if you want.
What you're saying is that the new designer takes
advantage of that underlying infrastructure.
>> That's exactly right.
>> Fantastic. So what are the advantages of using Designer?
>> So as you know that when you are using the Designer,
you can create the simple workflows really, really easy.
So it's a drag-and-drop facility.
You don't have to know about code.
So you don't have to know about the SDK that much,
you don't have to use the ID and a Jupyter Notebook.
At the same time, if you are a professional data scientist,
you can create complex workflows using the SDK but
can still visualize them in the Designer.
So that way, if you want to make
a small change in one of the steps in that complex workflow,
you visualize that in the designer first and then clone it,
making a copy of the workflow,
change that one simple step,
change in the step or make a change in the parameter and you
can submit that same workflow directly from the Designer.
You can also see the progress of the steps.
You can also see the entire status of the pipeline,
or you can go into the different outputs,
logs of individual steps, etc,
right from the Designer UI.
>> That's pretty cool because my sense is that you can use
the Designer as a rapid prototyping tool and then find ways.
It's all the same plumbing in hand.
So my question to you,
is there a parity between what you can do in the SDK and
what you can do in the Designer so people can collaborate?
>> So right now, we are starting with supporting
the Python scripts step that you're familiar with in the SDK.
We will be supporting the rest of the steps as well.
So you can create custom modules,
publish them, and reuse them as you need it.
>> Fantastic. So I really love the idea of really
prototyping things fast and then fine-grain,
doing it the way you're used to with Python, for example.
So I feel like we've talked about this enough.
Can you give us a bit of a demo?
>> Yes.
>> All right.
>> So as you can see in this particular screen,
I'm looking at this example notebook that we already have,
which has three different steps that
explains the data dependency between the steps.
So if you look more closely into this,
here I am creating a train step and extract
step and the comparison step using the SDK.
Now let's see, there is a lot of code.
You're using Jupyter Notebook,
and you are actually dwelling into the SDK details here.
Now if you go over to the designer phase,
you landed in the landing page,
and then you see the black pipeline.
You click on the plus sign to create a new workflow,
which will give you this beautiful canvas.
So you can just drag and drop your data sets.
So in this case, we're using couple of data sets.
You can customize them with the path that you have,
and then the Python scripts steps,
you can drag and drop the Python scripts steps,
and you can customize those
just using the parameters that it takes.
>> This is pretty cool because you're showing me a lot of code.
Why? The reason why is because
you were showing me in the SDK how you would
actually create this data structure or flow or workflow,
but now you're showing me, this is literally how you do it.
You just drag, drop, do the things.
>> Exactly. So if you look at, let's say,
one of the customizations to the Python script step,
so all you need is,
you need to give a name,
which I'm going to give it here as compare
which is what exactly that we had in the SDK,
and you will go and fetch the actual Python script behind
that step and give the name of the Python script file.
Then I'm going to freeze a few,
I'm going to cut and paste the parameters here.
We're going to make this more easier as we go along.
>> When I'm putting parameters into a Python script I,
feel like I've been doing this
my whole programmery-type life when it comes to data science.
I'm not super worried about that,
but it's cool that you can actually do that.
>> Yes. So you can select a compute target first step,
or you can actually select compute target for the interval flow.
So once you have done that and give a parameter here,
then you are ready to define that step.
This all it takes to define
a particular step, a Python script step.
>> That's cool.
>> Once that is done, you can just connect the arrows,
connect the nodes together to build that graph.
Once that is complete, you can just
submit using the "Submit" button,
which will take you to
the finished product here, finished graph here.
>> So as we look at this,
so when I actually hook the datapath up to the transcript,
for example, it's getting
a reference into that transcript. Is that how it works?
>> Correct. So the data flow,
that's an implicit data flow from one step to the next step.
So that also means that the proceedings step
will have to be finished before the next step starts.
>> I see. When I'm running my code,
I'm basically pointing to a directory and saying,
let's just say because I'm a computer vision guy,
I'm going to look at a directory that has
all the dog and cat images, for simplicity sake.
How does it know from the datapath how to get that data?
>> Correct. So in the compute target,
we are going to mount that datapath or
copy the datapath depending on how you
specify the connection should be or the download should be.
So either it will be downloaded or mounted towards
the compute target depending
on whether the compute target supports or not.
Once that is there, you have that data right there,
and then the script gets run using that data, produces an output.
Again, it is written to intermediate data file.
>> That's cool because, as I'm thinking about it,
basically I could use a datapath as
one of the arguments to my script,
and then it's just the same script as I was using before.
>> That's exactly right.
>> This is awesome. So we spent
about a couple of minutes talking about this.
Tell us where can we go to find out more.
Obviously, there's tons more stuff you can do with the Designer,
but we don't have a lot of
time. Tell us where do we find out more.
>> So it's in the Azure Machine Learning Portal.
So we have a lot of documentation that
is coming up that is in Ignite time.
>> Fantastic. It's coming out at Ignite,
which is something that you already have access to.
So what we'll do is we'll put links
below so everyone can get access to that.
I'm personally a huge fan of saving time,
and I feel like this really
saves a lot of time. Thanks so much for your time.
>> Thank you, Seth.
>> Thank you so much for watching.
We learned all about the Azure Machine Learning Designer
and how you can create workflows,
really amazing workflows for
machine learning just by dragging and dropping.
Thanks for watching. We'll see you next time. Take care.