HALCON 20.11:深度学习笔记(3)
HALCON 20.11:深度学习笔记(3)---Data(数据)
HALCON 20.11.0.0中,实现了深度学习方法。其中,关于术语“数据”的介绍如下:
术语“数据”是在深度学习的背景下使用的图像和信息。
最后的信息必须以网络可以理解的方式提供。
毫不奇怪,不同的DL方法对于必须提供什么信息以及如何提供这些信息有自己的要求。具体要求见相应章节。
网络对图像的尺寸、灰度值范围和类型提出了进一步要求。具体的值取决于网络本身,可以用函数get_dl_model_param查询。
此外,根据方法的不同,对图像信息也有要求,如包围框。为了满足所有这些需求,可能必须对数据进行预处理,这可以通过相应的过程preprocess_dl_samples来最方便地完成。
当你训练你的网络时,网络就会适应它的任务。但在某一时刻,你会想要评估网络所学到的东西,在更晚的时候,你会想要测试网络。
因此,数据集将被分为三个子集,它们应该是独立的和具有相同的分布。
简单地说,子集之间不应该以任何方式连接,每个集合包含每个类相同的图像分布。这种分割可以由函数split_dl_dataset过程方便地完成。
显然最大的子集将用于训练,我们将此数据集称为训练数据集。
在某一点上,评估网络的性能,以检查是否有利于继续进行网络优化。对于这种验证,使用的是第二组数据,即验证数据集。
即使验证数据集与第一个数据集不相交,也会对网络优化产生影响。因此,为了测试模型在现实世界中部署时可能的预测,使用了第三个数据集,即测试数据集。
对于具有代表性的网络验证或评估,验证数据集和测试数据集应该具有统计上相关的数据,这给出了所需数据量的一个下界。
还要注意的是,为了训练网络,你最好使用具有代表性的图像,也就是那些你想要稍后处理的图像,而不仅仅是“完美”的图像,否则网络在处理非“完美”的图像时可能会有困难。
赞 (0)