目录
0.根据需求判断所使用的编程语言、库等
例如:按照实际需求来判断,比如你擅长python,然后你的用户群也就几千人,那么fastapi可以满足你的需求,同时考虑硬件、网络等条件(不要极限条件下)!
1.编程语言
【1】python:研究生+工作共5年时间,一直在用python做AI方向,顺便学习了一下简单爬虫、Xpath等;matlab顺便也就差不多懂了;
【2】C++:本科学的C,C++基础,但是都没学透,后面没接触过,搞AI,应用其实主要还是C++(tensorrt、ncnn、tvm等等);
【3】Java:毕业时为了找工作,学习了1个月的java,了解了python等语言的一些底层实现的原理,对python有更深入的理解;然后同步学习了1周的Html、CSS,(工作后:后面学习了2周的js),有助于爬虫理解;
【4】go:go适合高并发-分布式(云上web系统、微服务等);个人专门学习了一段时间的go+gin,当然还有“go”开启Goroutinue;
总结:(仅涉及AI方面)
对于深度学习方向,快速开发算法采用python,实际部署多采用c++,(涉及tensorrt、onnx、pytorch、yolov8.。。。);目前的大模型RAG正在快速迭代中,没有成熟的可完美落地的技术,所以大厂多是python库发布开源GraphRAG等等;
对于web系统方向,涉及大模型问答系统的,快速实现的多采用python fastapi库(如openwebui等),其它方向有go的gin,java的springboot等。
2.web技术方向
【1】目前掌握的是docker、nginx(了解);
【2】硬件16G内存:中小型web系统,个人想用python fastapi+vue-react实现,再要求性能的用go gin实现;如果并发性能要求不高,采用django-drf实现也挺方便的。如果保证下限且有性能就用java springboot。像python fastapi比较灵活,必须规定团队开发标准,要不容易乱。如果能用docker一键式部署最好了。
3.AI方向(研究方向-5年最宝贵时间的研究)
【1】目标检测yolo工业化系列、transformer系列,强化在应用!
【2】大模型RAG,大模型不好训练,受制于算力、数据、人等,但是行业大模型RAG还是推荐的,多模态不是1个人可以弄出来的,多学吧,更新太快;
【3】数据标注工具CVAT、Labelme等;数据爬虫、数据分析、也是AI里面必不可少的步骤;
4.专业方向(GIS)
【1】sar-insar等技术,一旦要用,知道如何去搜索,去用软件,已经烂大街了,不像之前火了;
【2】激光点云、倾斜摄影等,很成熟,用于可视化;
【3】WebGIS:由于python的方便性,以及个人的使用,采用django+drf+postgis+nginx+vue3+cesium实现webgis地理数据的二三维可视化,满足需求即可!
WebGIS即使要求高性能,也不用go+gin+gorm了,需要自己写很多代码读取postgis的几何数据,对于python就有很多库实现,而且python也可以实现上千万的矢量切片服务。
个人更加推荐fastapi python下,来进行webgis后台开发。
【4】对于一些GIS数据处理,给其他人用的话,可以采用python gui库,打包成exe给别人用,保护代码(不要追求打包后的性能,那样不如用c++),另外保护代码采用nuitka打包成pyd,再打包exe保护代码。
注意:仅限作者个人
也许,工作不一定会用到先进的技术,但是一定要知道,能及时去了解,学习!最好能把AI与其它结合,申请科研!
分析好了需求,制定好路线,接下来开始。。。
记住,还有家人、朋友,还有生活!