分类: IT天地
文字识别初试
上次笔记本罢工前,是想用它测试一下深度学习框架的文字识别,以为它狗狗都能跑起来,没想到吓得罢工了。
后来重装系统后,安装好框架运行那个文字识别系统,结果直接提示out of memory,换矿卡机登场,运行一会之后同样提示后退出。
看来罢工是有原因的。
高级的搞不定,就用现成的。申请了百度的文字识别功能接口,用一张未调整的手机拍摄书页做测试,效果出奇的好。
毕竟百度的免费文字识别有期限,又测试了一下pytesseract,这个也算是出身名门,但对手机拍摄未经处理的图片中的文字识别率差了点。又换成扫描仪扫描的文档,效果立马提升到百度ocr的档次,但是后台运行系统的老笔记本风扇噪音骤起,看了一下cpu占用,linux下到了380%多,应该是四核都快满载了。
最后用百度的ocr处理了扫描完的电子文档,速度很快,效果已经非常满意。毕竟那些文档的清晰度,再想想扫描的过程,不提也罢。
本来为了提高扫描质量,在后期使用了百度文字识别的高精度版,也是书籍的纸张差了点,ocr出来的文字,居然把很多背面的文字给模糊识别出来了,真是晕了…
django2.2安装填坑记
因为近日有个工作需要快速录入,所以又想起django来了,准备使用xadmin提高效率,但没想到一个坑接着一个坑。
安装xadmin
安装xadmin的时候不要使用默认的pip install xadmin,因为它会二话不说就把某django1.x版本给装上,使用: pip3 install git+git://github.com/sshwsfc/xadmin.git@django2安装完毕。
安装数据库
安装mysql数据库的时候出现症状,总是提示’mysqlclient 1.3.13 or newer is required’,到网上一查,已经成为公害了,解决办法需要修改诸多文件,本来就像换Postgresql,所以直接安装psycopg2后,设置setting文件,比照mysql,只是后面参数增加了:
client_encoding: ‘UTF8’,
default_transaction_isolation: ‘read committed’
然后:
python manage.py migrate
python manage.py createsuperuser
数据库就建立完毕了,比mysql可是简单多了。
设置xadmin
修改setting.py文件,将xadmin和crispy_forms添加到INSTALLED_APPS中
修改urls.py文件,把原先admin前面加个x解决。
然后将xadmin一股脑clone到static目录下,setting.py中debug设为Ture,LANGUAGE_CODE = ‘zh-hans’,TIME_ZONE = ‘Asia/Shanghai’
启动后,正常进入后台,在添加组件的时候出错,修改项目中xadmin/views/dashborad.py中的render(),在render()中添加参数:renderer=None,即可解决。
久疏战阵被机欺
昨天中午把Acer笔记本整理的差不多,准备让它卖力了,结果吃过午饭出去活动一下的功夫,居然罢工了,死活不进桌面。
下午因为有事边没有再收拾它。晚上回想了一下,估计是昨天图省劲让虚拟机和主机共享文件夹,在机器休眠状态下导致硬盘错误。
今天想把系统升级,提示诸多文件错误,无法进行。一狠心把机器重装,安装传统的Ubuntu桌面版本,但安装之后,连启动都启动不起来了。本以为是老问题UEFI模式,但换成legacy依然不行,而且连win10的安装U盘都不识别了。
软的不行来硬的,拆开后盖检查换硬盘,结果发现这台机器空余着sata硬盘的地方,却没有相应的接口。
连番折腾,系统换了数次,一个下午搭进去了,最后决定再安装一次,大不了以后安装到U盘或者sd卡上,让硬盘当数据盘。按照最初的步骤,先把启动模式换成legacy,然后安装,安装完毕后再用U盘启动,关机,拔掉U盘,重新开机,结果Ubuntu的桌面显示出来了。
这时我才想起,买来机器第一次装机时就换成legacy模式了,那什么时候换成uefi的?
见鬼了。
解决狗狗对弈远程连接问题
前段时间组建矿卡机,给狗狗搭了窝之后,一直是通过远程桌面登录后,操控狗狗内斗。
虽然也觉得麻烦,但因为顺风顺水过来的,也就懒得再折腾调整。
昨天晚上等世界杯预选赛开赛前的空余时间,觉得老这么将就着也不是回事,sabaki和lizzie都是支持gtp协议的,只要通过协议获取数据,转化到棋盘上就是了。
于是开始着手解决。解决过程倒也顺利,ssh使用公钥登录矿卡机后,执行leelazero和katago带参数的命令行,就可以在win10的机器上运行sabaki对弈,或者通过lizzie分析棋局。期间唯一遇到的问题就是参数中的路径要使用绝对路径。
这样一来,操作更为简便,而且棋谱保存还有截图也不再更方便。更重要的是,以后可以实现不同机器间的引擎对弈,还有就是多客户端连接服务器对弈,当然,那需要更强劲的硬件了。
Python汉字字符编码转换
python下由于汉字分属不同unicode的区段,造成转换混乱,尤其是知网之类的pdf文件转换过程中。有时需要根据汉字来判断编码,然后再进行处理。
import json
s = ‘易易’
print(json.dumps(s))
这样可以得到不同的编码:”\u6613\uf9e0″。后一个属于中日韩统一表意文字。
同样
s =’\\u’+’f9e0′
ss = s.encode(‘utf-8’).decode(‘unicode_escape’)
这样可以得到编码对应的汉字。
弃儿firebird
那一次处理十万计数据的时候,第一次用到了firebird。因为有其他单位也需要那个程序,而access实在不堪用,而MySQL在Windows下跟Linux下的表现简直不像一个程序,所以选择了firebird的内嵌版,而那速度,堪称飞快。
很多年没有用firebird了,今天到网上看了一下,原先的中文网早已关闭,域名待售中。英文官网还不错,版本终于到了3.0版本,只不过相对于原先服务器版本还分classic和super,现在又加了一个superclassic。
firebird也算是出身名门,老东家Borland在90年代在编程软件领域一度压的微软喘不过气来。其前身是interbase,再往前寻祖还能和dbase沾上亲,而其兄弟delphi更是大名鼎鼎,当年其相关书籍在新华书店书架上阵势和现在的python相当。作为数据库,InterBase因为免费,一度受到各大财务软件的青睐,也因为性能优越,传奇私服的数据库也是用的它,所以我才可以熟门熟路地在老P的私人服务器上,给他打造了一身无上装备。
firebird是脱胎于InterBase的开源版本,但他的开源,说好听是是顺应潮流,说难听就是成了弃儿。Borland从顶峰崩坍式坠落后,其招牌delphi被一卖再卖,最后连名字都未能保住,何况已然落后数据库了。
互联网浪潮的到来,技术的剧变超出任何人的想象,无人能够阻挡,哪怕停留都会被吞没。
数据“大”转移
前几日将前期整理的数据文件,分解导入MySQL数据库中。使用全文检索,速度满意,但准确度有很大缺憾。
又在网上搜索了相关资料后,准备将资料转入postgresql数据库中再测试一下。先将数据导出,导入费劲,导出35万条记录却只是看看进度条快闪的时间。
但导入到postgresql中时遇到了麻烦,其官方推荐的客户端死活不干活,估计是认出文件不是自家导出的。于是换上dbeaver,误打误撞间,一个界面下,在不同数据库连接中,选择对应的表,鼠标点击几下,数据记录瞬间移形换位。
一方面意外dbeaver深藏不露的高效,另一方面也不得不感慨,这30多万条记录,即便在2g内存的虚拟机下,对于数据库而言,也是不值一提。
只是开始。
安装测试zhparser
首先安装SCWS,网上说明有些问题,直接下载后解压,
./configure ; make install
下载zhparser源码:
git clone https://github.com/amutu/zhparser.git
然后编译的时候,因为Postgresql版本安装有点混乱,出现错误,直接安装相关库
sudo apt-get install postgresql-server-dev-all
sudo apt-get install postgresql-common
然后编译成功
make && make install
配置zhparser
CREATE EXTENSION zhparser;
CREATE TEXT SEARCH CONFIGURATION testzhcfg (PARSER = zhparser);
ALTER TEXT SEARCH CONFIGURATION testzhcfg ADD MAPPING FOR n,v,a,i,e,l WITH simple;
建立全文检索的索引
create index idx_gin_content on content using gin(to_tsvector(‘testzhcfg’,content));
通过建立了索引(gin)的全文检索搜索数据库记录
select * from content where to_tsvector(‘testzhcfg’,content) @@ to_tsquery(‘testzhcfg’,’艾灸’)
学然后重识书
昨晚上看屏幕左眼开始流泪,只好关了电脑。看儿子还在做作业,离睡觉给他点眼药水还有段时间。电脑手机看不了,便找本书看。
书架上的书基本转移的差不多了,剩下的计算机类书籍要么是用不着的,要么了了几本是看不懂的。
拿了一本数据分析的书,躺在沙发上随手翻翻打发时间。翻看几页,发现前面当初看不懂的章节内容,居然现在已经看懂了。继续翻看,感觉这本书被低估了,里面内容很有条理,章节设置也是按照从易到难的顺序逐步展开。只不过翻译的水平差一些,略显生硬。
书籍翻了一半,后面章节涉及的内容虽然又超出了我学习范畴,但兴奋的是,还能看懂这正是我近期想要应用的内容。
意外的好书,看来书总是有用的。