最后一步就是训练了
- TestImageDir := 'test/'
- ClassifyThreshold := 0.8
- TestImageDir := 'test/'
- ClassifyThreshold := 0.8
- dev_update_off()
- dev_close_window ()
- read_dl_classifier ('model_best.hdl', DLModelHandle)
- set_dl_classifier_param (DLModelHandle, 'batch_size', 1)
- get_dl_classifier_param(DLModelHandle, 'image_dimensions', ImageSize)
- get_dl_classifier_param(DLModelHandle, 'classes', Classes)
- for I := 0 to |Classes|-1 by 1
- OutputDir:= TestImageDir+Classes[I] + '/'
- file_exists (OutputDir, FileExists)
- if (not FileExists)
- make_dir (OutputDir)
- endif
- endfor
- SamplingSize := 7
- FeatureSize := 80
- list_image_files (TestImageDir, 'default', 'recursive', ImageFiles)
- read_image (Image, ImageFiles[0])
- get_image_size(Image, Width, Height)
- count_channels(Image, Channels)
- tuple_max2(Width, Height, Max)
- WndWidth := Width * 600 / Max
- WndHeight := Height * 600 / Max
- dev_open_window(0, 0, WndWidth, WndHeight, 'black', WindowHandle)
- set_font(WindowHandle, 'default-24')
- Seconds := 0
- for I := 0 to |ImageFiles|-1 by 1
- read_image (Image, ImageFiles[I])
- count_seconds(Start)
- zoom_image_size (Image, ImagePreprocessed, ImageSize[0], ImageSize[1], 'constant')
- convert_image_type (ImagePreprocessed, ImagePreprocessed, 'real')
- scale_image (ImagePreprocessed, ImagePreprocessed, 1, -127)
- apply_dl_classifier (ImagePreprocessed, DLModelHandle, DLResult)
- count_seconds(End)
- Seconds := Seconds + End - Start
- get_dl_classifier_result (DLResult, 'all', 'predicted_classes', PredictedClass)
- get_dl_classifier_result (DLResult, 'all', 'confidences', Confidence)
- dev_display(Image)
- dev_disp_text (PredictedClass + ', ' + Confidence$'.2f' + ' ' + (I+1) + '/' + |ImageFiles|, 'window', 'top', 'left', 'green', 'box', 'true')
- if(Confidence > ClassifyThreshold)
- parse_filename (ImageFiles[I], BaseName, Extension, Directory)
- write_image(Image, 'png', 0, TestImageDir + PredictedClass + '/' + BaseName + '.' + Extension)
- delete_file (ImageFiles[I])
- endif
- endfor
- ImageProcTimeMs := 1000.0 * Seconds / |ImageFiles|
- FPS := |ImageFiles| / Seconds
- dev_disp_text ('image:' + Width + '×' + Height + '×' + Channels + '×' + |ImageFiles| + ', fps=' + FPS$'.2f', 'window', 'center', 'left', 'green', 'box', 'true')
复制代码
|