pickle

【OCR技术系列之三】大批量生成文字训练集

谁说胖子不能爱 提交于 2020-08-19 04:26:52
放假了,终于可以继续可以静下心写一写OCR方面的东西。上次谈到文字的切割,今天打算总结一下我们怎么得到用于训练的文字数据集。如果是想训练一个手写体识别的模型,用一些前人收集好的手写文字集就好了,比如中科院的 这些数据集 。但是如果我们只是想要训练一个专门用于识别印刷汉字的模型,那么我们就需要各种印刷字体的训练集,那怎么获取呢?借助强大的图像库,自己生成就行了! 先捋一捋思路,生成文字集需要什么步骤: 确定你要生成多少字体,生成一个记录着汉字与label的对应表。 确定和收集需要用到的字体文件。 生成字体图像,存储在规定的目录下。 适当的数据增强。 第三步的生成字体图像最为重要,如果仅仅是生成很正规的文字,那么用这个正规文字集去训练模型,第一图像数目有点少,第二模型泛化能力比较差,所以我们需要对字体图像做大量的图像处理工作,以增大我们的印刷体文字数据集。 我总结了一下,我们可以做的一些图像增强工作有这些: 文字扭曲 背景噪声(椒盐) 文字位置(设置文字的中心点) 笔画粘连(膨胀来模拟) 笔画断裂(腐蚀来模拟) 文字倾斜(文字旋转) 多种字体 做完以上增强后,我们得到的数据集已经非常庞大了。 现在开始一步一步生成我们的3755个汉字的印刷体文字数据集。 一、生成汉字与label的对应表 这里的汉字、label映射表的生成我使用了pickel模块,借助它生成一个id

趣学Python编程(for kids)PDF高清完整版免费下载|百度云盘|青少年孩子学python零基础入门

眉间皱痕 提交于 2020-08-18 06:54:28
百度云盘:趣学Python编程(for kids)PDF高清完整版免费下载 提取码:ytpm 内容简介 python是一款解释型、面向对象、动态数据类型的高级程序设计语言。python语法简捷而清晰,具有丰富和强大的类库,因而在各种行业中得到广泛的应用。对于初学者来讲,python是一款既容易学又相当有用的编程语言,国内外很多大学开设这款语言课程,将python作为一门编程语言学习。 《趣学python编程》是一本轻松、快速掌握python编程的入门读物。全书分为3部分,共18章。第1部分是第1章到第12章,介绍python编程基础知识,包括python的安装和配置、变量、字符串、列表、元组和字典、条件语句、循环语句函数和模块、类、内建函数和绘图,等等。第2部分是第13章和第14章,介绍如何用python开发实例游戏弹球。第3部分包括第15章到第18章,介绍了火柴人实例游戏的开发过程。 《趣学python编程》语言轻松,通俗易懂,讲解由浅入深,力求将读者阅读和学习的难度降到最低。任何对计算机编程有兴趣的人或者首次接触编程的人,不论孩子还是成人,都可以通过阅读本书来学习python编程。 作者简介 jason r. briggs,从8岁开始编写程序,他学习的第一种编程语言是在radio shack trs-80上的basic。作为开发人员及系统架构师,他是职业软件开发者,同时他又是

python(json 模块)

南笙酒味 提交于 2020-08-17 08:55:46
1.Json 定义 定义:JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。JSON 的数据格式其实就是 python 里面的字典格式,里面可以包含方括号括起来的数组,也就是python里面的列表。 特点:简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。 在 JS 语言中,一切都是对象。因此,任何支持的类型都可以通过 JSON 来表示,例如字符串、数字、对象、数组等。但是对象和数组是比较特殊且常用的两种类型: 对象表示为键值对   数据由逗号分隔   花括号保存对象 方括号保存数组  序列化简单定义:变成 json 格式。定义:变成json格式。 反序列化简单定义: json 格式变其它 """ 字典格式与json格式对比 """ # 字典格式: d = { 'a': 123, 'b': { 'x': ['A', 'B', 'C'] } } # json格式 { "a": 123, "b": { #必须是双引号(因为java等其它语言有使用双引号表示字符串,单引号不表示字符串) "x": ["A", "B", "C"] } } 在 python 中,有专门处理 Json 格式的模块 ——> json 和 picle模块 Json

