软件工程师成长为架构师必备的十项技能

  深度学习Keras之父、谷歌大脑人工智能和深度学习研究员Fran?ois Chollet撰写了一本深度学Python教程实战书籍《Python深度学习》,书中介绍了深度学习使用Python语言和强大Keras库,详实新颖。
  
  近日,Fran?ois Chollet接受了采访,就“深度学习到底是什么”、“Python为何如此广受欢迎”、“目前深度学习面临的主要挑战”等议题进行了回答。他认为,目前很多深度学习领域的论文都是无意义的,因为这些研究使用了不科学、不规范的研究方法。以下是采访全文编译。
  
  640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1
  
  关于本人
  
  问:您主要的工作内容是什么?
  
  答:我在谷歌大脑团队工作,花了很多时间开发Keras。我也参加TensorFlow的工作。最近我主要在写机器学习、计算机视觉、将深度学习应用于定理证明等方面的论文。我的主要研究兴趣是理解AI中的抽象和推理问题,如何从感知得到抽象的、高度概括的模型。
  
  深度学习的本质、挑战、和未来
  
  问:深度学习到底是什么?
  
  答:深度学习是机器学习的一种具体方法。与以前的方法相比,它更加强大和灵活。在大多数应用程序中,我们所说的“深度学习”是指一种把大量由人类注释的数据转换为以与人类相似的方式自动注释新数据的软件。您可以通过这种方式自动完成很多不同的任务。深度学习尤其擅长理解“感知”数据,如图像、视频或声音。
  
  我来举例说明。假设有很多图片都带有相关联标签(如“猫”、“狗”)。深度学习可以让你自动将数据转换到一个“了解”如何把图片映射到标签的系统,只需从示例中学习,无需任何手动调整或自定义工程。然后这种系统可以被应用到新的数据,将标记图片任务有效自动化。
  
  同样,你可以将深度学习应用于机器翻译、语音识别、文本到语音转换,光学字符识别等问题。
  
  问:深度学习社区现在面临的主要挑战是什么?
  
  答:打击炒作、发展伦理意识、获得科学严谨性。
  
  炒作:对人工智能的大肆炒作正在危害这个领域。一些人正荒谬地夸大目前AI取得的进展,还说人工智能已把人类逼到了绝境。但事实并非如此。如果我们把目标设得极高,却又不能实现,就是逼着公众站在我们的对立面上。而且,炒作AI这件事,本质上是不诚实的,对公众讨论也产生了危害。
  
  伦理: 现在部署人工智能系统的大多数人来自单一背景,他们往往没有意识到自己所构建的系统给人们带来了道德影响和副作用。这将成为一个问题,因为这个群体所拥有的权力会越来越大。我们需要更多地讨论这些问题,并提高人们对不道德使用AI的潜在行为的觉察力,例如具有偏见性的预测模型会影响公众生活,或以危险的方式操纵AI。
  
  科学: 每天都有大量的深度学习论文发表,其中大多数并没有真正产生任何有意义的新知识,因为这些论文没有遵循科学的研究方法。他们以模糊的方式“评估”模型,或者在他们的训练数据上测试过度拟合模型(尤其是生成模型和强化学习,这是深度学习研究中发展最快的两个主题),仅在MNIST上评估模型等。深度学习简直是科学的重灾区。同行评审通常不会以有意义的方式解决这些问题,也许部分原因是大多数同行评审员进入这个领域最多才一两年。如果想要取得更快的进展,那么当涉及研究可重复性、基线、模型评估和统计显著性时,我们需要更加严谨。我们目前的激励机制是与科学相对立的:发表论文是被鼓励的。如果你的研究听起来既复杂又神秘,很难被正确评估研究重要性,那么发表论文就容易多了。
  
  问:你认为深度学习的未来是什么?
  
  答:我期望AI未来能把“直观的”模式识别模块与正式推理模块相结合。我也希望AI能够演变得更像自动化软件开发的形式,借用目前软件工程中的很多模式和实践。
  
  写书动机
  
  问:你出版了一本新书《Python深度学习》。为什么要写这本书呢?
  
  答:写这本书的原因是,我想推出一个课程,来教那些已有Python编程能力,但没有机器学习背景的人。
  
  Python为何广受欢迎
  
  问:Python应该是目前发展最快的编程语言,至少在高收入国家是这样。为什么Python如此受欢迎?
  
  答:我爱Python。学习Python很容易上手,当你习惯使用它之后,会越来越高效。与我使用过的大多数其他语言相比,Python非常直观和优雅。但是Python真正的杀手锏并不在于语言本身,而是周围的生态系统和社区。无论你需要做什么,比如解析特定的文件格式或与特定系统连接,几乎有一个Python库在做这件事,你不必花时间去做。在数据科学和机器学习方面尤其如此,有很多很棒的工具:numpy,pandas,scikit-learn,plotting libraries等,这使得Python成为一种非常高效的语言。
  
  我喜欢Python的另一个原因是,它并不是一个领域特定的语言,而是多领域的交叉点,从网站开发到数据科学和系统管理。这意味着无需切换到新语言来将Keras模型部署为Web API。无论你需要做什么,无论是启动一个web应用程序,查询一个REST API,还是解析一些文件,训练较先进的深度学习模型,Python通常都会是一个很好的选择。
  NFS 安装:

