做项目遇到新语言,看书是个选择,但最好的是从demo学-TeamTrac.PPT

做项目遇到新语言,看书是个选择,但最好的是从demo学-TeamTrac.PPT

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
做项目遇到新语言,看书是个选择,但最好的是从demo学-TeamTrac

网络程序设计总结 夏天 S项目贡献 项目回顾 Demo演示 个人心得 内容 本次项目中,做了以下一些贡献,不过更多的时间还是在“围观中学习”,整理如下: date: 12-06 修复了image is none bug。(格式转换错误) date: 12-22 实现了简单的caffe神经网络预测性别demo(pr失败 原因:没制作文档,注释不详细。) date: 12-22 分享caffe使用经验及资料以及归一化问题,发表在讨论区中? date: 12-26 修复网站无法预测多次的bug? date: 12-27 对demo参数修正,采用数据归一化处理,正确率提高至70%,填补注释和详细文档 date: 12-29 整理分享了服务器搭建demo的过程 项目贡献 尝试微信公众号开发,目前做了这么一个东西(昨晚才完工,博客上还没来得及更新): 项目贡献 项目原型是以深度学习和神经网络为工具,以大数据为基础,来辅助医生判断的病例生成系统。 具体过程: 将血常规检验报告的图片识别出年龄、性别及血常规检验的各项数据; 在识别后与该病人病例相结合进行深度学习,训练出模型 根据用户拍照或者上传的图片进行识别并预测其年龄和性别,以及自动生成病例(未完成)。 项目回顾 透视变换 首先是上传图片后寻找数据表格内容并透视成1000*760的矩阵(web端为了填充将图片拉大了): 项目回顾 透视主要流程: 图像预处理去噪 采用Canny算子提取边缘 调用CV2模块的findContours提取矩形轮廓,筛选对角线大于阈值的轮廓 将轮廓变成线:比较最小外接矩形相邻两条边的长短,以两条短边的中点作为线的两端 若线数量大于三则根据线长短继续筛选长线。 项目回顾 透视主要流程: 根据三条线间的距离确定表格头部和内容的位置 利用向量叉乘不可变性确定起始点(若方向相反,结果为负),将表格内容往上包含头部的一些年龄性别信息 将表格切下并进行透视投影变换。 项目回顾 数据提取 从透视后的表格矩阵中提取相关数据并生成相应报告。 项目回顾 主要步骤: 将表格数据内容切成22份数据 对每份数据调用pytesserac的OCR库进行识别 web用ajax异步传输json数据 项目回顾 进行预测 本次项目采用的是tensorflow预测年龄性别。服务器上采用的是训练好的模型进行预测。当然因为多种原因(参数未修正,数据量不大,数据精度etc..)因此年龄识别率不高,不过性别识别率还是可以接受的。 项目回顾 预测流程: 数据预处理(一般是归一化) tensorflow 初始化并预测。 返回预测结果,并在前端显示 项目回顾 预测时的BUG: 无法预测多次,预测多次时,控制台会报在checkpoint文件里找不到对应变量的错 项目回顾 BUG产生原因: 在tensorflow中以图来表示执行任务,在每次程序运行时,全局只会默认调用一次 self.create_network()指定一个特定图,并将所有变量收集并包装起来。 在第一次正常调用tf.train.Saver()创建saver时会为收集好的变量赋上自动生成的名字。 这样在之后每次调用tf_predict.py中的predict函数时,因为没有指定特定graph 同时之前没有调用self.create_network(),那么saver = tf.train.Saver()会构造一个默认自动生成的saver 但是此刻自动生成的名字域里是没有收集到任何变量的,而且因为名字不同,在checkpoint也找不到对应变量,自然就会报错。 项目回顾 BUG产生原因: 同时`saver`还有另一个值得注意的特性:当前后添加的两个变量名相同时,`saver`会简单的将第二个变量名赋名为variable_(i+1),这样在查找时需要注意变量的对应关系。 项目回顾 解决方案有两种: ?指定固定的graph,(如本次用的就是每次都设定图为tf的默认图) tf.reset_default_graph() ?在每次调用predict都重新完全创建一个graph,create_network`再构建saver。这种方法的缺陷显而易见,很浪费资源,而且不方便使用。 项目回顾 项目演示地址 ? ?DO服务器:BloodTestOCR Demo DEMO演示 做项目遇到新语言,看书是个选择,但最好的是从demo学起。 看清楚数据流动过程,这在调试BUG时尤为重要。不仅要清楚从哪儿来到哪儿去,还要注意格式转换print X ; print typeof(X) 要动手写代码,不要太过于相信自己的记忆力,遇到问题要记录。 个人心得

文档评论(0)

youbika + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档