热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

京东实习总结

研一上学期实在是太闲了,课少,自学能力又差,一学期下来感觉没学到什么东西。这学期索性就在京东找了个实习。到周五离职的时候,算了算,自己在京东呆了也有半年了。现在想想,这半年真是一晃就过了

       研一上学期实在是太闲了,课少,自学能力又差,一学期下来感觉没学到什么东西。这学期索性就在京东找了个实习。到周五离职的时候,算了算,自己在京东呆了也有半年了。现在想想,这半年真是一晃就过了。半年前自己不知道该干什么、学什么的小白,现在总算是找到了感兴趣的方向。

      这半年一直在做图像检测,更准确的说应该是文字检测。印象最深的事儿,想想有那么两件。

       之前对图像处理丁点不懂,只能从最基础的一点点开始学。第一个月基本都是在学习。这个项目文字检测的方法主要有FCN和MSER两种。Mentor的意思是想让我负责FCN检测文字这块。所以就开始看FCN的论文,跑通原有的FCN程序,逐步的理解代码。当然,所有的程序都是在Linux服务器上跑的,这让从没用过Linux的我确实头疼了一段时间。当时的项目还是身份证识别。之前由于没有人工的标注数据,所以就用CTPN的方法,标注了两万张身份证数据,训练FCN。CTPN检测横行文字效果还不错,但是检测旋转或者竖行文字奇差无比,而FCN就能克服文字行旋转的问题,这也是为什么选FCN的主要原因。我接手的时候人工标注的数据也陆续到位了,要做的就是用人工标注的新数据重新训练FCN检测模型。用前任的写网络结构,用前任写的代码,直接根据标注数据制作的图片标签,直接用FCN模型预测出的结果。

       现在想想第一个月做的事情真的好简单啊,真的没什么难度。可为什么自己刚开始学的时候那么头大、学的那么郁闷、还花费了那么久的时间呢?我觉得主要还是自己的学习方式不太对:对自己要做的事情没有明确的认识,在学习过程中没能跟mentor时时交流。刚开始的时候,mentor告诉了自己大致要做什么,大致的学习步骤。可是我却没能很快的对自己要做有个真正的明确认识。Mentor告诉我123,我就知道123,而不会对123之外的东西发问。当然mentor对某事表述123,这个123其实只能是大概的描述下,更详细的信息就需要我自己去询问他、自己去挖掘。因为他本身已经十分了解这个项目了,没讲到的456可能对要做的事儿影响不太大,但是这些细节最终会影响自己对事情的理解。或者他潜意识的默认为你能想到,可自己根本就没往这边思考。Mentor告诉我123,我知道123,这只能对事情有个大致、浅显的认识。自己对要做的事儿没有明确认识的根本原因,在于自己没有深入的理解和思考mentor所说的123.这是一个思考方式的错误。正确的思考方式应该是:mentor告诉你了123,应该想这个123是否有把事情清晰、明确的完整描述,如果是否的话,哪一部分不清晰,哪一部分不完整。其次思考mentor告诉你123是想让你做什么、完成什么工作,把自己理解的要做的事儿复述给mentor,看是否理解对了,不对的话哪里不对,及时纠正。再大致构思下做这件事情的步骤,可能会遇到哪些困难,将困难说出来。对自己是困难的事儿,对mentor可能只是小菜一碟,即使mentor不能直接解决,给出的建议或大致解决方向也很有参考价值,能大大节约自己私下搜索解决方案的时间。最后再思考mentor做这件事儿的原因是什么,就是把自己要做的事儿放到一个更大的环境里去理解。了解这件事儿在一个更大环境里的位置,明白它产生的原因,知道这件事情的上下游。这样一套思索的过程下来,才算是对事情有了很好认识。认识明确了做的时候才不会拖拖拉拉的。

       另一件是同步待标注数据的事儿。当时要做票据识别,没有现成的训练数据,所以跟业务方联系了,他们找了一批实习生用手机拍摄发票、火车票、打车票等票据。因为当时的标注平台功能还不是很完善,没有上传的功能,只能由我们研发这边用程序上传新拍的待标注图片。上传图片这种小活,自然就落在我的头上了。

