成为计算机视觉工程师的第一个月,我都学会了什么?

news/2024/7/5 5:04:20

点击上方“小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达0563cf8188dbe1c49eb47f06f600d58d.png

作者 | Richmond Alake

译者 | 弯月

我写这篇文章的目的是为了向那些没有接触过机器学习行业的人们介绍一下我作为计算机视觉工程师第一个月以来的体验,希望这些内部信息能够让你们在做职业选择时有所启发。

但是请记住,本文只是我的个人体验,并不代表整个行业。

我将在本文中探讨以下内容:

  • 在这一个月里我的内心充满了恐惧

  • 视觉工程师的研究要求

  • 为什么研究很重要

  • 哪些技术有助于以机器学习为中心的工作取得成功

01.恐惧与责任

老实说,我在惴惴不安中度过了第一个月。这并不是我的第一份正式工作,在成为机器学习/计算机视觉工程师之前,我曾做过三年半的Web开发。

但这次的感觉有很大的不同。我感到恐惧的原因有以下几种:

  • 我负责与公司产品相关的所有计算机视觉工作

  • 我们团队非常信任我的各项决定

恐惧不一定是一件坏事,我用恐惧武装自己,迫使自己将工作做到尽善尽美,并在需要时给予100%的回报。

02.研究

作为公司的首位以机器学习为中心的员工,大家希望我提出最恰当的工作流程。

其中包括许多研究工作。

作为一名机器学习工程师,你必须理解各个发表论文中提及的最新技术的关键细节。

实现技巧对工程师至关重要,但是你必须成为该领域的专家,才能解释清楚机器学习模型的工作原理,或为什么选择其中一种方法而舍弃其他方法。

在这一个月里,我阅读了大量有关标准计算机视觉问题解决方案的研究论文,例如姿态估计、语义分割、对象检测等等。

03.技术

我们公司主要的产品以iOS移动应用的形式呈现。

而我没有接触过开发iOS移动应用的经验,因此在这一个月里我不得不熟悉Xcode(开发移动应用程序的IDE)以及Swift(苹果的移动开发编程语言)。

很多人可能不太了解,其实一名优秀的机器学习工程师也必须掌握软件开发的技术。

机器学习工程师的工作不仅限于Jupyter Notebook和Python脚本,而且还需要使用新的编程语言来构建网站或移动应用,这是一个非常高的要求。

每天,我都需要交替使用Swift、Python和JavaScript来完成各种不同的任务。

其中的关键并不是要掌握大量编程语言,而是需要具备掌握大多数编程语言基础知识的能力。

学习面向对象编程(OOP)是一个不错的起点。

通常,从一种编程语言中学到的知识在其他语言中也通用。

04.硬件

在我的个人项目中,一般我会使用Nividia Geforce GTX 1650来训练大多数机器学习模型。但这个GPU远远比不上训练最新模型所需的硬件规范。

在这一个月里,我的任务是总结出公司应该购买的GPU工作站技术规范。

为了选择合适的硬件组件,我需要预见未来几个月甚至几年我将要训练的模型类型。

为了做出正确的决定,我不得不做大量的研究工作,搞清楚最新的研究论文采用了哪些硬件规格来训练模型。

同样,我还需要研究能够支持稳定工作站的其他硬件组件。

我考虑了以下各个方面:

  • 冷却系统

  • 主板和处理器

  • 电源容量

  • GPU插槽

  • 以及其他……

05.文档记录

软件的文档记录过程冗长、乏味且无聊。但是将商定的技术方法全部记录下来至关重要。

我们必须记录采取的每项决定和方法,以方便告知团队成员和后来的新人。

在第一个月里,我在记录文档上了大约12个小时,虽然很没意思,但非常有必要。

我记录的内容包括:

  • 记录推进机器学习项目时采用的流程

  • 研究论文的摘要,方便大家快速消化重要资料

  • 关键项目以及软件解决方案的实现方法

  • GPU工作站硬件规格比较

  • 代码内文档,说明实现代码的原因和逻辑

各个岗位都有很多需要记录的领域。每周都应该花费至少2个小时来专门处理文档。

06.喜欢这份工作

