专访 | 徐鹏程:开源,就是酷

news2024/11/17 15:56:46

在这里插入图片描述

OpenMLDB: 请先来一段自我介绍吧。

徐鹏程: 我本科就读于上海交通大学,硕士在伊利诺伊大学香槟分校,专业都是电子与计算机工程,感兴趣的方向有机器学习在生物信息等领域的应用、计算机系统与架构、分布式系统等。平时喜欢唱歌、健身、弹吉他,应该算是一个非典型理工生。

OpenMLDB: 请问是什么样的契机让你接触到了 OpenMLDB 呢?

徐鹏程: 最开始是因为想参加 GSOC 加入了一个分享开源活动的QQ群,虽然 GSOC 的报名没有通过但是在这个社群中了解到很多其他的活动,也接触到了 OpenMLDB 在 GLCC 开源夏令营中的项目。

OpenMLDB: OpenMLDB 社区给你的初印象是怎样的呢?

徐鹏程: 对 OpenMLDB 的第一印象就来自于这个名字 Open source Machine Learning Database ——开源机器学习数据库,觉得是一个听起来挺新颖也有前景的数据库。接触之后,我会发现 OpenMLDB 是一个务实的项目,比较注重企业应用,贴近生产环境,是会真正落地、有实践意义的应用。

OpenMLDB: 为什么在众多项目中选择了 OpenMLDB?

徐鹏程: 实习期间对自动机器学习有过调查研究,在这个过程中产生了很多兴趣。包括在之前做科研实现机器学习项目的时候也经常会遇到调参的问题,那个时候也会想是否可以通过类似AutoML的方法自动化的解决这些问题。看到 OpenMLDB 整合自动特征工程这个课题的时候,感觉它和自己从前遇到的许多问题、想解决的许多问题都不谋而合。

OpenMLDB: 参与这样的开源活动你的感受和在校学习以及实习有什么不同吗?

徐鹏程: 开源项目的代码是会公开展示和提供给互联网上的所有用户,在公共的平台上做出贡献会让我更有成就感。尤其是参加像 OpenMLDB 这样已经收获很多关注、被许多企业落地应用的开源项目,会带给我更多被认可的感觉,觉得自己确实有做出贡献、提供改变。还有一点不同的是,参与开源项目和导师的沟通非常频繁,每周会有 1-2 次的交流,遇到问题可以马上得到指导。

OpenMLDB: 那可以介绍一下项目开发期间社区和导师给你带来的最主要的帮助是什么?

徐鹏程: 其实在参与开源之前社区和导师就根据我的申请书提供了很多指导意见,修改了很大一部分认知不到位的内容。在开源过程中,很多时候作为一个刚刚接触 OpenMLDB 的新手,我在开发过程中要走很多弯路。导师的经验和判断可以帮我避开很多不必要的工作,更快熟悉项目以及更精准地切入核心问题。

OpenMLDB: 你参与开源初心是?

徐鹏程: 说到开源,我的第一反应就是比较酷。能把我们写的代码放在 Github 上让大家自由地浏览使用、探讨交流,能让自己的工作为世界的进步做出一些贡献,本身就很酷而且很让人开心。把这样的经历放在简历上也能给自己加分,开源为自己带来一定的竞争力。而且许多开源项目是积累时间长、功能丰富、项目成熟,代码会积累达到十几万行,真的要为项目做出改进是有挑战性也能带动成长的一件事。

OpenMLDB: 对于新手入门有什么建议呢?

徐鹏程: 可以从一些开源的活动入手,挑选和自己经验能力匹配、和感兴趣的方向有相似性的项目,积极地与社区交流沟通、获得指点引导。同时也可以在最开始尝试的时候,主动降低自己参与开源的门槛,选择一些 good first issue 甚至是在文档中修改错别字。熟悉社区、熟悉项目之后,就可以和开源越走越近。总的来说,就是要循序渐进并且结合自己的兴趣与能力。

OpenMLDB: 可以再给想参与开源的学弟学妹一些建议吗?

徐鹏程: 多多获取信息的来源渠道非常重要。有的时候大家并不是没有能力去参与开源,而是根本就没有了解和接触。在获取相关的信息之后,更进一步需要的是交流。无论是同学、导师还是社区,我们都可以去主动的沟通,了解自己的能力可以解决的问题、所匹配的需求。对自己的能力和社区的需求都有清晰认知和关联匹配,这已经是成功的一半了。

