开发函数计算的正确姿势——OCR 服务
简介
首先介绍下在本文出现的几个比较重要的概念:
OCR(光学字符识别): 光学字符识别(Optical Character Recognition, OCR)是指对文本资料的图像文件进行分析识别处理,获取文字及版面信息的过程。亦即将图像中的文字进行识别,并以文本的形式返回。
Tesserocr: Tesserocr 是 python 的一个 OCR 识别库,但其实是对 tesseract 做的一层 python API 封装,所以它的核心是 tesseract。
函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准备计算资源,并以弹性伸缩的方式运行用户代码,而用户只需根据实际代码运行所消耗的资源进行付费。函数计算更多信息参考。
Funcrfat: Funcraft 是一个用于支持 Serverless 应用部署的工具,能帮助您便捷地管理函数计算、API 网关、日志服务等资源。它通过一个资源配置文件(template.yml),协助您进行开发、构建、部署操作。Fun 的更多文档参考。
备注: 本文介绍的技巧需要 Funcraft 版本大于等于 3.6.8 。
本文介绍将一个预制的 tesserocr 示例快速部署到函数计算平台。该示例借助于 Funcraft 安装了最新的 4.1.1 版本的 tesseract,相比于包管理器的 3.0.2 版本识别率大幅度提升。
该示例提供了一个 vue.js 实现的交互界面,有三种提供输入图片的方式:使用示例图片、上传图片或者提供图片 URL。然后用户点击识别按钮就能迅速体验识别效果。
将 tesserocr 部署于函数计算,借助于函数计算的自动伸缩和按量计费的特性,提供了免运维和成本优势。
下面是部署以后的使用效果动图:
初始化
git clone https://github.com/vangie/fc-ocr-example.git
安装依赖
$ fun install
本地测试
$ fun local start domain_for_ocr using template: template.yml CustomDomain domain_for_ocr of tesserocr/tesserocr was registered url: http://localhost:8000/ methods: [ 'GET', 'POST' ] authType: ANONYMOUS function compute app listening on port 8000!
使用浏览器打开 http://localhost:8000/
同步文件到 NAS
同步模型目录 tessdata_fast
和 依赖目录 .fun/root
.fun/python
到 NAS 盘。
$ fun nas sync
部署
$ fun deploy using template: template.yml using region: cn-shanghai using accountId: ***********3743 using accessKeyId: ***********Ptgk using timeout: 60 ... Detect 'DomainName:Auto' of custom domain 'domain_for_ocr' Fun will reuse the temporary domain 1712300-1986114430573743.test.functioncompute.com, expired at 2020-04-27 19:35:00, limited by 1000 per day. Waiting for custom domain domain_for_ocr to be deployed... custom domain domain_for_ocr deploy success ...
注意上面返回的临时域名地址:1712300-1986114430573743.test.functioncompute.com
使用浏览器打开 http://1712300-1986114430573743.test.functioncompute.com
小结
- Tesserocr 库提供了开箱即用的图片识别效果,而且提供了预训练好的模型,如果需要也可以直接训练模型
- 函数计算为 Tesserocr 服务化提供了便利。借助函数计算可以轻松部署一个高可用、按量访问量计费的 OCR 服务。
- Funcraft 工具解决 Tesserocr 移植到函数计算的一些技术难题,比如原生依赖,打包问题。细节可以查看 Funfile 文件。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
电商企业网站选择实力推荐阿里云_最佳实战解决方案
电商网站该如何进行云服务器配置呢?电商云服务器的配置选择,其实和网站或应用的类型、访问量、数据量大小、程序质量等因素有关,建议和您的网站或应用的开发技术人员沟通,选择最适合您的配置。如果您没有技术人员可提供建议,可以参考我们的建议进行配置选择。网站初始阶段访问量小,只需要一台低配置的服务器即可,应用程序、数据库、文件等所有资源均在一台服务器上。阿里云服务器具有强大的弹性扩展和快速开通能力。随着业务的增长,你可以随时在线增加服务器的CPU、内存、硬盘以及带宽等配置,或者增加服务器数量,无需担心低配服务器在业务突增时带来的资源不足问题,不让一个用户流失。 方案目的:适合初创电商公司快速搭建平台,例如电商网站/APP/电子商城,能轻松承受约1-10万的日均访问量,能支持约300单/天的有效成单量 一键搭建:整体解决方案一键搭建,自动化部署,缩短3倍业务上线时间 安全防护:解决方案针对电商行业常遇到的胁,加强了安全防护性能。为电商企业保驾护航 高性能:针对电商业务峰值频发的特点,配置了缓存、CDN、弹性伸缩等功能,有效提升平台性能 高效容灾:负责均衡、RDS、ECS等都配备了跨可用区容灾策略...
- 下一篇
【漫画】JAVA并发编程之并发模拟工具
原创声明:本文来源于公众号【胖滚猪学编程】,转载请注明出处。 上一节【漫画】JAVA并发编程三大Bug源头(可见性、原子性、有序性)我们聊了聊并发编程的三个bug源头,这还没开始进入并发世界,胖滚猪就遇到了难题。。 这个难题是所有初学者都会有的疑惑:没法复现那些理论知识告诉我们的bug。但是实际操练很重要,那么在本地开发环境,到底应该怎样模拟并发呢? 模拟并发工具大全 在本地模拟并发环境的方法有挺多的,比较热门的有以下几种,包括工具和代码: 1、Postman:Http请求模拟工具,可以设置发起N个请求(但不推荐,并不专业) 2、Apache Bench(AB):Apache 服务器的一个web压力测试工具,是一个命令行工具,可根据命令创建很多并发访问线程,模拟多个访问者同时对某一个URL地址进行访问。总体来说,ab工具小巧简单,上手学习较快,可以提供需要的基本性能指标;但是缺点就是没有图形化结果,不能监控。 3、Apache JMeter:Apache组织开发的基于Java的压力测试工具。功能相比AB会更加强大,尤其是有GUI图形化界面,这一点很爽。另外jmeter是一次完整的请求和...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS8编译安装MySQL8.0.19
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Mario游戏-低调大师作品
- 2048小游戏-低调大师作品
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作