总结 90 条写 Python 程序的建议 用“强迫症”维持代码质量

筅森魡賤 提交于 2020-08-15 17:39:39
阅读本文大概需要 3 分钟。 ” 本文于网络整理,版权归原作者所有,如来源信息有误或侵犯权益,请联系我删除。 自己写 Python 也有四五年了,一直是用自己的“强迫症”在维持自己代码的质量。都有去看 Google 的 Python 代码规范,对这几年的工作经验,做个简单的笔记,如果你也在学 Python,准备要学习 Python,希望这篇文章对你有用。 1. 首先 建议1、理解 Pythonic 概念—-详见 Python 中的《Python之禅》 建议2、编写 Pythonic 代码 (1)避免不规范代码,比如只用大小写区分变量、使用容易混淆的变量名、害怕过长变量名等。有时候长的变量名会使代码更加具有可读性。 (2)深入学习 Python 相关知识,比如语言特性、库特性等,比如Python演变过程等。深入学习一两个业内公认的 Pythonic 的代码库,比如Flask等。 建议3:理解 Python 与 C 的不同之处,比如缩进与 {},单引号双引号,三元操作符?, Switch-Case 语句等。 建议4:在代码中适当添加注释 建议5:适当添加空行使代码布局更加合理 建议6:编写函数的 4 个原则 (1)函数设计要尽量短小,嵌套层次不宜过深 (2)函数声明应该做到合理、简单、易用 (3)函数参数设计应该考虑向下兼容 (4)一个函数只做一件事,尽量保证函数粒度的一致性 建议7

一颗韭菜的自我修养:用Python分析下股市,练练手

核能气质少年 提交于 2020-08-13 03:21:59
一颗韭菜的自我修养。 机器之心报道,编辑:魔王、陈萍。 股市跌宕起伏。7 月初 A 股飙升,股票瞬间成为大家的热门讨论话题,「现在入场还来得及吗?」几乎成为新的问候语。 然而,经历了连续近 10 个交易日的快牛行情后,上证指数上涨势头放缓。这是牛市,还是熊市?怎么在趋势之中腾挪转移,抓住时机下场?抑或是按兵不动,放长线钓大鱼? 不要妄下定论。毕竟股市有风险,入市需谨慎。那么,有没有什么方法可以帮助你做决策呢? 最近,一位常年研究股票系统的开发者 pythonstock 用 Python 写了一个股票分析系统,发布数天就获得了不少关注。 于是我们就推荐给大家,既能学习 python 又能练习炒股。但正如项目作者所说,「本项目只能用于 Python 代码学习,股票分析,投资失败亏钱不负责,不算 BUG。」如果真亏了,我们也不背锅呀,毕竟大家都是韭菜。 pythonstock 的项目页面 总之,分析得准不准先不说,我们先来偷个师,看看这个用 Python 代码进行股票分析的项目到底是怎么实现的吧。 PythonStock:一个用 Python 写成的股票分析系统 根据 GitHub 页面介绍,该项目是基于 Python 的 pandas、tushare、bokeh、tornado、stockstats、ta-lib 等框架开发的全栈股票系统。 GitHub 地址: https://

day18:json模块&time模块&zipfile模块

生来就可爱ヽ(ⅴ<●) 提交于 2020-08-11 21:01:09
json模块 1.关于json的定义 所有的编程语言 都能够识别的数据格式叫做json,是 字符串 能够通过json序列化成字符串与如下类型: (int float bool str list tuple dict None) 2.json用法 # 1. dumps和loads是一对,可以序列化字符串 dic = { " name " : "Libolun " , " age " :81, " classroom " : " python31 " , " family " :[ " 老爸 " , " 老妈 " , "哥哥 " ]} # ensure_ascii=False 显示中文 sort_keys=True 对字典的键进行排序 res = json.dumps(dic,ensure_ascii=False,sort_keys= True) print (res , type(res)) # loads反序列化原来的数据类型 dic = json.loads(res) print (dic,type(dic)) # 2.dump 和 load 是一对,针对于文件,把数据序列化后存储文件 dic = { " name " : "Libolun " , " age " :81, " classroom " : " python31 " , " family " :[ " 老爸 " ,

Python标准库PDF高清完整版免费下载|百度云盘