还有需要补充的一点是,如果想参加开源活动,一定要注意时间安排,不要因为卡着 DDL 而错失机会。

OpenMLDB: 在项目进行中遇到的印象最深刻的问题是什么?如何解决的?有什么收获吗?

徐鹏程: 主要的困难还是在方案的设计和实现上。比如说在整合自动特征工程中,我们得到OpenMLDB返回的数据之后需要筛选重建新的 SQL 时,遇到了一些逻辑上的难点。比如说,如何把列名和 SQL 对应起来,无差错地重建 SQL。一开始我的方案是通过一系列的 if else 条件去解析列名再重建 SQL,但是这样的方法再逻辑实现上比较困难,也容易出错。后来的新方案是把列名和对应的 SQL 用 Python 的 dictionary 一 一 对应起来,这样能保持正确的映射关系。虽然会需要一些存储空间,但是能保证正确性。

OpenMLDB: 那你对 OpenMLDB 整合自动特征工程 还有更高的期待吗?

徐鹏程: 最直观的来说,我认为用户使用的便捷程度还有很多提升的空间,如果时间充足的话,我想编辑一个配套文档,可以清晰地表达配置步骤,方便使用者上手。第二点是,代码的整洁性可以继续优化,有一部分重复使用的代码可以封装成函数直接运用。最后一点是功能上可以持续升级,尤其是构造新特征和特征选择算法这两个方向可以深入调研,寻找更通用更强大的实现路径。

OpenMLDB: 可以给想加入开源的同学们一些建议吗?

徐鹏程: 勇敢迈出第一步,不要把时间浪费在观望上。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/70574.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java数据结构与Java算法学习Day08---关于树的深度学习(简略笔记记录)

目录 一、平衡树 119 1.1 2-3查找树 119 1.1.1 2-结点和3-结点的含义 119 1.1.2查找 120 1.2 2-3查找树的插入 121 1.2.1 向2-结点中插入新建 121 1.2.2向一棵树只含有一个3-结点的树中插入新建 121 1.2.3向一个父结点为2-结点的3-结点中插入新建 121 1.2.4向一个父…

数据库建表设计技巧

1.名字 建表的时候,给表、字段和索引起个好名字,真的太重要了。 1.1 见名知意 名字就像表、字段和索引的一张脸,可以给人留下第一印象。 好的名字,言简意赅,见名知意,让人心情愉悦,能够提高…

基于go-micro微服务的实战-zipkin实现全链路追踪(九)

基于go-micro微服务的实战-zipkin实现全链路追踪(九) 文章最后附带完整代码 Zipkin是 Twitter 的一个开源项目,基于 Google Dapper实现。可以使用它来收集各个服务器上请求链路的跟踪数据。除了面向开发的API接口之外,它也提供了方便的 UI 组件帮助我们…

代码随想录算法训练营第五十六天| LeetCode583. 两个字符串的删除操作、LeetCode72. 编辑距离

一、LeetCode583. 两个字符串的删除操作 1:题目描述(583. 两个字符串的删除操作) 给定两个单词 word1 和 word2 ,返回使得 word1 和 word2 相同所需的最小步数。 每步 可以删除任意一个字符串中的一个字符。 2:解题思…

细数一下Java中反射机制及反射的优缺点

1. 反射的概念 反射 机制指的是,程序在运行时能够获取自身的信息。在 java 中只要给定类的名字,就能够获取类的所有属性和方法。 反射是 Java 中很多高级特性的基础,比如 注解、动态代理 以及 Spring Ioc、AOP 等技术都需要借助反射来实现。…

再见 if…elif…!使用 Python 装饰器轻松搞定!

大家好,今天在 Github 阅读 EdgeDB[1] 的代码,发现它在处理大量if…elif…else的时候,巧妙地使用了装饰器,方法设计精巧,分享给大家一下,欢迎收藏学习,喜欢点赞支持,技术交流见文末。…

DJ13-1 汇编语言程序设计-4

目录 1. 带显示的键盘输入(1 号功能) 2. 不带显示的键盘输入(8 号功能) 3. 字符串输入(0AH 号功能) 4. 字符显示(2 号功能) 5. 字符串显示(9 号功能) 6…

【C++哈希表的基础使用记录】

