win10+tensorflow CPU 部署CTPN环境

刚弄明白CTPN部署的时候,CTPN作者刚更新了简易代码版本,看介绍是把代码优化了不需要多的配置。。。感觉好忧伤!

源码地址:https://github.com/eragonruan/text-detection-ctpn/tree/master

新版本地址:https://github.com/eragonruan/text-detection-ctpn

环境:win10+anaconda3+python3.6+tensorflow1.10+vs2015_runtime

一 代码修改

1.设置  "USE_GPU_NMS "  在文件  ./ctpn/text.yml as "False"

 2.设置 "__C.USE_GPU_NMS"  在文件  ./lib/fast_rcnn/config.py  为  "False";

 3.注释掉 "from lib.utils.gpu_nms import gpu_nms" 在文件  ./lib/fast_rcnn/nms_wrapper.py  中;

4.在文件lib \ utils \ cython_nms.pyx的第25行进行一些更改“np.int_t”更改为“np.intp_t” 
否则出现“ValueError:Buffer dtype mismatch,expected'int_t'但得到'long long' “在第6步。
5.在文件 \text-detection-ctpn-master\lib\rpn_msr\proposal_layer_tf.py中的第53行加入“cfg_key=cfg_key.decode('utf-8')”

6.将“base_name = image_name.split('/')[ - 1]”更改为“base_name = image_name.split('\\')[ - 1]”在文件“ctpn \ demo.py”的第24行中

二 重新编译文件

打开anaconda prompt,激活tensorlow环境,进入到路径“\ text-detection-ctpn-master \ lib \ utils ”中去;

1.执行 cython bbox.pyx 

2.执行 cython cython_nms.pyx 

三 重建setup文件

打开文件夹”text-detection-ctpn-master\lib\utils“,新建一个setup_cpu.py文件,文件代码如下所示:

import numpy as np
from distutils.core import setup
from Cython.Build import cythonize
from distutils.extension import Extension
numpy_include = np.get_include()
setup(ext_modules=cythonize("bbox.pyx"),include_dirs=[numpy_include])
setup(ext_modules=cythonize("cython_nms.pyx"),include_dirs=[numpy_include])

四 重新编译

打开vs2015 X64 本机工具命令提示符,激活tensorflow环境,进入”text-detection-ctpn-master\lib\utils“,

执行下列代码

python setup_cpu.py build_ext --inplace 

会在文件夹”text-detection-ctpn-master\lib\utils\lib\utils“中生成2个pyd文件“bbox.cp36-win_amd64.pyd”和“cython_nms.cp36-win_amd64.pyd”,将这两个文件复制到“text-detection-ctpn-master\lib\utils”。

五 运行demo

在运行demo前需要下载checkpoints训练好的模型到工程环境中去,下载完了直接解压成文件夹放到root目录下!类似于下图:

在anaconda prompt中,激活tensorflow环境进入到工程root路径下,

python  .\ctpn\demo.py

如果出现以下界面就证明成功运行了。

 

 

后记:

作为一个小白,花了好多功夫才完成的,但仍然不知道其中一些步骤的目的什么,说白了就是知其然不知其之所以然,希望努力加油弄明白配置环境的原理。共勉!

参考文献:

1.https://github.com/eragonruan/text-detection-ctpn/issues/264

2.https://blog.csdn.net/qq_32791307/article/details/81324343

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/256571.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

css如何实现背景透明,文字不透明?

之前做了个半透明弹层,但设置背景半透明时,子元素包含的字体及其它元素也都变成了半透明。对opacity这个属性认识的不透彻,在这里做一些总结,方便以后使用。 背景透明,文字不透明的解决方法:为元素添加一个…

是什么时候开始学习gulp了

转自:http://www.ydcss.com/archives/18 简介: gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器;她不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成&#xff1…

matlab GUI——按下按钮在指定的坐标下绘制函数图像

目录 1.组件布局 2.回调函数设置 3.编写回调函数 1.组件布局 2.回调函数设置 右键单击plot按钮——查看回调——call backs

【转】【UML】使用Visual Studio 2010 Team System中的架构师工具(设计与建模)

Lab 1: 应用程序建模 实验目标 这个实验的目的是展示如何在Visual Studio 2010旗舰版中进行应用程序建模。团队中的架构师会通过建模确定应用程序是否满足客户的需求。 你可以创建不同级别的详细模型,并将它们彼此结合、测试然后发布到你的开发计划里。 在这个实验中…

深度学习基础(一)起源

目录 一、DP的前世 1.perceptron 2.NN 3.DP 二、DP的基础知识 1.convolution 2.padding 3.pooling 4.Flatten 5.fully connected 6.dropout 一、DP的前世 深度学习发展至今经历颇为曲折,上世纪起源,火热起来也是20世纪初的时候,具体时…

