当前位置: 首页 > news >正文

宿迁网站建设电话wordpress 关闭某个插件的更新

宿迁网站建设电话,wordpress 关闭某个插件的更新,网页美工设计论文,商务网站规划建设与管理试卷PaddleOCR提供了一系列测试图片#xff0c;你可以通过点击这里来下载。 值得注意的是#xff0c;PaddleOCR的模型更新速度远远快于DJL#xff0c;这导致了一些DJL的优化滞后问题。因此#xff0c;我们需要采取一些策略来跟上PaddleOCR的最新进展。 针对文本识别模型…PaddleOCR提供了一系列测试图片你可以通过点击这里来下载。 值得注意的是PaddleOCR的模型更新速度远远快于DJL这导致了一些DJL的优化滞后问题。因此我们需要采取一些策略来跟上PaddleOCR的最新进展。 针对文本识别模型你可以参考以下资源 文档PaddleOCR文本识别模型推理文档Python推理代码PaddleOCR文本识别模型推理代码 请注意PP-OCRv4的识别模型使用的输入形状为3,48,320。此外PP-OCRv4的识别模型默认使用的rec_algorithm为SVTR_LCNet需要留意其与原始SVTR的区别。 默认的识别模型算法可以在这里找到。 模型的输入和输出在PpWordRecognitionTranslator.java中。 CriteriaImage, String criteria Criteria.builder().optEngine(PaddlePaddle).setTypes(Image.class, String.class).optModelPath(Paths.get(C:\\laker-1)).optTranslator(new PpWordRecognitionTranslator()).build();public class PpWordRecognitionTranslator implements NoBatchifyTranslatorImage, String {private ListString table;/** * 准备方法用于加载模型所需的数据。* * param ctx 翻译上下文* throws IOException 如果读取数据时发生错误*/Overridepublic void prepare(TranslatorContext ctx) throws IOException {try (InputStream is ctx.getModel().getArtifact(ppocr_keys_v1.txt).openStream()) {// 从文本文件中读取表格数据table Utils.readLines(is, true);// 在表格开头添加blanktable.add(0, blank);// 在表格末尾添加空字符串table.add();}}/** * 处理输出方法将模型的输出转换为字符串。* * param ctx 翻译上下文* param list 模型的输出列表* return 转换后的字符串*/Overridepublic String processOutput(TranslatorContext ctx, NDList list) {StringBuilder sb new StringBuilder();NDArray tokens list.singletonOrThrow();long[] indices tokens.get(0).argMax(1).toLongArray();int lastIdx 0;for (int i 0; i indices.length; i) {if (indices[i] 0 !(i 0 indices[i] lastIdx)) {// 将索引映射为相应的字符串并添加到结果字符串中sb.append(table.get((int) indices[i]));}}return sb.toString();}/** * 处理输入方法将图像数据转换为模型可接受的格式。* * param ctx 翻译上下文* param input 输入图像* return 转换后的NDList对象*/Overridepublic NDList processInput(TranslatorContext ctx, Image input) {NDArray img input.toNDArray(ctx.getNDManager());int[] hw resize32(input.getWidth());// 调整图像大小、转换为张量并归一化img NDImageUtils.resize(img, hw[1], hw[0]);img NDImageUtils.toTensor(img).sub(0.5f).div(0.5f);// 在第一个维度上添加一个维度通常用于将单个图像添加到批处理中img img.expandDims(0);return new NDList(img);}private int[] resize32(double w) {// Paddle不依赖于宽高比// 计算新的图像宽度确保它是32的倍数int width ((int) Math.max(32, w)) / 32 * 32;return new int[]{32, width};} }这里有很多过时的了。 输入尺寸最新为3,48,320输出的置信度没输出。 我们就来优化这2点。 1.修改模型加载这个地方 CriteriaImage, String criteria Criteria.builder().optEngine(PaddlePaddle).setTypes(Image.class, String.class).optModelPath(Paths.get(C:\\laker-1)).optTranslator(new PpWordRecognitionTranslator2()).build();2.新增PpWordRecognitionTranslator2类 /** * 处理输出方法将模型的输出转换为字符串。* * param ctx 翻译上下文* param list 模型的输出列表* return 转换后的字符串* throws IOException 如果处理输出时发生错误*/Overridepublic String processOutput(TranslatorContext ctx, NDList list) throws IOException {StringBuilder sb new StringBuilder();NDArray tokens list.singletonOrThrow();System.out.println(输出 tokens);// 计算出每行中最大值的索引位置 ND: (20, 97) 即 20行 97列97列// 97列是初始化字典的行数所以肯定是97列。// 20为图片中可能的字符数long[] indices tokens.get(0).argMax(1).toLongArray();// 字符置信度float[] probs new float[indices.length];for (int row 0; row indices.length; row) {long dictIndex indices[row];if (dictIndex 0) { // 剔除 blankfloat[] v tokens.get(0).get(row).toFloatArray();NDArray value tokens.get(0).get(new NDIndex( row : (row 1) , dictIndex : (dictIndex 1)));probs[row] value.toFloatArray()[0];System.out.println(table.get((int) dictIndex) probs[row]);// 剔除置信度小于 0.6的if (probs[row] 0.6f) {continue;}sb.append(table.get((int) dictIndex));}}return sb.toString();}/** * 处理输入方法将图像数据转换为模型可接受的格式。* * param ctx 翻译上下文* param input 输入图像* return 转换后的NDList对象*/Overridepublic NDList processInput(TranslatorContext ctx, Image input) {NDArray img input.toNDArray(ctx.getNDManager());System.out.println(img);int[] hw resize48(input.getWidth(), input.getHeight());img NDImageUtils.resize(img, hw[1], hw[0]);// 将图像转换为张量并进行归一化操作减去0.5并除以0.5。img NDImageUtils.toTensor(img).sub(0.5f).div(0.5f);// 在张量的第一个维度上添加一个维度通常用于将单个图像添加到批处理中。img img.expandDims(0);System.out.println(输入 img);return new NDList(img);}/** * 计算新的图像宽度和高度确保宽度不超过48并按比例调整高度。* * param w 图像原始宽度* param h 图像原始高度* return 包含新的宽度和高度的整数数组*/private int[] resize48(double w, double h) {double maxWhRatio w / h;int imgW (int) (48 * maxWhRatio);// 检查按比例调整高度后是否超过了目标宽度int resizedW (int) Math.ceil(48 * maxWhRatio);return new int[]{48, resizedW};}输出为 // 原始图片 高 39宽105 : (39, 105, 3) cpu() uint8 [ Exceed max print size ] // resize后的 高 48宽130 输入 ND: (1, 3, 48, 130) cpu() float32 [ Exceed max print size ] // 字符识别个数为16个字符是97个的英文字典 输出softmax_2.tmp_0: (1, 16, 97) cpu() float32 [ Exceed max print size ] [ 0.932977 1 0.999816830.99966896 1 0.999809440.9967675 2 0.9998343 ] 0.9975802[112]
http://www.zqtcl.cn/news/68201/