前言 今天重新打开力扣,看到以前的签到题两数之和,以前的方法是双指针暴力解法,偶然看到了哈希表的方法,让我想起了iOS的字典,也顺带学习了哈希表的使用,我这里仅仅限于自己用来写算法题,作以记…

从源码角度看React-Hydrate原理

React 渲染过程,即ReactDOM.render执行过程分为两个大的阶段:render 阶段以及 commit 阶段。React.hydrate渲染过程和ReactDOM.render差不多,两者之间最大的区别就是,ReactDOM.hydrate 在 render 阶段,会尝试复用(hydr…

西门子1200PLC中OB,FC,FB,DB

1.基础知识 临时变量:存储在L堆栈中,块执行结束后,变量消失; 静态变量:存储在背景数据块中,块调用结束后,变量被保留; (1)OB组织块 OB1(MAIN&a…

微信小程序开发笔记 进阶篇⑤——getPhoneNumber 获取用户手机号码(基础库 2.21.2 之前)

文章目录一、前言二、前端代码wxml三、前端代码js四、后端java五、程序流程六、参考一、前言 大部分微信小程序开发者都会有这样的需求:获取小程序用户的手机号码。但是,因为小程序用户的手机号码属于重要信息,为了安全,所以需要如…

[附源码]Python计算机毕业设计SSM基于智能推荐的胖达大码服装定制网(程序+LW)

[附源码]Python计算机毕业设计SSM基于智能推荐的胖达大码服装定制网(程序LW) 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xf…

MacOS卸载自带软件

解锁系统SIP 按CommandR重启电脑,进入后点击上方的实用工具-终端在弹出的终端窗口中输入 csrutil disable下方提示 Successfully,表示解锁成功输入 reboot 重启电脑 卸载自带软件 重启电脑后,打开终端输入sudo -i输入管理员密码分别输入以…

来面试测试岗就这么简单9道题,我刷掉了90%的软件测试员。

人往高处走水往低处流,今天已经是十二月了,“金三银四”招聘季还会远吗? 远观2021年的招聘季,在资本寒冬的映照下,的确萧条了不少,年底裁员、取消年终奖、末尾淘汰制等热门制度,让很多人陷入了…

【与达梦同行】那些DMHS使用二三事

一什么时候用DMHS? Dmhs是异构环境下的数据库实时同步系统。主机源数据库支持 DM6、DM7、MYSQL、PostgreSQL、DB2、SQLServer 和 Oracle9i 以上版本。备机目的数据库支持可通过 ODBC 接口连接的各种主流关系数据库管理系统,包括 DM6、DM7、MYSQL、Postg…

m基于FPGA的积分梳状CIC滤波器verilog设计

目录 1.算法描述 2.仿真效果预览 3.verilog核心程序 4.完整FPGA 1.算法描述 积分梳状滤波器,是指该滤波器的冲激响应具有如下形式: 其物理框图如图所示: 可见,CIC滤波器是由两部分组成:累积器H1和H2梳状滤波器的级…

(附源码)ssm某村青年人口信息管理系统 毕业设计 271621

ssm某村青年人口信息管理系统 摘 要 随着社会的发展,社会的方方面面都在利用信息化时代的优势。互联网的优势和普及使得各种系统的开发成为必需。 本文以实际运用为开发背景,运用软件工程原理和开发方法,它主要是采用SSM技术和mysql数据库来完…

Python下的Logistic回归模型

以前都是写杂文,今天也写写专业文章。 不讲理论,Logistic回归模型(中文简称逻辑回归)的形式就是: 其中, 有的人会把Logistic回归模型的形式写成: 其实,它和第一个公式没有区别&…

worldview卫星数据的查询方法

地理遥感生态网平台代理worldview1、worldview2、worldview3、worldview4、quickbird、geoeye、ikonos、 pleiades、spot1、spot2、spot3、spot4、spot5、spot6、spot7、landsat5(tm)、landsat(etm)、landsat8、rapideye、alos、aster、Hyperion(EO-1)、kompsat2、kompsat-3、k…

vue element 动态增加表单并进行表单验证

表单验证: 需要注意的一点是: 普通表单验证单项依靠的是prop…而动态生成的表单要用:prop 书写的语法是:prop=“‘cloudAccounts.’ + index +’.objectDetails’”,cloudAccounts是v-for绑定的数组,index是索引,objectDetails是表单绑定的v-model的名称,然后用.把他们…