Synchronize with the Latest Training

Training Media Server updates the training database. However, the training is not used in analysis operations until Media Server has synchronized with the database. Synchronization loads the data from the database into memory and makes it ready for use. Synchronization is necessary because several Media Servers can share a single database, and you can use any Media Server to perform training.

The default configuration ensures that analysis uses the latest training data, but you can customize Media Server for your use case.

Automatic Synchronization

The default configuration ensures that analysis uses the latest training data, no matter how often you train Media Server and how much training data you add to the database.

Before it starts a process action that requires training data, Media Server synchronizes with the training database and waits for the synchronization to complete. This is because the SyncDatabase parameter - available for face recognition, object recognition, and image classification tasks - has a default value of TRUE.

Media Server also synchronizes with the database at regular intervals (by default, every second). You can configure the interval between each synchronization by setting the SyncInterval parameter in the [Database] section of the configuration file. This is important for processing video streams, because when you process a stream Media Server could continue running the same action for days or weeks. Automatic synchronization ensures that Media Server regularly loads the latest training without you having to intervene.

Manual Synchronization

In some cases, you might want to control when Media Server synchronizes with the training database:

To change the frequency at which Media Server automatically synchronizes with the database, or disable scheduled synchronization completely, set the parameter SyncInterval in the [Database] section of the configuration file.

To prevent Media Server synchronizing with the database before it starts a process action, set SyncDatabase=False in the relevant analysis tasks. With this setting, be aware that process requests could use outdated training. This is especially likely if you add large amounts of training data to the database and then immediately start a process action, because Media Server might not have finished training before it starts processing.

If you disable automatic synchronization but want to ensure that Media Server has synchronized with the latest training, run the SyncFaces, SyncObjects, and SyncClassifiers actions before you send the process action. These actions force Media Server to synchronize with the database. After they complete, you can be sure that Media Server is using the latest training data.

Reduce Memory Use

With automatic synchronization, described above, Media Server loads all training data into memory. If you have an extremely large training database that contains many face databases, object databases, and classifiers, this can consume a significant amount of memory.

You can remove all face databases, object databases, or classifiers from memory by setting SyncInterval=0 (to disable the automatic synchronization) and running the action UnsyncFaces, UnsyncObjects, or UnsyncClassifiers.

You can then load the training you need using one of the following methods:


_HP_HTML5_bannerTitle.htm