作为公司正式的计算机视觉工程师,我在第一个月里学习了很多有关如何应用机器学习技术的见解。

我发现,许多人可能不知道机器学习模型并不是最终产品。机器学习本身只是软件工程中的一个环节;只有将我们的研究成果嵌入到软件系统中,才能以创新的方式执行任务。

展望未来,第一个月的工作让我意识到我很喜欢机器学习能够带来的创造性输出。

朝着创新的目标努力可以让平凡的模型实现、调试以及训练任务少些无聊。

07.总结

在第一个月中,我实现了以下目标:

  • 为计算机视觉的实现过程设定标准

  • 学习一种新的编程语言

  • 提供用于构建公司GPU工作站的硬件规范

  • 学习计算机视觉技术的实现技术,例如姿态估计、手势识别和语义分割等

  • 学习TensorFlow和TensorFlow Lite

在接下来的几个月中,我将探索并实现更多最新的解决方案。希望在三个月后,我能在这个岗位上更上一层楼。

原文链接:

https://towardsdatascience.com/my-first-month-as-a-computer-vision-engineer-5813574d394a

下载1:OpenCV-Contrib扩展模块中文版教程

在「小白学视觉」公众号后台回复:扩展模块中文教程即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。

下载2:Python视觉实战项目52讲

在「小白学视觉」公众号后台回复:Python视觉实战项目即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。

下载3:OpenCV实战项目20讲

在「小白学视觉」公众号后台回复:OpenCV实战项目20讲即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。

交流群

欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~

95414e85cc485f682183fe255ef03eb6.png

f373e139a6b50abedeee50d98c842920.png


http://lihuaxi.xjx100.cn/news/269496.html

相关文章

php学习之道:WSDL具体解释(三)

通过声明方式定义绑定(binding)属性 假设你在服务中採用SOAP binding。你能够使用JAX-WS来指定一定数量的属性binding。这些属性指定相应你在WSDL中指定的属性。某些设置。比方參数类型,能够约束你实现的方法。这些设置也影响声明的效用。 SO…

FastSpeech语音合成系统技术升级,微软联合浙大提出FastSpeech2

来源 | 微软研究院AI头条(ID: MSRAsia)编者按:基于深度学习的端到端语音合成技术进展显著,但经典自回归模型存在生成速度慢、稳定性和可控性差的问题。去年,微软亚洲研究院和微软 Azure 语音团队联合浙江大学提出了快速…

控制客户端对同一个服务端地址的连接端口数量

转载于:https://juejin.im/post/5c18c2fef265da613e222d70

celery的初次使用

celery的初次使用 基本步骤: 选择并且安装一个消息中间件(Broker) 安装 Celery 并且创建第一个任务 运行职程(Worker)以及调用任务 跟踪任务的情况以及返回值 应用 创建第一个 Celery 实例程序,把创建…

android adb root方法

2019独角兽企业重金招聘Python工程师标准>>> 在有些android手机上使用adb root希望获取root权限时出现如下提示信息:adbd cannot run as root in production builds。此时提升root权限的方法是: 1。在android手机上获取超级用户权限&#xff…

图神经网络从入门到入门

点击上方“视学算法”,选择加"星标"或“置顶”重磅干货,第一时间送达作者丨yyHaker来源丨https://zhuanlan.zhihu.com/p/136521625编辑丨极市平台导读 本文从一个更直观的角度对当前经典流行的GNN网络,包括GCN、GraphSAGE、GAT、GA…

excel html modify,在Excel 2010中修改Series对象上的Z-index(Modify Z-index on Series object in Excel 2010)...

在Excel 2010中修改Series对象上的Z-index(Modify Z-index on Series object in Excel 2010)我正在使用excel 2010。我有一个图表图表,我在其上放置一个矩形围绕最高栏栏。为了使事情更具可读性,我想将这个矩形放在图表上,但不要放在行/条/等…

读书笔记——《黑客大曝光》(1/8)

第一部分 收集情报 案例研究 Tor系统基于洋葱路由器,是第二代低延迟匿名系统,用户可通过它在互联网上进行匿名通信。Tor网络的使用者必须在他们的系统上运行一个洋葱代理,这个代理允许它们在Tor网络上进行通信,并协商一个虚拟链路…