6.7.0 - Alpha6 - Fine tuning

This commit is contained in:
SuperMonster003
2025-10-01 00:13:00 +08:00
parent 4fe314d301
commit f3e04b9ca2
165 changed files with 2356 additions and 2413 deletions

View File

@@ -23,4 +23,4 @@
// 回收图片
img.recycle();
}();
}();

View File

@@ -12,8 +12,8 @@
// 创建检测器
let predictor = new Predictor();
// predictor.cpuThreadNum = 4 //可以自定义使用CPU的线程数
// predictor.checkModelLoaded = false // 可以自定义是否需要校验模型是否成功加载 默认开启 使用内置Base64图片进行校验 识别测试文本来校验模型是否加载成功
// predictor.cpuThreadNum = 4 // 可以自定义使用 CPU 的线程数
// predictor.checkModelLoaded = false // 可以自定义是否需要校验模型是否成功加载 默认开启 使用内置 Base64 图片进行校验 识别测试文本来校验模型是否加载成功
// 初始化模型 首次运行时会比较耗时
let loading = threads.disposable();
@@ -22,11 +22,11 @@
threads.start(function () {
loading.setAndNotify(predictor.init(context, useSlim));
// loading.setAndNotify(predictor.init(context)) 为默认不使用精简版
// 内置默认 modelPath 为 models/ocr_v3_for_cpu初始化自定义模型请写绝对路径否则无法获取到
// 内置默认 modelPath 为 models/ocr_v3_for_cpu, 初始化自定义模型请写绝对路径否则无法获取到
// 内置默认 labelPath 为 labels/ppocr_keys_v1.txt
// let modelPath = files.path('./models/customize') // 指定自定义模型路径
// let labelPath = files.path('./models/customize') // 指定自定义label路径
// 使用自定义模型时det rec cls三个模型文件名称需要手动指定
// let labelPath = files.path('./models/customize') // 指定自定义 label 路径
// 使用自定义模型时 det rec cls 三个模型文件名称需要手动指定
// predictor.detModelFilename = 'det_opt.nb'
// predictor.recModelFilename = 'rec_opt.nb'
// predictor.clsModelFilename = 'cls_opt.nb'
@@ -34,21 +34,21 @@
});
let loadSuccess = loading.blockedGet();
toastLog(`加载模型结果${loadSuccess}`);
toastLog(`加载模型结果: ${loadSuccess}`);
let start = new Date();
let img = images.read('test.png');
let results = predictor.runOcr(img.getBitmap());
toastLog(`识别结束, 耗时${new Date() - start}ms`);
toastLog(`识别结束, 耗时: ${new Date() - start}ms`);
log(`识别结果: ${JSON.stringify(results.toArray().map((result) => {
return { label: result.label, confidence: result.confidence, bounds: result.bounds };
}))}`);
// 释放模型 用于释放native内存 非必需
// 释放模型 用于释放 native 内存, 非必需
// predictor.releaseModel()
// 回收图片
img.recycle();
}();
}();

View File

@@ -31,8 +31,8 @@
// 创建检测器
let predictor = new Predictor();
// predictor.cpuThreadNum = 4 // 可以自定义使用CPU的线程数
// predictor.checkModelLoaded = false // 可以自定义是否需要校验模型是否成功加载 默认开启 使用内置Base64图片进行校验 识别测试文本来校验模型是否加载成功
// predictor.cpuThreadNum = 4 // 可以自定义使用 CPU 的线程数
// predictor.checkModelLoaded = false // 可以自定义是否需要校验模型是否成功加载 默认开启 使用内置 Base64 图片进行校验 识别测试文本来校验模型是否加载成功
// 初始化模型 首次运行时会比较耗时
let loading = threads.disposable();
@@ -41,11 +41,11 @@
threads.start(function () {
loading.setAndNotify(predictor.init(context, useSlim));
// loading.setAndNotify(predictor.init(context)) 为默认不使用精简版
// 内置默认 modelPath 为 models/ocr_v3_for_cpu初始化自定义模型请写绝对路径否则无法获取到
// 内置默认 modelPath 为 models/ocr_v3_for_cpu, 初始化自定义模型请写绝对路径否则无法获取到
// 内置默认 labelPath 为 labels/ppocr_keys_v1.txt
// let modelPath = files.path('./models/customize') // 指定自定义模型路径
// let labelPath = files.path('./models/customize') // 指定自定义label路径
// 使用自定义模型时det rec cls三个模型文件名称需要手动指定
// let labelPath = files.path('./models/customize') // 指定自定义 label 路径
// 使用自定义模型时 det rec cls 三个模型文件名称需要手动指定
// predictor.detModelFilename = 'det_opt.nb'
// predictor.recModelFilename = 'rec_opt.nb'
// predictor.clsModelFilename = 'cls_opt.nb'
@@ -53,7 +53,7 @@
});
let loadSuccess = loading.blockedGet();
if (!loadSuccess) {
toastLog('初始化ocr失败');
toastLog('初始化 ocr 失败');
exit();
}
@@ -64,7 +64,7 @@
let capturing = true;
/**
* 截图并识别OCR文本信息
* 截图并识别 OCR 文本信息
*/
function captureAndOcr() {
capturing = true;
@@ -75,7 +75,7 @@
}
let start = new Date();
result = predictor.runOcr(img.getBitmap());
toastLog(`耗时${new Date() - start}ms`);
toastLog(`耗时 ${new Date() - start}ms`);
capturing = false;
}
@@ -152,7 +152,7 @@
/* Empty body. */
}, 10000);
events.on('exit', () => {
// 标记停止 避免canvas导致闪退
// 标记停止 避免 canvas 导致闪退
running = false;
// 撤销监听
window.canvas.removeAllListeners();
@@ -195,4 +195,4 @@
}
return result;
}
}();
}();