OCR-Form-Tools项目试玩记录(一)本地部署
OCR-Form-Tools是微软的一个开源代码库,包含微软表单识别和OCR服务相关的多种工具。Github仓库地址
目前,表单标注工具(OCR Form Labeling Tool)是首个发布到本该仓库的工具。这篇博客记录了我尝试在本地部署并运行该工具的过程。
方案一:使用官方Docker镜像(推荐)
官方提供了已经构筑好的docker镜像,如果本地配置了docker环境可以直接拉取并使用。这里参考官方文档
配置docker环境的方法可以参考docker官网
# pull image
docker pull mcr.microsoft.com/azure-cognitive-services/custom-form/labeltool
# run image
docker run -it -p 3000:80 mcr.microsoft.com/azure-cognitive-services/custom-form/labeltool eula=accept
访问本地3000端口即可看到页面。
需要注意,对于windows/macosx下使用Docker Toolbox的情况,docker运行在虚拟机上,所以需要访问虚拟机的3000端口才能看到页面(比如我的是http://192.168.99.100:3000/)。使用新版的docker desktop则没有这个问题

方案二:本地编译
代码在手,直接编译并运行这个项目也是可行的。考虑到这个工具的主体是一个react前端应用,我们需要借助npm等工具完成编译。
安装nodejs和npm
这个项目使用npm进行依赖管理,因此我们首先需要安装npm。
windows用户可以从nodejs中文网下载。安装软件会自动完成环境变量配置等工作,直接按提示一路到底即可。
对于linux用户直接使用apt安装即可
sudo apt install nodejs npm -y
安装完毕后检查
node -v
npm -v
这里我的node版本是v10.16.0,npm版本是6.9.0,根据项目文档,node版本最好>=10.0,如果已经安装了更低版本的node可以考虑升级
(可选)配置npm镜像源为国内源
国内访问npm自带的官方软件源一般较慢,难以下载依赖,因此我们可以将源换为国内源。
一个国内常用的开源镜像是淘宝NPM镜像
换源方法可以参考这篇博客:https://blog.csdn.net/bird3014/article/details/93538860
安装依赖并构筑应用
编译的工作参照仓库README说明即可。拉取代码
git clone https://github.com/microsoft/OCR-Form-Tools.git
cd OCR-Form-Tools
安装依赖。这一步时间较长,可以先去喝杯咖啡
npm install
编译并打包
npm run build
最后运行即可,如果成功会自动弹出浏览器并访问本地3000端口。
npm run react-start

OCR-Form-Tools项目试玩记录(一)本地部署的更多相关文章
- OCR-Form-Tools项目试玩记录(二)产品评测
这是一篇软工课程作业博客 项目 内容 这个作业属于哪个课程 北航2020春软件工程 006班(罗杰.任健 周五) 这个作业的要求在哪里 个人博客作业-软件案例分析 个人课程目标 系统地学习软件工程理论 ...
- ef6 code first with Oracle 试玩记录
对于oracle 使用code first 这边文章不错: http://www.cnblogs.com/wlflovenet/p/4187455.html 补充一下: 文章中提到machine.co ...
- 手动部署:在eclipse导入web项目并更新包到本地部署
一.eclipse导入java web项目 1.file-import-git-next-clone URL-填写git上面的URL,然后一直next,完成后等待即可 二.导入多个版本项目 1.fil ...
- Exceptionless 本地部署踩坑记录
仅已此文记录 Exceptionless 本地部署所遇到的问题 1.安装ElasticSearch文本 执行elasticsearch目录中的elasticsearch.bat 没有执行成功. 使用命 ...
- Apollo框架试玩
2017年7月5日,百度举行了AI开发者大会,在会上发布了Apollo项目,并进行了演示,该项目在Github上已经能够被访问.出于一个程序员的好奇,昨天试玩了一把,确实不错. http://apol ...
- Apollo自动驾驶框架试玩
2017年7月5日,百度举行了AI开发者大会,在会上发布了Apollo项目,并进行了演示,该项目在Github上已经能够被访问.出于一个程序员的好奇,昨天试玩了一把,确实不错. http://apol ...
- React Native 导入原生Xcode项目总结与记录
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,bi ...
- WinUI 3试玩报告
1. 什么是 WinUI 3 在微软 Build 2020 开发者大会上,WinUI 团队宣布可公开预览的 WinUI 3 Preview 1,它让开发人员可以在 Win32 中使用 WinUI.Wi ...
- 试玩 GOWOG ,初探 OpenAI(使用 NeuroEvolution 神经进化)与 Golang 多人在线游戏开发
GOWOG: 原项目:https://github.com/giongto35/gowog 我调整过的:https://github.com/Kirk-Wang/gowog GOWOG 是一款迷你的, ...
随机推荐
- PTA 链表逆置
6-3 链表逆置 (20 分) 本题要求实现一个函数,将给定单向链表逆置,即表头置为表尾,表尾置为表头.链表结点定义如下: struct ListNode { int data; struct L ...
- Tomcat详解系列(2) - 理解Tomcat架构设计
Tomcat - 理解Tomcat架构设计 前文我们已经介绍了一个简单的Servlet容器是如何设计出来,我们就可以开始正式学习Tomcat了,在学习开始,我们有必要站在高点去看看Tomcat的架构设 ...
- RabbitMQ 入门 (Go) - 3. 模拟传感器,生成数据并发布
现在,我们需要模拟传感器,生成数据,并发布到 RabbitMQ. 建立传感器项目 在 GOPATH src 下建立文件夹 sensors,使用 go mod init 初始化,并创建 main.go. ...
- 阿里云 RTC QoS 弱网对抗之变分辨率编码
本文为 QoS 弱网优化系列的第二篇 作者|安基程.田伟峰 审校| 泰一 视频编码中的变分辨率问题及解决 变分辨率在弱网场景的实际应用中非常常见,网络状况不好的时候降低分辨率可以降低码率,减少块效应, ...
- 【10.5NOIP普及模拟】sort
[10.5NOIP普及模拟]sort 文章目录 [10.5NOIP普及模拟]sort 题目描述 输入 输出 输入输出样例 样例输入 样例输出 数据范围限制 解析 code 题目描述 小x和小y是好朋友 ...
- 【linux】驱动-11-gpio子系统
目录 前言 11. gpio子系统 11.1 操作步骤 11.1.1 新版 API 操作流程 11.1.2 旧版 API 操作流程 11.2 设备树中使用gpio子系统 11.3 GPIO 子系统 A ...
- Spring MVC(七篇)
(一)Spring MVC简介 (二)SpringMVC核心控制器 (三)Spring MVC Controller接口控制器详解(一) (三)Spring MVC Controller接口控制器详解 ...
- libnet的使用详解
最近搬砖需要对libnet进行介绍在这里对知识进行汇总. 1.libnet简介 在libnet出现以前,如果要构造数据包并发送到网络中,程序员要通过一些复杂的接口来处理.libnet的出现,为程序员提 ...
- 16. Vue2.4+新增属性$attrs
vm.$attrs简介 首先我们来看下vue官方对vm.$attrs的介绍: 包含了父作用域中不作为 prop 被识别 (且获取) 的特性绑定 (class 和 style 除外).当一个组件没有声明 ...
- Day12_62_线程的生命周期
线程的生命周期 要实现多线程,必须在主线程中创建新的线程对象. 任何线程一般都具有五种状态,即创建,就绪,运行,阻塞,终止(消亡) 新建状态:在程序中创建了一个新的线程对象后,新的线程对象便处于新建状 ...