The data required by PerceptiLabs must consists of:
- a .csv file that maps data (e.g., image files) to labels (see CSV File Format). Generally you will manually create this file, but you can also use some of the example files that we've made available (described in the workflow steps below).
- (optional) additional raw data (e.g., .png image files) that PerceptiLabs will use as a data source.
This topic describes the various settings that you can configure in the Data Wizard.
After loading your .csv file, the Data Wizard requires you to define the data so that PerceptiLabs can prepare to train on it:
The main elements of this screen are as follows:
- 1.Name (available when accessed via the Data Wizard): Uniquely identifies the model and becomes the name of the directory where the model.json file is stored (this is the file that stores your PerceptiLabs model).
- 2.Model Path (available when accessed via the Data Wizard): allows you to specify a unique name and path to store your model. PerceptiLabs will generate a sub directory in the model's location using the specified model name. The model will be saved to a model.json file within that directory every time you save the model. The base path defaults to ~/Users//Documents/PerceptiLabs/Default.
- 3.Dataset Column Definitions: allows you to configure each column.
- 4.Column Pre-processing Settings (available only for certain datatypes (e.g., images, numerical data, etc.)): displays a popup with options to specify how PerceptiLabs should pre-process the data before loading it. See Pre-processing Your Data for more information.
- 5.Dataset Column Examples: shows a small sample of the columns and data loaded from the .csv file so you can visualize what the .csv file looks like.
- 6.Input/Target: specifies whether the CSV column shown directly above this field represents input or target (classification) data. In the screenshot above, the images column is defined as Input and the Labels column as Target. To ignore the column set it to Do not use.
- 7.Data Type: specifies the type of data represented in the column directly above this field. In the screenshot above, the images column is configured as representing image data, and the labels column is configured as representing categorial (i.e., classification) data. The currently available data types are:
- 1.Categorical: strings or numbers; they are automatically converted into numbers and OneHot encoded.
- 2.Image: loaded as a path to image data; the supported file types are: .jpg, .jpeg .png, .tif and .tiff.
- 3.Text: string data.
- 4.Numerical: numerical data.
- 8.Data Partition: partitions the data into three sets:
- 1.Training: core training data on which to train the model.
- 3.Test: data to test the model against after training, to see how well the trained model handles data it hasn't seen before.
- 9.Randomize partition: when enabled, constructs the partitions using a random order of data samples.
- 10.Seed: seed used to randomize the partition.
- 11.Reload dataset: returns to the .csv file selection screen.
After completing this configuration, click Create on the bottom right-hand corner to generate a working model.
The pre-processing settings tell PerceptiLabs how to pre-process your data before importing it in your model. For example, you can use it to normalize data, resize images, etc.
Depending on the type of data, some or all of the following may be available:
- 1.Normalize: lets you choose what method to use to normalize your data, for bringing it into a specific range of values. This is useful for most cases as long as the value itself is not of importance.
- 2.Random Flip: doubles the size of the dataset and randomly selects specific images to flip.
- 3.Resize: resizes the image. Set to Custom to specify the width and height in pixels to resize each image. Set to Automatic and select one of the following options:
- 1.Dataset mode: determine the mode image size and resize all images to that size.
- 2.Dataset mean: determine the average image size and resize all images to that size.
- 3.Dataset max: determine the largest image size and resize all images to that size.
- 4.Dataset min: determine the smallest image size and resize all images to that size.
- 4.Random Rotation (based on RandomRotation layer): randomly rotate some of the images using one of the following methods. Note that Random Rotation also doubles the size of the dataset.
The Factor can be set to between 0 and 2pi to specify the maximum. It also randomly rotates down to the negative version of that value. Set Seed to seed the randomness.
- 1.Reflect (d c b a | a b c d | d c b a): the input is extended by reflecting about the edge of the last pixel.
- 2.Constant (k k k k | a b c d | k k k k): the input is extended by filling all values beyond the edge with the same constant value k = 0.
- 3.Wrap (a b c d | a b c d | a b c d): the input is extended by wrapping around to the opposite edge.
- 4.Nearest (a a a a | a b c d | d d d d): the input is extended by the nearest pixel.
- 5.Random Crop: randomly crop some of the images to the specified size. This also doubles the size of the dataset
Click Save (6) to save your settings.