yum install nfs-utils portmap

systemctl restart nfs-server

systemctl enable nfs-server

systemctl status nfs-server

注意:千万不要手工启用rpcbind服务,换言之,不要执行systemctl restart rpcbind

二、服务器dhcp安装: yum install *dhcp*

(192.168.10.229是x86服务器的IP)

[[email protected] tftpboot]# cat /etc/dhcp/dhcpd.conf

subnet 192.168.10.0 netmask 255.255.255.0 {

range 192.168.10.100 192.168.10.200;

option domain-name-servers 8.8.8.8;

option routers 192.168.10.229;

default-lease-time 21600;

max-lease-time 43200;

next-server 192.168.10.229;

filename "pxelinux.0";

}

启动DHCP服务:

systemctl restart dhcpd

systemctl enable dhcpd

systemctl status dhcpd

三、TFTP服务器搭建: TFTP 服务是通过xinetd 工具管理的

1) yum install tftp-server xinetd

2) mkdir /tftpboot/ www.tkcyl1.com///创建TFTP服务共享的目录

修改如下:

[[email protected] tftpboot]# vim /etc/xinetd.d/tftp

# default: off

# description: The www.yitiali.com tftp server serves files using the trivial file transfer \

# protocol. The www.2018yulpt.com tftp protocol is often used to boot diskless \

# workstations, www.hjha178.com download configuration files to network-aware printers, \

# and to start the installation process for some operating systems.
  给初学者的建议
  
  问:有些声音认为进入机器学习有壁垒。您如何看待?
  
  答:我不同意。在过去的5年中,进入机器学习领域变得非常容易。当然,5-7年前这很艰难。你可能需要研究生教育。你需要用C ++或Matlab来编写大量的低级算法。我经历过这些。而现在不一样了。你只需要Python,很容易上手,你有权限访问高级和易于使用的工具(如Keras)。另外,你可以在网上学到很多非常高质量的资源,你可以在Kaggle上练习现实世界的问题。学习从未如此简单。
  
  问:对于初学者来说,最重要的是什么?
  
  答:最重要的是要深刻了解深度学习能做什么,不能做什么。去感受一些best practice,比如如何正确评估模型,如何防止过度拟合。这需要把正式解释(formal explanations)和对现实问题的广泛实践结合起来。

原文地址:https://www.cnblogs.com/qwangxiao/p/8111478.html

时间: 2024-10-07 16:43:30

软件工程师成长为架构师必备的十项技能的相关文章

全栈软件工程师和系统架构师的异同

看完后.发现.不用怕....因为程序员不会看完.只有"架构师"才有耐心看这么长的. 一 每个好架构师都是一位出色的程序员(卓越的程序员) 架构师,听起来是如此神秘的一个称号.尤其是在开发领域刚入门不久的菜鸟级程序员眼中,架构师都是高手,都是牛人,都是如此高高在上的存在. 不过,在搞了四.五年编程之后,程序员们往往早已失去了当年对这些"高级"职位的神秘感,甚至会对自己所在项目的架构师抱怨不已,背后里称他们是一群水王.所以有江南白衣曾撰文述说:"国内的架构师到

架构师 必备资料

 架构师 必备资料 Apache 使用指南与实现原理.pdf: http://www.t00y.com/file/68570832 How Tomcat Works中文版.pdf: http://www.t00y.com/file/68572394 Java开发技术  在架构中体验设计模式和算法之美 高清扫描完整PDF版.pdf: http://www.t00y.com/file/68521000 jee webserver cluster.pdf: http://www.t00y.com/

