Building a deep learning model can be complicated. However, Watson Studio has a great feature that allows data scientists build deep learning models simply by using UI. In this demo, I'll show how to build a deep learning model in Watson Studio and run the model by leveraging the cloud computing power of IBM step by step.
We use fashin_mnist in our demo, which is a dataset of Zalando's article images. More details can be found in https://github.com/zalandoresearch/fashion-mnist
There three data files can be downloaded in the "data.zip". Download the zip file to local device and unzip it
The dataset includes a training set, a testing set and a validation set, which is required by the neural network modeler in Watson Studio. All sets have labeled images.
Watson Studio provides a suite of tools for data scientists, application developers and subject matter experts to collaboratively and easily work with data and use that data to build, train and deploy models at scale. (offical)
In my demo, as I mentioned at beginning, I can use Watson Studio to build a deep learning model without writing a single line of codes. So let's get started to see how could this happen!
First, get a free IBM cloud account at bluemix.net and then log in. The console looks like this:
The reason why we should start from an IBM cloud account is that the Watson Studio is a product based on the IBM cloud. Deep learning models have requirement in computing power, and that's the advantage of using cloud computing. One thing we must notice is that we can get basic cloud computing service for free (no kidding!) on the IBM cloud! And even the free plan has strong computing power using GPU!
Now let's click Menu at top left and select Watson
Scroll down a little bit and click "Try Watson Studio"
Click "Continue"
Click "Get Started"
The page jumps to Watson Studio Dashboard
On the dashboard, click "New Project", choose “Complete” and click "OK"
Type in a project name and click “Add” on left (Select storage service)
Scroll down, choose Lite (free) and click "Create"
Click "Confirm".
The storage service is very common nowadays. We need this cloud storage to store our data, our model and literally everything relates to our project in Watson Studio. (It's free! 25G!)
After confirming, click “Refresh” in the “Define Storage” panel and then click “Create”
The page jumps to project dashboard
Click on "Setting" tab, scroll down to "Associated Service", click "Add service" and select "Machine Learning". (We need to associate instances of services with projects in order to get the most out of them in Watson Studio)
Choose the Lite(free) version and confirm
Before we upload the datasets, we want to create two buckets in our cloud object storage, one is for storing the training data and one is for storing the results of deep learning model. Obviously training data are the three data files we prepared for the model. As for the results, they are logs, model files, etc mention that we write the logs to these files as the models are training and so on. Go to the IBM cloud console (https://console.bluemix.net/dashboard/apps). Click the storage we just created
In Buckets, click “Create bucket”
Type in the name “image-demo” for storing training data. Repeat the process and create “results-demo” for storing results.
Click the image-demo bucket
Click “Add objects” and upload the prepared fashion_mnist dataset
Now we have datasets on cloud storage
Finally we get to build our model! Go back to Watson Studio project page, click Assets tab. Scroll down to Modeler Flows and add new flow
Type the flow name and select flow type as “Neural Network Modeler” (NNM), click "Create".
NNM is a graphic interface that you can add deep learning layers, manage the data flows and tune the parameters. Like I said before, there is not a single line of codes I should write. I will get my deep learning model done by using NNM.
(You can definitely try the "From example" tab to explore more about the model builder. IBM integrates many examples to get you familiar with this feature)
Now we can start building our model by clicking Palette at top left side and drag the layers from it
Assume we build a model like following, it is a nice way of visualizing how the data flows from one layer to another following the arrow
Double click "Image Data" and click "Create a connection"
Select corresponding dataset and expand Settings and change the parameters
Double click Conv 2D layer and change parameters, repeat for all Conv 2D layers
Double click Pool 2D layer and change parameters, repeat for all Pool 2D layers
Double click Dense layer and change parameters
Keep others default and "Publish training definition"
Click "Publish", this will save the training definition in your Watson Machine Learning repository. You can check it in your IBM cloud
Now that we have model built, go back to project dashboard and click Assets tab, scroll down to Experiments and add new experiment, type in the experiment name and select Cloud Object Storage bucket
Select “Connection to project COS”. Select the buckets we created. (You can also create new buckets if you like. However, please make sure your data is in your new bucket)
Click "Add training definition"
Choose "Existing training definition" and select our model. Click "Select"
Click "Create and run"
Wait for the task to be completed
Completed! click on the run to see more details
Look at the logs, it's a nice model!
Now we can save and distribute our model in Python code. We finally can see some codes :)
Go back to Assets and click the model we just built in "Modeler flows". Click the download button and choose the model you want. In my demo, I chose "Download as Keras model".
Open the downloaded model. Watson Studio writes all those complicate codes and processes for us!













































