预期计划
本项目是创建一个搭载于网页端上的基于深度学习建立的具有高识别准确率的鸟类识别器,原理是利用大量鸟类图片建立特定数据集通过强化监督训练模型进行图像分类,其功能是可以通过用户上传的鸟类图片在高识别率的基础上准确识别出其类别。
项目燃尽图
α迭代:确定项目需求、Web和算法部分独立模块完成
β迭代:进行整合和优化准确率,进行测试
项目燃尽图
实际遇到哪些问题,是如何解决的?
前后端框架,使用的技术,部署的流程
框架:
前端: Layui 经典模块化前端框架、jQuery
后端:Django
技术:
基于python的后端和网页设计
神经网络:efficientNet
部署方法:
git clone https://github.com/18ouc/RuanJianGongCheng.git
cd RuanJianGongCheng
python manage.py runserver 8000
接着打开浏览器http://127.0.0.1:8000/即可看到
关于测试
演示视频图片
一张照片
分工情况:
丁泽中:算法学习优化
徐凯新:算法学习优化
杨宗富:前后端结合
廖鑫源:前端设计
蒋四海:后台设计
李航:前端设计
体会
丁泽中:第一次从实践方面 真正运用ML的相关知识,后面会加深的对于ML和DL原理上的学习,然后在以后能够更好地运用和发现更好的模型。项目过程虽然艰难,但是收获挺大的。
徐凯新:通过本次实验,学习了卷积神经网络和相关数学知识的应用。通过这次学习我对卷积神经网络有了一个系统的了解和认识,对其中的解决、分类识别的原理有了一个大概的认知。收获很大。
李航:通过这个项目,我学习到了软件工程项目开发的经验,第一次接触通过迭代的方法进行开发的模式,学习到了这种系统开发软件的过程与方法,对机器学习的相关知识有了初步的了解,同时学到了很多前端开发以及前端后端接口的相关知识,为今后踏入社会参加软件工程项目收获了宝贵的经验。
廖鑫源:在本次软工实验中,我通过对小组后端代码的分析,对于后端深度学习算法的设计和实现有了更深的了解,并且在前端设计中对于如何布局,如何传递数据也有了更为清晰的认识。除了知识上的收获,对于小组如何分工合作,如何对接项目,如何完成一个项目也有了更为直观的了解,在今后的生活中也有了更多的经验。
蒋四海:对于如何对接项目,如何完成一个项目也有了更为直观的了解,在今后的生活中也有了更多的经验。同时也学习了相关机器学习知,识提高了许多python能力。
杨宗富:通过本次实验对于模型与网页的结合理解更加深刻,同时对于机器学习领域有了进一步的了解。提升了自我的能力。
附加题:
丁泽中 1、对之后上这门课的同学,或者对于开学初的你,有什么建议和告诫?
做好项目规划,及时明确分工,早点儿结束项目
2、对于作业或者课程安排有什么样的建议
无
3、自己对未来的期许
通过这次项目,感触也是挺多吧。因为这学期负责并不只是一个项目,在图书管理系统和软件工程项目都是担任组长,在这个阶段收获还是挺多的。
首先,我感受到了作为一个项目的leader必须要拥有这个项目的能力。换言之,并不是当组长只是负责分工工作然后只管自己的部分。因为后期的整合应该要由组长负责,这是技术上的。
同时,一个项目的管理者应该具有管理能力。自己以后确实也应该多学学管理学相关东西,如何更好地协调工作是一种能力。不过有时候也不太愿意多与人交流,这或许就是困境。
未来的挑战很多,事情也很多,期许就是能够取得进步就好,比昨天的自己更强就更好。
杨宗富
1、对之后上这门课的同学,或者对于开学初的你,有什么建议和告诫?我一开始认为软件工程这门课是写一个大型项目,会涉及到很多编码方面的过程。然而,在上这门课后,我发现这门课的最主要目的不是去编码,而是懂得利用更系统的知识与方法,去管理和组织一个软件项目。虽然常说这门课上了后感觉和没上一样,但我感觉,在这门课上,还是学到了很多关于项目管理、组织、会议、测试等的科学方法。此外,还接触到了机器学习相关方面的知识,虽然有些难以消化,但是对自己来说,也是打开了一道新的大门。之前,我认为一个大项目只要有足够的编码能力就能顺利解决,我想在明白之前的想法是很天真的,项目的好坏不是一个人决定的,而是一个团队,尤其团队的协作与管理。总之,对于知识来说,总是有所用武之地,相信在这门课上学到的东西,一定会帮我解决很多的问题。
2、对于作业或者课程安排有什么样的建议?老师的这门课很好,当然也很火热,这也能从选课人数看出来。希望老师的课程越来越好。但是我要说的是,正因为太火了,学校应该改一个大一点的教室。一个学期以来,我只坐过一次有桌子的座位,16次课都从隔壁教室搬凳子。虽然后面都习惯了,也是挺好的一次经历。
3、自己对未来的期许?不管是读研也好,还是工作也罢,将来肯定是要从事计算机相关的事。所以我希望自己能在以后的项目经历中,用上软件工程所学的知识,不断完善自己,提升自己。既然接触到了机器学习相关入门知识,我觉得今后可以多学学机器学习方面的知识。
徐凯新
1. 感谢高老师带我入CV的坑!没有高老师我就不会去学CV!就不会拿到满意的实习offer!
2. 可以穿插一些深度学习的基础技能(识别率高了但是模型是搜来的还是啥都不会),孩子能力有限实在是学的找不着北
3. 尽量避免上课迟到睡觉看奥特曼
李航
1.建议在选课之前,就简单了解软件工程这门课课程的安排,提前学习前端后端的相关知识,因为项目展开后再从0开始会使得时间非常紧张,同时项目也无法保质保量,还会拖大佬的后腿,为了对课程项目提供技术上的保证,在学习中每周制定好计划,按照计划学习、以及项目开发。严格执行项目迭代计划,按时完成项目各阶段迭代指标。
2.对于作业或者课程安排有什么样的建议?作业可以在学习相关代码的同时增加一些提交结果的作业,比如学习了一种算法,课后可以出一道相关习题,让同学交代码和结果的实验报告,能加深学习的理解。
3自己对未来的期许?希望自己可以通过这门课了解到迭代开发做项目的经验,为以后的工作、学习打下坚实的基础。同时通过这门课学习到了很多的前后端知识,让自己对计算机有了更大的兴趣,希望可以通过兴趣的增加,让自己以后更加努力,在这个行业做得更好。