互联网架构师必备技能

一.每个好架构师都是一位出色的程序员 这一点毋庸置疑,如果不是写过N年代码的优秀程序员,一定不是好的架构师.“架构师”这是一个听上去比较虚的职位,它的主要价值在于“落地”的过程中,而不是“指点江山”.eBay的架构师总结架构师在项目中的职责: 1)产品团队要做一个产品,架构师要帮助团队把技术可行性,技术方案权衡取舍一一剖析清楚: 2)技术方案权衡取舍出来了,架构师要设计整体的技术实现步骤,这个过程一定是和团队其他成员一起完成的,常见的实践是,1到2个核心成员出一个初稿,然后大家讨论完善: 3)技

JAVA架构师必备词汇和知识点

01 高可用 负载均衡(负载均衡算法) 反向代理 服务隔离 服务限流 服务降级(自动优雅降级) 失效转移 超时重试(代理超时.容器超时.前端超时.中间件超时.数据库超时.NoSql超时) 回滚机制(上线回滚.数据库版本回滚.事务回滚) 02 高并发 应用缓存 HTTP 缓存 多级缓存 分布式缓存 连接池 异步并发 03 分布式事务 二阶段提交(强一致) 三阶段提交(强一致) 消息中间件(最终一致性),推荐阿里的 RocketMQ. 04 队列 任务队列 消息队列 请求队列 05扩容 单体垂直扩容

能从普通Java程序员成长为架构师,只因做到了这3点

毋庸置疑,Java 是目前世界上最流行的语言,也因此作为 Java 程序员,面临的竞争异常激烈.那么,该如何才能"更有竞争力"?如果大家如果在自学遇到困难,想找一个java的学习环境,可以加入我们的java学习圈,点击我加入吧,会节约很多时间,减少很多在学习中遇到的难题. 所谓竞争力,其实包括两个方面:搞得定当下的事,并且未来有不错的发展空间.具体如何体现呢?有下面 3 点: 1.既然选择了 Java 技术栈,深入学习 Java 是首要的.不管是 Web 应用.后端服务还是大数据等等,

要想月薪达到5万,要必备以下9项技能,阿里前大数据工程师说的

现在已经进入了大数据时代,哈佛大学社会学教授加里·金说:"这是一场革命,庞大的数据资源使得各个领域开始了量化进程,无论学术界.商界还是政府,所有领域都将开始这种进程." 目前很火,数据源头,各种炫酷新技术,搭建hadoop.Hive.Spark.Kylin.Druid.Beam~,前提是你要懂Java,很多平台都是用Java开发的.这里面要解决的是实时.近实时和离线的大数据框架如何搭建,各数据流之间如何耦合和解耦我是一名大数据程序员,建了一个大数据资源共享群593188212 每天分享

献给那些前端学习迷茫的人 -----前端开发必备的11项技能!!!

你也许会觉得前端开发是一个很简单的工作,对呀,你就是刚刚从网页设计转型过来的.但当你深入其中时,一定会发现好像前端开发不是那么简单,光网站性能优化.响应式.框架就让你焦头烂额, 确实,做前端开发就是先易后难,想成为一个优秀的前端开发,没有那么简单. 不过,天下事难则不会,会则不难,你只需要掌握11项技能就可以成为前端"大拿",下面,就告诉你这11项技能是什么?以及每项技能的要点,最后是相关的专业图书. 入门必备的技能:   第1项技能:HTML超文本标记语言: 技能要点: HTML文件

优云软件助阵ArchSummit全球架构师峰会(内附大会演讲PPT)

由极客邦科技与 InfoQ 中国主办的 ArchSummit 全球架构师峰会深圳站,于 7 月 7 日 - 8 日在深圳华侨城洲际酒店举办. 本次大会特邀 100 多位国内外技术专家,与1000余名技术管理者.架构师共同分享和交流新技术在行业应用中的最新实践,助力企业技术选型.业务升级与顺利转型.作为ArchSummit大会的高级合作伙伴,优云软件受邀参加本次峰会. ▲峰会现场 优云是广通软件旗下全新一代创新型运维品牌,致力于为客户提供一站式的IT运维解决方案.在此次大会上,向参会者和国内外嘉宾

论运维工程师,系统工程师,系统架构师的区别

系统架构师主要负责系统前期的拓扑图(蓝图)的规划,搭建. 系统工程师主要负责建设系统架构师的蓝图建设 运维工程师主要负责系统后期的维护.