相关文章:

  • 四川省建设领域信用系统网站昆明制作企业网站
  • 宁波网站建设哪家好私域流量营销
  • 广州网站推广平台pc网站怎么建设流程
  • 织梦网站上传及安装湖南常德属于哪个市
  • 网站推广策略的控制和效果评价济宁做网站的电话
  • 企业如何做好网站的seo优化成都必去的10个景点
  • 网站编程图app下载注册推广
  • 免费公司网站制作wordpress 耗时
  • 环保材料 技术支持 东莞网站建设快速排名怎么做
  • 蔚县住房和城乡规划建设局网站p2p网上贷款网站建设方案
  • 网站建设与推广长春wordpress图片站模板
  • 网站做图片的大小wordpress 插件语言包
  • 岳池住房和城乡建设厅网站苏州百度推广公司地址
  • 动漫网站源码下载做网页素材
  • 宿迁网站推广公司微信小程序官网电话
  • 郴州网站策划为什么一个网站做中英文双语版
  • python 网站开发怎么部署中国十大软件上市公司排名
  • 网站设计的英文营销型企业网站开发
  • 学做面包到什么网站wordpress加速会主题曲
  • 网站下拉箭头怎么做的期货融网站建设
  • 易思企业网站管理系统流量网站制作
  • 网站目标人群wordpress培训模板
  • 自己做的网站加载不出验证码企业网站系统的设计与开发教程
  • 扬州建设会计学会网站小程序网站开发公司
  • 做数据网站衡水哪有做网站的
  • 专门做分析图的网站wordpress文章内容宽度
  • app 网站开发网站设计流程的步骤
  • 枣庄哪里有做网站设计tamed wordpress插件
  • 济南企业免费建站服务营销论文
  • 模板网站有哪些在哪里下载沧州建设工程信息网