read_dl_classifier
名称
read_dl_classifier
—从文件中读取基于深度学习的分类器。
签名
read_dl_classifier( : : FileName : DLClassifierHandle)
描述
算子read_dl_classifier读取由 write_dl_classifier
编写的神经网络。结果,返回DLClassifierHandle
句柄。
HALCON提供了预训练的神经网络。这些神经网络是训练自定义分类器进行图像分类的良好起点。它们已经在大型图像数据集上进行了预训练。提供的预训练神经网络是:
'pretrained_dl_classifier_compact.hdl':
该神经网络旨在提高内存和运行时效率。
该分类器期望图像为“real”类型。此外,该网络是为某些图像属性而设计的。可以使用
get_dl_classifier_param
检索相应的值 。在这里,我们列出了用于训练分类器的默认值:
image_width': 224 image_height': 224 image_num_channels': 3 image_range_min': -127 image_range_max': 128
该网络不包含任何完全连接的层。网络架构允许更改图像尺寸,但要求最小的“ image_width”和 “ image_height” 为15像素。
'pretrained_dl_classifier_enhanced.hdl':
该神经网络比“ pretrained_dl_classifier_compact.hdl”具有更多的隐藏层 ,因此被认为更适合于更复杂的分类任务。但这是以增加时间和内存需求为代价的。因此,例如,与上述紧凑型网络相比,在训练过程中必须减小"batch size",请参见
set_dl_classifier_param 。
该分类器期望图像为“real”类型。此外,该网络是为某些图像属性而设计的。可以使用
get_dl_classifier_param
检索相应的值 。在这里,我们列出了用于训练分类器的默认值:
image_width: 224 image_height: 224 image_num_channels:3 image_range_min:-127 image_range_max:128
该网络体系结构允许更改有关图像尺寸的内容,但要求最小的“ image_width”和“ image_height” 为47像素。没有最大图像大小,但是较大的图像大小将显着增加内存需求和运行时间。更改图像大小将重新初始化完全连接的图层的权重,因此需要进行重新训练。
'pretrained_dl_classifier_resnet50.hdl':
相对神经网络“ pretrained_dl_classifier_enhanced.hdl”,此分类器适用于更复杂的任务。但是它的结构不同,带来了使训练更稳定和内部更强大的优势。
该分类器期望图像为“real”类型。此外,该网络是为某些图像属性而设计的。可以使用
get_dl_classifier_param
检索相应的值 。在这里,我们列出了用于训练分类器的默认值:
image_width: 224 image_height: 224 image_num_channels:3 image_range_min:-127 image_range_max:128
网络体系结构允许更改图像尺寸,但是建议最小“ image_width”和“ image_height” 为32像素。没有最大图像大小,但是大图像大小会显着增加内存需求和运行时间。尽管层是完全连接的,但图像大小的更改不会导致权重的重新初始化。
上面列出的值是网络的默认图像尺寸和灰度值范围,这些是训练分类器的值。网络体系结构允许使用set_dl_classifier_param
设置不同的图像大小。对于具有至少一个完全连接层的网络,此更改需要进行重新训练。没有完全连接的层的网络可以直接应用于不同的图像大小。然而,具有与分类器已经训练的尺寸不同的尺寸的图像可能显示降低的分类精度。
实际配置的尺寸可以通过get_dl_classifier_param
查询 。必须根据所需的尺寸显示馈入网络的每个图像。要相应地调整图像,可以使用preprocess_dl_classifier_images 。
通常,对于给定的分类问题,重新训练预训练的分类器会更容易,更快和更好。预先训练的分类器已经学习了良好的通用功能。要针对自定义问题重新训练网络,必须使用算子set_dl_classifier_param
对分类器属性“classes'”进行设置
(请参见HDevelop示例: classify_pill_defects_deep_learning.hdev
)
神经网络从文件中加载FileName
。因此,可以在目录($ HALCONROOT / dl /)以及当前使用的目录中搜索该文件。
请注意,不会从文件中读取分类器的运行时特定参数“ gpu”。而是使用其默认值对其进行初始化(请参阅参考资料)。 set_dl_classifier_param
深度学习分类器的默认HALCON文件扩展名为 '.hdl'。
有关基于深度学习的分类概念的说明,请参阅《深度学习/分类》一章的介绍。
执行信息
多线程类型:可重入(与非排他运算符并行运行)。
多线程作用域:全局(可以从任何线程调用)。
未经并行处理。
该运算符返回一个句柄。请注意,此句柄类型的实例的状态可以由特定的运算符更改,即使这些运算符将句柄用作输入参数也是如此。
参量
FileName
(input_control) filename.read (字符串)→
文档名称。
默认值: 'pretrained_dl_classifier_compact.hdl'
值列表:“ pretrained_dl_classifier_compact.hdl”,“ pretrained_dl_classifier_enhanced.hdl”,“ pretrained_dl_classifier_resnet50.hdl”
文件扩展名:。hdl
DLClassifierHandle
(输出控制) dl_classifier (句柄)→
深度学习分类器的句柄。
结果
如果指示的文件可用并且格式正确,则操作员返回值2(H_MSG_TRUE)。否则将引发异常。read_dl_classifier
可能的继任者
备择方案
read_class_mlp
, read_class_svm

