Loads a deep learning model and prepares its execution on a specific target device.

### Syntax

void fil::DL_ReadCharacters_Deploy
(
const fil::OcrPretrainedModel::Type inPretrainedModelType,
const ftl::Optional<fil::DeviceType::Type>& inTargetDevice,
const ftl::Optional<fil::OcrDeployHint>& inExecutionHint,
)


### Parameters

Name Type Default Description
inModelDirectory const Optional<ReadCharactersModelDirectory>& NIL A Read Characters model stored in a specific disk directory. If not set, model is chosen on the basis of inPretrainedModelType.
inPretrainedModelType const OcrPretrainedModel::Type Type of a pretrained model (distributed with Deep Learning Add-on) to deploy. Ignored if inModelDirectory is set.
inTargetDevice const Optional<DeviceType::Type>& NIL A device selected for deploying and executing the model. If not set, device depending on version (CPU/GPU) of installed Deep Learning Add-on is selected.
inExecutionHint const Optional<OcrDeployHint>& NIL Prepares the model for an execution with provided settings in advance
outModelId ReadCharactersModelId& Identifier of the deployed model

### Hints

• In most cases, this filter should be placed in the INITIALIZE section.
• Executing this filter may take several seconds.
• This filter should be connected to DL_ReadCharacters through the ModelId ports.
• By default, the model distributed with Deep Learning Add-on will be deployed. If you have a model trained for a specific case, you can set inModelDirectory to it. Please note, that inModelDirectory have to point to existing directory, containing subdirectory named "models", which, in turn, contains file named "model".
• If inExecutionHint is set to NIL, first execution of DL_ReadCharacters will likely take much more time than following ones. To avoid this, fill inExecutionHint with expected parameters of following calls to DL_ReadCharacters. A size of an analysed area may be obtained from the diagnostic output of DL_ReadCharacters. If you still experience huge performance hit on some calls to DL_ReadCharacters, add another DL_ReadCharacters_Deploy with inExecutionHint filled with parameters from a problematic call to DL_ReadCharacters.

### Remarks

• Passing NIL as inTargetDevice (which is default), is identical to passing DeviceType::CUDA on GPU version of Deep Learning Addon and DeviceType::CPU on CPU version on Deep Learning Addon.
• GPU version of Deep Learning Addon supports DeviceType::CUDA and DeviceType::CPU as inTargetDevice value.
• CPU version of Deep Learning Addon supports only DeviceType::CPU as inTargetDevice value.