set_dl_model_param(DLModelHandle, 'gpu', GpuId)
GpuId=0 选中第一块显卡做深度学习训练。
GpuId=1 选中第二块显卡做深度学习训练。
类推
多个深度学习库,可以同时设置多个库的深度学习的GPU,但是显卡需要足够大的内存,否则会报下面的异常。
如果内存不够,可以用完一个深度学习的库之后,用clear_dl_model清除掉一个,然后设置另外一个的Gpu序号。
同一个深度学习库设置多遍是不会报错的。
apply_dl_model (DLModelHandle, DLSampleBatch, [], DLResults)
DLSampleBatch := gen_tuple_const(BatchSize,-1)
set_dict_object (ImagePreprocessed, DLSample, 'image')
DLSampleBatch[ImageIndex] := DLSample
get_dict_object (SegImage, DLResults[ResultIndex], 'segmentation_image')
get_dict_object (Confidence, DLResults[ResultIndex], 'segmentation_confidence')
get_dict_object (ImagePreprocessed, DLSampleBatch[ResultIndex], 'image')
输入和输出都要用循环来实现、
(halcon 18.11)要求输入的数量和BatchSize要相等,否则会报错规格不对
(halcon 19.11)没有这个要求,可以大于,也可以小于。
set_dl_model_param (DLModelHandle, 'batch_size', BatchSize)
BatchSize这个越大,处理速度越快,同时对GPU的内存要求越大。
halcon 18.11包含2个Dll(halcondotnetxl.dll,halconxl.dll)
halcon 19.11包含3个Dll(halcondotnetxl.dll,halconxl.dll,halcondlxl.dll)
多个线程可以同时调用同一个深度学习库进行语义分割。
清除clearHandle深度学习库句柄的时候,保证句柄没有被占用
set_dl_model_param(DLHandle,'runtime','gpu')
set_dl_model_param(DLHandle,'runtime_init','immediately')
立即生效,不需要等到才生效。
彩色图像和灰度图像都可以用作深度学习,但是彩色图像效果会很好。
训练次数,主要看收敛情况。100次收敛了,就设置成100次。