Train a Neural Network

V7's Neural Networks feature allows you to train and run models directly from V7 in a matter of minutes. In this series of guides, we'll show you how to train your first model, how to add model stages to your labelling workflow, and finally, how to run models from V7 through the API. Let's start with getting your first model up and running.

Getting started

As with any model, the results that we get out of the model that we run in V7 will be heavily dependant on the data that we use to train it.

Each model that you run with the Neural Networks feature will be based off of the data in a single dataset. Before we train our model we want to make sure that two things are true of our dataset:

  1. All of the files that we'd like to use are in a Completed state.
  2. There are enough instances (at least 100) of each class in the dataset for the model to be able to learn them, spread over at least 10 files.

If you've got a dataset full of completed items with well-represented classes throughout, then you're ready to start training!

Create a new model

Select Neural Networks from the side menu. Hit New Model to select the model type that you'd like to use, and name your model.

Model Type

Description

Instance Segmentation

This type of model encloses each individual object in a polygon, around which will be an enclosing bounding box. Instance segmentation models are trained on the polygons in your training data, and are are only compatible with annotations made in V7 with Auto-Annotate, the Brush Tool, and the Polygon Tool

Classification

This type of model provides the most likely tag given to an image, based on its pixel content. Classification models are trained on the tags in your training data, which can be easily added to files in bulk from the Data page, or one by one in the workview of any file.

Select the dataset that you'll be using and toggle the Instances/Images options to see the distribution of classes in your dataset by number instances and number of files. Hover over any class to get V7's take on how it will perform.

Deselect any classes that you will not be training your model on, and click Continue for a breakdown of how your data will be split between Training, Validation, and Test sets.

Check the Summary for an estimate of how long training will last, and click Start Training. V7 will email you to let you know when training is complete.

Understand your results

Once training is complete, you'll have two important pieces of information to assess its performance before testing it out.

The first is the model's mAP (mean average precision) which can be used as a percentage score of its results. If your score seems a bit low, keep in mind that mAP is an inherently strict metric - an mAP of 85% or above can be seen as close to perfection.

The second is Loss. The number that V7 displays is the loss function at the latest training epoch. The lower the loss, the fewer mistakes the model is making. Here's what we want to see:

The loss curve of a well-learned model should follow an L-shape, decreasing sharply at first and approaching a flat line over time. This is a visual representation of your model making less mistakes over time.

If your metrics are looking good, then it's time for the fun to begin. You can now run your model through the API, and use it to automatically label your data