Despite the growth of AI over the last few years, organizations embarking on their own applied ML (i.e., using their own data and model for real-world inference) often struggle, and usually fail, for a variety of reasons.
ML practitioners are often not sure where to start and how to complete their ML projects. Despite all of the new ML tools, many of which are open source, working with them can be complicated, requiring programming and/or PhD-level knowledge. Furthermore, these tools often focus on one area of the ML modeling workflow rather than an end-to-end user experience that encompasses data collection and modeling right through to exporting for real-world inference. Projects often languish or never get out of the experimental phase.
We recognized these issues, and built Perceptilabs to help you create and apply your DL models to real-world problems, easier, and quicker. How did we do that? Glad you asked!
The answer lies in a good starting point and the tools to get to a working model as efficiently as possible. Our solution includes easy access to datasets and pre-built models, along with a rich set of tools to easily transform those resources into working, exported models that you can use for real-world inference. And, programming or PhD-level knowledge for accomplishing this? – it’s now optional.
Let's take a closer look at how you can be applying your ML faster.
Using an existing dataset is one of the best ways to get started. Nowadays, you can find publicly-available datasets online for almost anything you can think of – healthcare to automotive and everything in between. Some datasets consist of raw data that you may need to organize, curate, and pre-process, while others have done that for you.
In PerceptiLabs' Top 5 Open Source Datasets for Machine Learning we listed a few sources including Kaggle, which has quickly become one of our favourites due to its vast collection of datasets. In fact, many of our recent use cases are based around curated datasets that originated from Kaggle, which we've made available on GitHub. In most cases we've also included a CSV file to load this data into PerceptiLabs. This CSV file maps each data file to its classifications. You then load the CSV into PerceptiLabs which it uses to import your data files and set up a model with good baseline settings.
Existing Datasets Ready to Go
Alternatively, you can let PerceptiLabs do this for you. As of 0.13, PerceptiLabs, can now directly load a number of publicly-available datasets and automatically create models from them as shown in Figure 1:
This means you can pick your data and achieve a working model very quickly without having to create the CSV file. For example, using the public Face Ages dataset listed in Figure 1, Figure 2 shows the model generated by PerceptiLabs:
Pre-processing Data Saves you Time
Pre-processing this data is also important, and PerceptiLabs has you covered here too. When you define the data in PerceptiLabs' Data Settings popup, you have the option to configure pre-processing options for certain columns (e.g., a column that lists image files). In Figure 3 below, you can see some of the pre-processing options available for images (e.g., resize, etc.):
Having PerceptiLabs perform this pre-processing for you saves you time, because you don't have to manually perform this for each image, or conjure up some sort of external data pipeline. In addition, these settings are saved as part of your project in PerceptiLabs, so you can easily change them at any time to experiment with different settings. This also eliminates the need to hunt down these settings in the future, a task that would normally be required with external processes.
Once you have all of this set up, you can easily swap in your own data (e.g., a different CSV) to take the model in new directions or expand on its capabilities.
Customizing Models and Components
One of the greatest aspects of PerceptiLabs' visual approach is that you can ease into the customization of your model based on your requirements and/or skill level. You can choose to do everything visually, including replacing Components, adjusting their settings, and configuring both data and training settings. Figure 4 below shows the settings for a Convolution Component:
For you low-coders, you can do all of the above, plus easily view the TensorFlow code for any Component in the Code Editor and make adjustments to Components programmatically as shown in Figure 5:
Another option to get to applied ML faster is to employ pre-trained models. You'll see in many of our use cases we employ Deep Learning Components like VGG16, which have been pre-trained with ImageNet data. Using these Components is easy with PerceptiLabs because you can easily swap them in.
For example, in our Classifying Fruit use case, we took the baseline model that PerceptiLabs created from the data, removed the Convolution and Dense components, and replaced them with a single VGG16 Component. Another example is our Basic Image Segmentation tutorial where we use a single U-Net Component that provides the option to select different backbone models.=
You can also use our Custom Component to take things even further and programmatically implement a Component from scratch. Using this, you can import external modules and take advantage of external resources for applied DL. To make this work, all you have to do is create a new Custom Component by opening the Code Editor and start writing TensorFlow code. You can use it in a variety of ways such as to load Keras Applications for Transfer Learning or to load a model from TensorFlow Hub. For example, the following code shows the two lines you'd need to add in order to load a model from TensorFlow hub:
import tensorflow_hub as hub
Apply your Deep Learning Now
Using publicly-available datasets, pre-trained models, and the rich tools provided by PerceptiLabs, ML practitioners of different backgrounds and skill levels can easily and efficiently get to a working model faster. In addition, our low-code, visual approach allows you to decide how much you want to customize your model based on your skill level and/or project requirements. Collectively, these tools and resources help you apply DL models to real-world use cases, faster and easier.
Ready to start building and applying your DL models? Follow our Quickstart guide to get started with PerceptiLabs today!