ANSYS经典界面中梁单元实例全解析

转载链接:http://www.jishulink.com/content/post/361389 文中红色部分为自己添加!!! 转载的文章中提到的梁单元截面是常用的工字形,那么要是不规则的截面形状的话需要自己进行截面形状绘制,具体可以参考…

ant的安装和使用

1.ant的安装 1.1 添加环境变量:ANT_HOMED:\software\ant\apache-ant-1.10.1 在path中添加:%ANT_HOME%\bin 1.2 测试是否安装成功 在cmd中输入ant,如果出现如下提示表示安装成功 2.定义简单的build.xml 2.1 创建HelloWord.java package test; …

Language-Directed Hardware Design for Network Performance Monitoring——Marple

网络监控困难 1、仅仅通过去增加特定的监控功能到交换机是不能满足运营商不断变化的需求的。(交换机需要支持网络性能问题的表达语言)2、他们缺乏对网络深处的性能问题进行本地化的可见性,间接推断网络问题的原因3、当前的交换机监控并没有提…

深度学习基础(四)优化函数(梯度下降函数)

梯度下降函数也就是优化函数,在神经网络训练过程最重要的函数。重要程度类似于调校对于汽车的重要性,搭建模型和参数设置等操作“造好了一辆汽车”,优化函数“调校”。因为汽车最终的操控性和加速性能等指标很大程度取决于调校,调…

js 实现 复制 功能 (zeroclipboard)

#复制功能因访问权限和安全问题, 被浏览器禁了# 我要实现的功能:点击复制按钮,复制浏览器的当前页面地址,加上用户选择的参数(用户查找过滤),直接将该链接发给别人,点击打开就是对应…

深度学习基础(二)激活函数

激活函数(也被称为激励函数)的意义就是加入非线性因素,使得神经网络具有非线性表达的能力。其必要条件是激活函数的输入和输出都是可微的,因为神经网络要求处处可微。(可微是指函数的各个方向可导,可微大于等于可导) …

Please ensure that adb is correctly located at……问题解决方案

启动android模拟器时.有时会报The connection to adb is down, and a severe error has occured.的错误.在网友说在任务管理器上把所有adb.exe关闭掉.重启eclipse.但试过不管用.所以在外国网站上找到一种可行的方法:1.先把eclipse关闭.2.在管理器转到你的android SDK 的platfor…

2016.8.23

1 贴吧里看到一个关于因为游戏闹翻的故事,大致情况是这样的:某女初中的时候有个闺蜜。后来此人因为抑郁之类的精神问题被送到医院,这让女主很苦闷且脆弱又孤单,这时候她的闺蜜去医院看望她,然后女主就喜欢上了这位闺蜜…

[Spring]01_环境配置

1.1 Spring jar包下载 (1)进入官网http://repo.spring.io (2)在资源库界面点击Artifacts标签,然后点击libs-release-local,展开后依次点击org -> springframework -> spring。 然后,就可…

深度学习基础(三)loss函数

loss函数,即损失函数,是决定网络学习质量的关键。若网络结构不变的前提下,损失函数选择不当会导致模型精度差等后果。若有错误,敬请指正,Thank you! 目录 一、loss函数定义 二、常见的loss算法种类 1.M…

Shift键关闭大小写

同事说他的大写开了之后无法关闭,我检查了下,的确是,非常奇怪,然后我不小心按了下下面的Shift键,大写指示灯灭了,我立即明白是怎么回事,原来是文字和语言设置里的Key setting改了,如…

深度学习之pytorch(一) 环境安装

快2周没更新博客了,别问为什么!我才不会告诉你忙的飞起!说心里话,个人更喜欢用tensorflow来做深度学习! 一、环境配置 1.win10 64位系统; 2.anaconda3; 3.不管是CPU还是GPU具有(…

CAD——将图形移动到指定点的方法(此处以捕捉坐标系原点为例)

1、在CAD中画一个正方形,没有任何角点在坐标原点上 2、点击修改工具栏的“移动命令”,选择刚刚画好的图形,选择一个点为第一个基点; 3、先输入#号(shift3),再输入0,0,用英文逗号隔开&#xff0c…

容器的综合应用:文本查询程序

需求 程序读取用户指定的任意文本文件,允许用户从该文件中查找单词。查询结果是该单词出现的次数,并列出每次出现所在行,如果某单词在同一行中多次出现,程序将只显示该行一次。行号按升序显示,即第 7 行应该在第 9 行之…

Anaconda 安装操作及遇到的坑

最近刚用Pytorch,编译开源代码的时候发现缺少n个package,原来是之前在Anaconda3 创建的虚拟环境各自是独立的,tensorflow下安装的不能在别的环境下使用,所以要重新安装。然而关键是国内各种屏蔽资源,无法FQ去直接下载安…