# Fish Categorizer

In this tutorial, you will build a classifier model to recognize fish species in photographs. Such a model can play a crucial role in species identification, conservation efforts, sustainable fishing practices, aquaculture management, research, and education. It may improve our understanding of fish diversity, support ecosystem preservation, and contribute to responsible interactions with aquatic environments.

To create the model, use the publicly available Large Scale Fish dataset, which contains 8 different species of fish collected from a supermarket in Turkey.

# Adding the dataset

Go to the Owned datasets and click Add new dataset. Enter a dataset name, select Personal dataset type, and click Create.

Create dataset
Create dataset

The Large Scale Fish dataset has been saved in a .zip archive. Click Add archive.

Upload view
Upload view

When the archive is loaded, click Upload.

Upload archive
Upload archive

Before uploading, decide what the application should do if the size limit is exceeded. For the purposes of this tutorial select Scale invalid images.

Scale
Scale

The uploading task is performed in the background. You can monitor the progress in the Dashboard or Datasets view.

# Editing the dataset

Go to the Datasets and click on your Fish dataset.

Fish dataset
Fish dataset

As you can see, some categories such as ground truth (GT) images are not needed for our training, let's remove them. To do this, click on the three dots next to the category you do not need. A drop-down menu will appear, select Delete.

Delete category
Delete category

After deleting all categories containing GT images, your dataset should look like this:

Dataset
Dataset

# Merging categories

The dataset is not yet ready for training because some categories are repeated. You can merge them in the Dataset view or when creating a model. For the purposes of this tutorial, we will do the former. Click Merge categories in the right tab.

Merge categories
Merge categories

In the pop-up window, click the drop-down button and select the Gilt-Head_Bream category, click Ok.

Next, merge the misspelled Hourse_Mackerel category into Horse_Mackerel. Your dataset should look like this:

Dataset
Dataset

# Creating the model

Go to the Models section and click Add new model. Select Classification.

Add new model
Add new model

Select all categories except Shrimp, as they are not a fish.

Choose dataset and categories
Choose dataset and categories

Skip the merge categories step and click Next. Enter the name of your model and select the Configure automatically option. Click Next.

Set model parameters
Set model parameters

Set the accuracy to 90%. Click Start training.

Configuration
Configuration

You can view the training progress in the Dashboard view, in the Notifications tab, or in the Models section.

# Testing your idea

When the training is complete, go to the Models section and click on the Fish Classification model.

Models section
Models section

In the Conversion section, select the NVIDIA MAXWELL architecture.

Select hardware
Select hardware

Once converted, click on the device to connect to it.

Select device
Select device

Copy the registration code to the clipboard, then click Copy token and go to device. This will open a new tab in your browser with a web app that is now using your local device.

Connect to the device
Connect to the device

Paste your registration code into the Token field, and create a password. Once registered, the device will change its status to Connected in the Live Testing section of the OSAI app.

Click on the Fish Classification model to download it to the device's local memory.

Model selection
Model selection

Click the Upload File button. You can upload either a photo or a video. For the purposes of this tutorial, we will use image files.

Upload file
Upload file

Once the image has been processed by the web app, you can view the results.

# Results

Trout
Trout

Striped Red Mullet
Striped Red Mullet