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项目试玩记录(一)本地部署的更多相关文章

  1. OCR-Form-Tools项目试玩记录(二)产品评测

    这是一篇软工课程作业博客 项目 内容 这个作业属于哪个课程 北航2020春软件工程 006班(罗杰.任健 周五) 这个作业的要求在哪里 个人博客作业-软件案例分析 个人课程目标 系统地学习软件工程理论 ...

  2. ef6 code first with Oracle 试玩记录

    对于oracle 使用code first 这边文章不错: http://www.cnblogs.com/wlflovenet/p/4187455.html 补充一下: 文章中提到machine.co ...

  3. 手动部署:在eclipse导入web项目并更新包到本地部署

    一.eclipse导入java web项目 1.file-import-git-next-clone URL-填写git上面的URL,然后一直next,完成后等待即可 二.导入多个版本项目 1.fil ...

  4. Exceptionless 本地部署踩坑记录

    仅已此文记录 Exceptionless 本地部署所遇到的问题 1.安装ElasticSearch文本 执行elasticsearch目录中的elasticsearch.bat 没有执行成功. 使用命 ...

  5. Apollo框架试玩

    2017年7月5日,百度举行了AI开发者大会,在会上发布了Apollo项目,并进行了演示,该项目在Github上已经能够被访问.出于一个程序员的好奇,昨天试玩了一把,确实不错. http://apol ...

  6. Apollo自动驾驶框架试玩

    2017年7月5日,百度举行了AI开发者大会,在会上发布了Apollo项目,并进行了演示,该项目在Github上已经能够被访问.出于一个程序员的好奇,昨天试玩了一把,确实不错. http://apol ...

  7. React Native 导入原生Xcode项目总结与记录

    html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,bi ...

  8. WinUI 3试玩报告

    1. 什么是 WinUI 3 在微软 Build 2020 开发者大会上,WinUI 团队宣布可公开预览的 WinUI 3 Preview 1,它让开发人员可以在 Win32 中使用 WinUI.Wi ...

  9. 试玩 GOWOG ,初探 OpenAI(使用 NeuroEvolution 神经进化)与 Golang 多人在线游戏开发

    GOWOG: 原项目:https://github.com/giongto35/gowog 我调整过的:https://github.com/Kirk-Wang/gowog GOWOG 是一款迷你的, ...

随机推荐

  1. 【JVM进阶之路】八:性能监控工具-命令行篇

    定位问题的时候,知识.经验是关键基础,数据是依据,工具是运用知识处理数据的手段. 在实际的故障排查.性能监控中,常常是操作系统的工具和Java虚拟机的工具结合使用. 1.操作系统工具 1.1.top: ...

  2. Redis系列-存储篇sorted set主要操作命令

    Redis系列-存储篇sorted set主要操作函数小结 redis支持有序集合,即sorted set.sorted set在set的基础上,增加了排序属性,是set的升级版.这里简要谈谈sort ...

  3. java面试-什么是GC root

    一.什么是垃圾 内存中已经不再被使用到的空间就是垃圾 二.要进行垃圾回收,如何判断一个对象是否可以被回收? 引用计数法 很难解决对象之间的循环引用问题 枚举根节点做可达性分析 通过一系列名为" ...

  4. JS基础学习第一天

    JavaScript JavaScript负责页面中的的行为. 它是一门运行在浏览器端的脚本语言. JS的编写的位置 1.可以编写到标签的指定属性中 12 <button onclick=&qu ...

  5. 基于注解的springboot+mybatis的多数据源组件的实现

    通常业务开发中,我们会使用到多个数据源,比如,部分数据存在mysql实例中,部分数据是在oracle数据库中,那这时候,项目基于springboot和mybatis,其实只需要配置两个数据源即可,只需 ...

  6. Spring Cloud微服务如何实现熔断降级?

    熔断限流概述 在基于Spring Cloud的微服务架构体系下,按照系统功能边界的不同划分,原先大而全的系统会被拆分为多个不同的微服务,而相应的微服务会提供一组功能关联的服务接口,并向系统中的其他微服 ...

  7. 源码编译安装MySQL8.0.20

    1 概述 本文章主要讲述了如何从源码编译安装MySQL社区版8.0.20,首先会介绍一些编译安装的相关知识,然后开始编译安装 2 源码编译安装的相关知识 2.1 make与configure make ...

  8. Day15_86_通过反射机制获取所有方法(method)

    通过反射机制获取所有方法(method) import java.lang.reflect.Field; import java.lang.reflect.Method; import java.la ...

  9. Proxy.newProxyInstance源码探究

    JDK动态代理案例实现:实现 InvocationHandler 接口重写 invoke 方法,其中包含一个对象变量和提供一个包含对象的构造方法: public class MyInvocationH ...

  10. Weblogic CVE-2020-2551漏洞复现

    Weblogic CVE-2020-2551漏洞复现 0x00 前言 在一次渗透测试过程中,碰见了该漏洞,并使用在野的POC验证了这个漏洞存在,当时工具网传的利用方式去进行利用,没有成功,可能是自己太 ...