我要做的就是把业务方帮忙拍摄的图片上传到云空间。具体步骤就是业务方会把拍摄的图片传到内网云盘中,然后发给我们组一个链接,我拿到链接后,从云盘上把图片下载下来,再用程序把图片传到云空间。听起来很简单的样子,没有任何的复杂操作。最初我们和业务方是建了一个群,有什么要求都在群里说,他们拍摄完的图片链接也发在群里。刚开始还好,后来拍摄的多了,群里的聊天也很频繁,链接很容易淹没在群聊中。其次业务方发链接的时间很不规律,有时候一天两次,有时候三四天的攒在一起发。而且有时,由于网络的问题,一整个压缩包下载到1G 多的时候会自动中断,更坑的是这个没下完的压缩包还可以正常打开,虽然可以检查大小看是不是有损的,但是文件一多,很容易就漏掉了。每次发的压缩包里文件夹命名很随意,搞不清楚哪个是什么票据。刚开始的几天真的很烦,天天要写程序,还要整理这些琐碎的图片。还有一次一不小心上传重了几百张,mentor语重心长的跟我说,小心点啊,标注一张发票成本要5块钱呢……嗯,我这手一抖损失了好几千。感觉那一个多星期好心情都全陷在图片中了。也反思过为什么会犯错,不过也只是认为自己工作不够细心,再用心点就不会犯这种简单的错误,从始至终也都没有怀疑是不是这个流程有什么问题。后来跟mentor抱怨,说整理图片太麻烦了。Mentor就说这么做不行,并发邮件跟业务方沟通(注意哦,不是在群里沟通,是邮件):建议业务方实习生拍摄照片后文件夹按一定规则命名,发链接的方式由群里改为邮件;邮件中每个压缩包的拍摄日期,每个压缩包包含哪几种票据,每种票据多少张;邮件抄送群里所有人。其实这样做并没有增加多少业务方的工作量,但是却大大减轻了我的工作。邮件的方式更有序,有迹可查;有序的命名规则,不需要我每次打开文件夹看了图片之后才知道这个文件夹里是什么票据。每次的拍摄日期和每种票据的数据,便于我检查下载的压缩包是否有损,也便于统计业务方上传的总数和我方的接收总数是否一致。其实这本是一件很小的事中的一个很小的改进,但是确这实我之前所不曾关注的。错误的根本原因是流程复杂、不规范。当发生错误时,我的第一反应是反思我自己:自己为什么会做错,自己如何才不能不做错。但是很明显这次的事情是一个协同配合才能完成的,是最开始流程就有问题。是,如果自己更细心、更认真,也能避免错误的发生,但是自己有付出更大的精力;如果改进流程的话,每个环节的人稍微多付出一点精力,就能使整个事情做的更好,这难道不是最好的解决方式吗?这件事给我最大的启示是,当出现问题时,是可以自我反思,但是还应该反思自我之外的流程、制度、环境是不是有问题,有些事情不是自己更仔细、更认真了就能有质的改进,需要参与的所有人协同并进才会更好。

       这算是对我的思维方式改变最大的两件小事了。

       技术方面,这半年算是图像处理、深度学习简单入门了。前期都是在学习、调模型参数,实际上并没有产生多大质的提升。自己也在看物体检测相关的论文,逐步了解检测领域的基本算法和前沿的通用算法,大致对这一块有了基本的认识。直到后来做营业执照识别的时候,才真正的稍有创新。营业执照文字多,特别是经营范围一块,文字周密,文字行间距小,预测的文字行基本都是粘连在一起。无论怎么调模型参数,都不太能直接分开,只能通过对预测结果的处理把粘连的文字行分隔开。这一部分,自己费了一些功夫。再到发票检测的时候,仅对预测结果进行处理又不可行了,这时开始在制作标签这块动心思,后来取得的效果还不错。实习期间还研究了直线检测和tiny-DNN框架,把前任固定大小的FCN检测模型改成任意大小的。虽然做的一切最终使用效果还行,但总觉得没有质的改变。质的改变是在于模型的改变或者模型结构的改变。自己现在会用FCN,也理解它的原理,却没有改进它的思路,也找不到更好的替代方法,这令我很不开心。究其原因,还是自己对物体检测、文字检测这块了解的不够深入。所以离职,回学校,好好研究下这块。

       这半年,学到很多,可是发现自己不知道的更多。

       研二这学期有这么几个想法:

       1.    把Deep learning 的英文版刷完

       2.    研究文字检测

       3.    研究文字识别。为自己的文字检测结果找个应用的地儿。

       4.    认真学习一下区块练技术

       5.    修身养性。补充补充人文历史的知识,多点人文关怀,让这学期的生活不那么枯燥。


 

 

 


推荐阅读
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文讨论了在手机移动端如何使用HTML5和JavaScript实现视频上传并压缩视频质量,或者降低手机摄像头拍摄质量的问题。作者指出HTML5和JavaScript无法直接压缩视频,只能通过将视频传送到服务器端由后端进行压缩。对于控制相机拍摄质量,只有使用JAVA编写Android客户端才能实现压缩。此外,作者还解释了在交作业时使用zip格式压缩包导致CSS文件和图片音乐丢失的原因,并提供了解决方法。最后,作者还介绍了一个用于处理图片的类,可以实现图片剪裁处理和生成缩略图的功能。 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • HTML学习02 图像标签的使用和属性
    本文介绍了HTML中图像标签的使用和属性,包括定义图像、定义图像地图、使用源属性和替换文本属性。同时提供了相关实例和注意事项,帮助读者更好地理解和应用图像标签。 ... [详细]
  • 前端性能优化无损压缩webp格式的图片
    一、什么是webpWebP格式,谷歌开发的一种旨在加快图片加载速度的图片格式。图片压缩体积大约只有JPEG的23,并能节省大量的服务器宽带资源和数据空 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • 在线教育平台的搭建及其优势
    在线教育平台的搭建对于教育发展来说是一次重大进步。未来在线教育市场前景广阔,但许多老师不知道如何入手。本文介绍了在线教育平台的搭建方法以及与传统教育相比的优势,包括时间、地点、空间的灵活性,改善教育不公平现象以及个性化教学的特点。在线教育平台的搭建将为学生提供更好的教育资源,解决教育不公平的问题。 ... [详细]
author-avatar
没有丝袜姑娘
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有