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 是一款迷你的, ...
随机推荐
- 【JVM进阶之路】八:性能监控工具-命令行篇
定位问题的时候,知识.经验是关键基础,数据是依据,工具是运用知识处理数据的手段. 在实际的故障排查.性能监控中,常常是操作系统的工具和Java虚拟机的工具结合使用. 1.操作系统工具 1.1.top: ...
- Redis系列-存储篇sorted set主要操作命令
Redis系列-存储篇sorted set主要操作函数小结 redis支持有序集合,即sorted set.sorted set在set的基础上,增加了排序属性,是set的升级版.这里简要谈谈sort ...
- java面试-什么是GC root
一.什么是垃圾 内存中已经不再被使用到的空间就是垃圾 二.要进行垃圾回收,如何判断一个对象是否可以被回收? 引用计数法 很难解决对象之间的循环引用问题 枚举根节点做可达性分析 通过一系列名为" ...
- JS基础学习第一天
JavaScript JavaScript负责页面中的的行为. 它是一门运行在浏览器端的脚本语言. JS的编写的位置 1.可以编写到标签的指定属性中 12 <button onclick=&qu ...
- 基于注解的springboot+mybatis的多数据源组件的实现
通常业务开发中,我们会使用到多个数据源,比如,部分数据存在mysql实例中,部分数据是在oracle数据库中,那这时候,项目基于springboot和mybatis,其实只需要配置两个数据源即可,只需 ...
- Spring Cloud微服务如何实现熔断降级?
熔断限流概述 在基于Spring Cloud的微服务架构体系下,按照系统功能边界的不同划分,原先大而全的系统会被拆分为多个不同的微服务,而相应的微服务会提供一组功能关联的服务接口,并向系统中的其他微服 ...
- 源码编译安装MySQL8.0.20
1 概述 本文章主要讲述了如何从源码编译安装MySQL社区版8.0.20,首先会介绍一些编译安装的相关知识,然后开始编译安装 2 源码编译安装的相关知识 2.1 make与configure make ...
- Day15_86_通过反射机制获取所有方法(method)
通过反射机制获取所有方法(method) import java.lang.reflect.Field; import java.lang.reflect.Method; import java.la ...
- Proxy.newProxyInstance源码探究
JDK动态代理案例实现:实现 InvocationHandler 接口重写 invoke 方法,其中包含一个对象变量和提供一个包含对象的构造方法: public class MyInvocationH ...
- Weblogic CVE-2020-2551漏洞复现
Weblogic CVE-2020-2551漏洞复现 0x00 前言 在一次渗透测试过程中,碰见了该漏洞,并使用在野的POC验证了这个漏洞存在,当时工具网传的利用方式去进行利用,没有成功,可能是自己太 ...