版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/yx123919804/article/details/84377026

Tensorflow CTPN Demo Windows 无痛搭建


原材料:

  1. PyCharm
    下载地址: http://www.jetbrains.com/pycharm/
  2. Tensorflow
    安装教程移步到 https://blog.csdn.net/yx123919804/article/details/84111774
  3. CTPN源码
    下载地址: https://github.com/eragonruan/text-detection-ctpn/releases
    把下图中框的两个文件下载到本地, 解压源代码

    解压后如图, 强迫症的你还是把名字改一下吧, 如改成text-detection-ctpn-untagged

    打开text-detection-ctpn-untagged里面的requirements.txt看看里面需要哪些库, 在Anaconda Prompt里或者Anaconda中安装上, 可以都安装最新版本, 如果不先安装, 可以像下面填坑那样安装

运行步骤

  1. 用PyCharm打开工程
  2. 设置工程的解释器, File->Settings打开设置窗口, 将解释器设置成安装有Tensorflow的Environment中的python.exe
  3. 打开demo_pb.py, 定位点main函数位置
  4. 好, 现在可以点main前面的三角形, 选择Debug 'demo_pb’运行一下试试看

    坑1: 第1个坑来了


    意思是没有easydict这个库, 那我们就把它安装上, 在Anaconda Prompt中激活Environment, 输入pip install easydict
    很快就可以安装好
  5. 安装完成后, 点下图所示的地方停止Debug

    停止后就可以点下图框中的"小虫子"开始调试了, 试一下

    坑2: 坑Again


    说没有ctpn/text.yml这个东东, 那我们就再填一下, 在def cfg_from_file(filename):函数后面看到了传进来的参数是’ctpn/text.yml’ 但是这个路径不存在, 我们看工程目录中明明有这个文件的

    出现这个问题是因为demo_pb和text在同一个文件夹下, 意思是当前目录在cptn这个文件夹, main函数中的cfg_from_file调用是传入的参数是’ctpn/text.yml’ 当前目录cptn下没有cptn文件夹了, 所以会出错

    将参数改成text.yml停止后再重新点"小虫子"试试看

    坑3: 坑又来, 说没有data/ctpn.pb这个路径


    再填, 是否已经注意到工程目录下多了个data\results的路径

    把上面下载的ctpn.pb放到ctpn\data文件夹中

    坑4: 停止后再Debug一下看看, 果然坑不断, ‘str’ object has no attribute ‘decode’


    这个坑是因为编码的问题,将 lib\rpn_msr\propsol_layer_tf.py的45行cfg_key=cfg_key.decode(‘ascii’)改成cfg_key=cfg_key.encode(‘ascii’).decode(‘ascii’)

    坑5: 再停止点"小虫子", 还会出现下图的小坑


    上图的红框中的路径有一个明显的错误, 所以问题是出现在open函数的参数, 路径的拼接不正确, 看29行, base_name = image_name.split(’/’)[-1], 是这句话出了问题, 在Windows下, 路径是以’\‘分割的, 所以在分割字符串的时候, 分割符要用’\’, 所以将split(’/’)改成split(’\\’)就好了, 注意是两个杠, 因为’\'是转意字符, 如下图

    现在, 所有的坑已经填好, 再停止, Debug, 可以看到正常运行了

    在cptn\data\result中可以看到运行结果

    有一点不好的是, 倾斜的字符标记框也是正的, 所以要想检测倾斜的字, 将text.yml中第36行中DETECT_MODE: H改成DETECT_MODE: O(字母)


    改完后运行结果如下

检测自己的图片
将图片放到…\data\demo中就可以了, 注意不要有中文, 不要有中文, 不要有中文


使用GPU
如果你电脑安装了GPU版的Tensorflow, 会自动用GPU运行, 但是, 如果你的显存比较小, 会出现显存不足的情况, 如果出现了, 就要限制GPU的使用率, 打开demo_pb.py, 按下图修改

                                </div><link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-e44c3c0e64.css" rel="stylesheet"></div>
</article>


http://www.taodudu.cc/news/show-4527212.html

相关文章:

  • OCR(光学字符识别)
  • CTPN文本检测与tensorflow实现
  • 制作自己的ctpn数据集
  • CPTN代码运行报错
  • 无痛的CPTN
  • 玩转你的开发板-1.4.第1季第4部分-朱有鹏-专题视频课程
  • 话说linux内核-uboot和系统移植第14部分-朱有鹏-专题视频课程
  • STM32那些你该知道的事儿-第3季第1部分视频课程-朱有鹏-专题视频课程
  • STM32标准库的引入视频课程-第3季第6部分-朱有鹏-专题视频课程
  • linux设备驱动模型-linux驱动开发第5部分-朱有鹏-专题视频课程
  • 字符设备驱动基础-linux驱动开发第2部分-朱有鹏-专题视频课程
  • STM32上第一个程序-GPIO控制LED-第3季第5部分-朱有鹏-专题视频课程
  • uCOS2源码分析1-BSP部分-第4季第2部分视频课程-朱有鹏-专题视频课程
  • LED点阵-第1季第8部分-朱有鹏-专题视频课程
  • uCOS3源码解析视频教程-第4季第7部分-朱有鹏-专题视频课程
  • 按键-第1季第9部分-朱有鹏-专题视频课程
  • 实时时钟DS1302-第1季第14部分-朱有鹏-专题视频课程
  • STM32Cube和HAL库使用初体验-第5季第2部分-朱有鹏-专题视频课程
  • 单片机c语言中枚举,嵌入式开发-枚举详解---朱有鹏
  • 定时器、看门狗和RTC-1.9.ARM裸机第九部分-朱有鹏-专题视频课程
  • C语言位操作详解-4.2.C语言专题第二部分-朱有鹏-专题视频课程
  • uCOS2的events事件源码分析-第4季第5部分-朱有鹏-专题视频课程
  • 英飞凌SP370方案胎压监测器-入门级视频课程-朱有鹏-专题视频课程
  • 英飞凌SP370方案胎压监测器-专业级视频课程-朱有鹏-专题视频课程
  • 简单字符驱动笔记(朱有鹏)
  • 驱动框架入门之LED-linux驱动开发第4部分-朱有鹏-专题视频课程
  • 朱有鹏 socket编程接口介绍(3)
  • 海思平台上USB WIFI的移植与局域网无线调试和视频流预览-第5/11季视频课程-朱有鹏-专题视频课程...
  • 朱有鹏 socket实际编程2(6)
  • 朱有鹏 TCP协议(2)

