Hello, everyone.
In previous videos, we learned what is the DL workbench and how it helps you working
with deep learning models.
Today, we will learn how to get started with DL workbench, how to import your first model,
See how it works,And then what can be the first step when optimizing your model?
So in order to start with the deep learning workbench, you need to create a project.
And for that, we need to go to the create project page.
So once we are there, we can see that there are four requirements that we need to fulfill.
The first and the most important stage is importing the model.
Then we need to select the target and the device where we want to profile our model.
And finally, we need to select the data set.
So the first step is importing the model.
There are two ways of doing that.
The first one is selecting the model from the open models zoo.
Open model zoo is a list of models that are publicly available which also contain Intel
pretrained models that solves numerous use cases, starting from classification, object
detection to segmentation, face detection and many others.
So you only need to select a model that solves your use case and then proceed importing.
The second way of the model is selecting the original model.
So let's say you want to work with the model that is not available in the open model zoo
or data scientists or maybe yourself have already trained the model and you want to
import it.
Then you need to go to the original model path and upload the files and then import
the model.
So let's start and focus mainly on the open model zoo import.
And for that we will select the SSD mobile net V2, which was trained at the Tensor flow
model and is quite a popular model to solve the object detection use case.
and then we can proceed to importing it.
So the only step that we need to fulfill is choosing the precision.
So there are two options.
The first one is Floating point 16, and the second one is floating point thirty two.
So what is the difference?
Open VINO is working with its own format, which is called intermediate representation,
or IR for short.
Generally, it is recommended to have your model converted to the intermediate representation
format to leverage all the capabilities that open vino provides.
And that's actually what’s happening during the import stage.
So you need to decide what is the precision of your model?
Is it a floating point sixteen or thirty two?
In our case, floating point 16 is generally recommended as it has a smaller footprint
and does not reduce accuracy.
So we're selecting this precision and then we proceed to the create project page and
then our model is successfully imported.
So our next step is selecting the target and the environment, so in my case, I'm running
the DL workbench locally, so I have only local
workstation available and the CPU is the accelerator.
So I'm selecting these items and then proceed to the data set.
So importing the validation data set means that you need to upload the data set of one
of the supported formats.
So you need to understand what is the data set that was used during the model training
and you need to upload the appropriate data set.
It shouldn't be the full data set.
It can be a subset, but it is very important to follow the format of the data set that
was used during the training process.
As we can see in the DL workbench, there are numerous formats supported.
They are Imagenet, Coco, Pascal VOC and many others.
It will also support non annotated data sets.
So in our case, we're working with the SSD mobile net V2 trained in tensorflow and it
was trained on the COCO data set.
So how can we know where we can get the COCO data set?
We can use the tips to the right, we can use the documentation, and there we can not only
read what is the structure of the COCO dataset, but also we can proceed to the website where
we can easily obtain the archives with images.
In our case, it's 2017 validation images and then the annotations, which are also corresponding
to 2017 challenge.
Once we have downloaded archives, we need to make some small preparation that is specific
for the COCO dataset.
If, for example, you are importing the VOC dataset, you don't need to make any special
transformations of the data set.
So we need to archive our images and annotations, create folders, images and annotations.
And please note that for the COCO annotations, we need to keep only the validation ones.
So once we have done that and we can see here the example, we can archive that folder and
this is the dataset that we can import.
So we select this dataset, start importing the dataset, and once it is imported, we can
see that it supports the object detection use case that perfectly matched the use case
that our model supports.
So before we actually proceed and creating the project.
Let me take a minute and explain to you what is the non annotated dataset.
So the non annotated dataset is just a collection of images.
So when can I use the non annotated dataset? when I care about the accuracy, I want to
perform accuracy where calibration, I want to measure accuracy of my model, then, of
course, you might need the validation data set which is annotated.
If you care about the performance or you want to perform default calibration, then you still
can work with not annotated datasets.
So it's up to you to decide whether you need it or not.
So let's create the first project we need to select the models, the environment and
the data set.
Again, we create a project and the first inference happens.
So the first profile experiment gave us that the SDD mobilenet on my C.P.U gives only 17
frames per second.
That's not so much right.
So before we actually start optimizing our model and preparing for production, let's
see whether this model actually works.
So we need to go to the perform tab and then to the visualize output ribbon.
And there we can drag and drop any image and see how our model works on that.
So let me choose this beautiful image with elephants, test the model on this image, and
we can see that the model actually predicted two elephants.
If we play around with a threshold, with a model confidence, we can see that the model
also predicted and found the elephant in the background.
That's quite exciting.
Then we can use another image with bears and see how the model works with that, we see
that the model predicted and found a bear in the front, and if we decrease the confidence
level, we can see that the second bear is recognized as well.
So our model Works quite nice.
But how can we proceed and optimize it?
Let's go to the analyze tab and see what the DL workbench provides us.
so we can see that the performance improvement is available.
And once we click there, we can see that DL Workbench actually recommends us perform an
INT8 calibration of our model that should dramatically increase the performance of the
model.
If you have any questions, if you want to provide some special feedback, please don't
hesitate and ask us on the official intel forum.
Thank you very much for watching.
See you.
Bye bye.