限于喜欢 提交于 2020-08-11 20:58:28
百度云盘:Python标准库PDF高清完整版免费下载 提取码:fuvm 内容简介 本书由资深Python专家亲自执笔,Python语言的核心开发人员作序推荐,权威性毋庸置疑。 对于程序员而言,标准库与语言本身同样重要,它好比一个百宝箱,能为各种常见的任务提供完美的解决方案,所以本书是所有Python程序员都必备的工具书!本书以案例驱动的方式讲解了标准库中一百多个模块的使用方法(如何工作)和工作原理(为什么要这样工作),比标准库的官方文档更容易理解(一个简单的示例比一份手册文档更有帮助),为Python程序员熟练掌握和使用这些模块提供了绝佳指导。 全书一共19章,系统而全面地对Python标准库中的一百多个模块进行了生动的讲解。这些模块主要包括:文本处理工具模块、与数据结构相关的模块、与算法有关的模块、管理日期和时间值的模块、用于数学计算的模块、管理文件系统的模块、用于数据存储与交换的模块、用于数据压缩与归档的模块、用于加密的模块、与进程和线程相关的模块、与网络通信和Email相关的模块、构建模块、支持处理多种自然语言和文化设置的模块、开发工具模块、与运行时特性相关的模块,等等。 作者简介 Doug Hellmann目前是Racemi公司的一位高级开发人员,也是Python Software Foundation的信息交流主管。从1.4版开始他就一直在做Python编程

【pytorch-ssd目标检测】验证自己创建的数据集

丶灬走出姿态 提交于 2020-08-10 19:09:33
制作类似pascal voc格式的目标检测数据集: https://www.cnblogs.com/xiximayou/p/12546061.html 训练自己创建的数据集: https://www.cnblogs.com/xiximayou/p/12546556.html 它的代码中的eval.py实际上使用的是test.txt里面的数据。 直接看修改后的代码:eval.py """ Adapted from: @longcw faster_rcnn_pytorch: https://github.com/longcw/faster_rcnn_pytorch @rbgirshick py-faster-rcnn https://github.com/rbgirshick/py-faster-rcnn Licensed under The MIT License [see LICENSE for details] """ from __future__ import print_function import torch import torch.nn as nn import torch.backends.cudnn as cudnn from torch.autograd import Variable # from data import VOC_ROOT,

21天学习python编程_pickle模块序列化与反序列化

梦想的初衷 提交于 2020-08-09 13:29:22
主要内容: 小目标:pickle模块序列化与反序列化 主要内容:掌握pickle模块 如果看完这篇文章,你还是弄不明白pickle操作; 你来找我,我保证不打你,我给你发100的大红包。 1. pickle模块 1.1 认识pickle: pickle模块实现了用于序列化和反序列化Python对象结构的二进制协议; 序列化:将Python对象转成字节流; 反序列化:将字节流转成Python对象; 1.2 pickle与Json: 主要区别: JSON是一种文本序列化格式,pickle是二进制序列化格式; JSON具有一定可读的,而pickle不能 JSON是可以与其他语言相互转换,pickle值能用于Python 2 pickle模块使用 主要方法: 方法 说明 pickle.dumps(obj, protocol=None,...) Python对象序列化 pickle.loads(data, *, ...) 反序列化 pickle.dump(obj, file, ...) 将Python对象序列化并保存到文件 pickle.load(file, ...) 将序列化文件导入,并转成Python对象 序列化与反序列化: import pickle names = ['公孙离','裴擒虎'] #转成Json字符串 pdata = pickle.dumps(names) print

pickle存储和读取数据

扶醉桌前 提交于 2020-08-09 03:28:19
import pickle d1 ={ ' a ' :234, ' b ' :[3,5,7], ' w ' :[4,5 ]} # 存储数据 f=open(r ' D:\matplotlib绘图\aaa.pickle ' , ' wb ' ) pickle.dump(d1,f) f.close() # 读取数据 with open(r ' D:\matplotlib绘图\aaa.pickle ' , ' rb ' ) as f1: d2 = pickle.load(f1) print (d2) { ' a ' : 234, ' b ' : [3, 5, 7], ' w ' : [4, 5]} 来源: oschina 链接: https://my.oschina.net/u/4313143/blog/4317491