CTPN windows下实现相关推荐

  1. php sendmail方法,PHP实现在windows下配置sendmail并通过mail()函数发送邮件的方法

    本文实例讲述了PHP实现在windows下配置sendmail并通过mail()函数发送邮件的方法.分享给大家供大家参考,具体如下: 1.php mail()函数在windows不能用,需要安装sen ...

  2. Windows下命令行及Java+Tesseract-OCR对图像进行(字母+数字+中文)识别,亲测可行

    Windows下Java+Tesseract-OCR对图像进行字符识别,亲测可行 1. 下载tesseract-ocr.中文语言包并安装 2. 命令行对图片进行识别及效果图 3. Java调用Tess ...

  3. Windows下超详细安装Anaconda3以及jupyter notebook

    Anaconda是一个软件包管理器,一个环境管理器以及一个Python发行版,其中包含许多开源软件包的集合(numpy,scikit-learn,scipy,pandas等).如果在安装Anacond ...

  4. 在windows下配置pthread多线程

    Pthread是由POSIX提出的一套通用的线程库,在linux平台下,它被广泛的支持,而windows平台下,却并不被支持,而pthreads-w32为我们提供了解决方案,本文我们准备在我们的win ...

  5. docker安装redis提示没有日记写入权限_对 Redis 在 Windows 下的利用方式思考

    我写的文章永远都是那么的又臭又长又菜. 前言 上次写了一篇有关 SSRF 打 Redis 主从的文章,居然被人喷了!!!说我根本就没有复现过张嘴就来???我没有理会,然后又有朋友在群问,Redis 在 ...

  6. windows下rpc框架thrift的环境配置

    windows下rpc框架thrift的环境配置 引用链接: https://www.cnblogs.com/49er/p/7193829.html 最近在弄windows下 的Facebook的rp ...

  7. windows下 Source Monitor代码度量工具的使用

    windows下 Source Monitor代码度量工具的使用 引用链接: https://www.cnblogs.com/xuehanyu/p/4520965.html 1.总体介绍 Source ...

  8. Windows下Qt程序打包

    Windows下Qt程序打包 将windeployqt.exe 目录添加到系统环境变量 windeployqt.exe目录如下: 命令行打包 1.打开命令行 2.执行打包命令 windeployqt ...

  9. 全网最全的Windows下Anaconda2 / Anaconda3里Python语言实现定时发送微信消息给好友或群里(图文详解)...

    不多说,直接上干货! 缘由: (1)最近看到情侣零点送祝福,感觉还是很浪漫的事情,相信有很多人熬夜为了给爱的人送上零点祝福,但是有时等着等着就睡着了或者时间并不是卡的那么准就有点强迫症了,这是也许程序 ...

最新文章

  1. pytorch for循环性能对比
  2. Order附近语法错误
  3. Java中泛型Class T, T与Class ?
  4. python 找到目录下文件名规则_Python学习第162课--PATH变量值修改以及模糊查找文件名...
  5. verilog定时打铃上下课程序设计
  6. dvwa详解_DVWA(六):XSSReflected 反射型XSS全等级详解
  7. putc函数_C语言中的putc()函数与示例
  8. 未能将管道连接到虚拟机: 所有的管道范例都在使用中。_山西大同超高压管道连接器维修方便厂家...
  9. Python 之面向对象 继承
  10. linux安装无头浏览器
  11. 网站制作流程详解(学做网站第一步)
  12. 如何在linux下安装一个音乐播放器
  13. QT 对话框不在任务栏显示
  14. 人民币大写数字 C++
  15. vue+element 压缩上传图片
  16. java工厂方法_Java设计模式之工厂方法模式
  17. CentOS7 通过 cups 与 Windows 共享 HP 1020 打印机
  18. HDMI/DVI设备热插拨检测
  19. 怎么用命令改变legend在图中的位置
  20. 机械臂控制软件,上位机软件 此机器人上位软件。 运动采用通用G代码指令编程,具有G5三维的空间圆弧插补,空间直线插补功能

热门文章

  1. 信创云“华山论剑” 五强鼎力谁与争锋?
  2. 飞飞php影视系统漏洞,飞飞影视最新版前台无限制getshell
  3. 邮政社招笔试题库_中国邮政招聘考试试题及答案--总括版
  4. 树形DP入门(二叉苹果树+没有上司的舞会)
  5. android下存储设备的使用
  6. leetcode第六题 Z字形变换
  7. time(),date(),microtime()三者的区别
  8. js特效------实例
  9. python drf_python DRF操作流程
  10. uniapp开发微信小程序保存图片带权限判断