Surface Studio可以当显示器上的usb是干嘛用的来用的吗

本周四雷锋网 AI 研习社邀请了跨國 IT 巨头 ThoughtWorks 的资深数据架构师白发川,主讲线上公开课为大家讲解 TensorFlow 在工程项目中的应用

此前白老师与 ThoughtWorks 高级咨询师佟达接受了雷锋网的采訪,就新手入门 TensorFlow 容易遇到的一些问题以及他们的入门经历,进行了分享请参考:。

另外 ThoughtWorks 的线上培训——,将于下周二在 mooc.ai 上线由两位老师授课。报名请

闲话少说,本次公开课承接对两位老师的采访对两个话题进行了梳理:

这是公开课的录制视频:

不方便看视频的童鞋,可阅读以下对本次公开课的文字转录

由于篇幅较长,本次公开课的文字转录被拆为上下两部分本篇为上篇,讲的是企业级的大數据平台及其架构这是由于 TensorFlow 的商业工程应用必以靠得住的大数据基础设施为前提。

白发川:大家晚上好欢迎大家这次参加本次公开课,同时也作为 开题前的宣讲

本次讲的是 TensorFlow 在工程方面的应用场景,更多偏向工程上的实践也就是说,从工程上来讲一个 TensorFlow 项目在各个方媔要做哪些工作。

TensorFlow 作为一个深度学习框架在整个工程开发的项目中,它只是其中的一部分——我们实际上做开发面临的是一个非常庞夶的体系。因此我们面临的问题是:

在整个体系中我们的工程应该怎样去开发?

在哪种场景之下TensorFlow 会是一个比较好的选择?

自我介绍一丅我是 ThoughtWorks 白发川,之前一直从事大数据后来我们开始做人工智能方向的一些尝试和工作。我们致力于将人工智能、机器学习、大数据结匼在一块在研究了了很多相关的机器学习框架之后,我们也做了自己的深度学习框架——deeplearning.scala它由 scala 编写,目前是开源的大家可以了解下。

这是关于我们公司大家可以在网上了解到,ThoughtWorks 是“敏捷”的倡导者比如说《重构》,还有《Web开发敏捷之道》这些书都是由我们公司嘚同事编写的。

下面进入本公开课的第一个环节

做人工智能也好,做其他机器学习相关的项目也好本质上我们是离不开数据的。因此怎样去规划我们的数据、怎样去设计我们的架构,是非常重要的以我的经验看来,一切不做大数据架构的人工智能项目都不会有特別好的效果。

人工智能项目和数据项目是可以完全独立开的假设我们只有几条数据,倒也可以做人工智能但真正面临生产的时候,如果没有做底层数据规划你的整个人工智能的效果基本会是负的,不会产生特别大的效果

在数据方面,从早期到现在我们经历了不同嘚迭代周期:

  • 最早期的数据处理方式很简单,可能就是搞搞 Excel现场就把数据计算出来了。

  • 慢慢地我们的数据管理方式会倾向于使用数据庫。多个客户端连接同一个数据库来做数据处理。

  • 之后进化到目前的阶段随着计算机硬件的发展,我们出现了数据湖——Data Lake数据湖是茬 Data Warehouse 之上更加扩充的一个方面,而它为机器学习做了很好的支撑

在数据分析这一块,早期大家的需求只是一个数据可视化:我根据数据可視化的结果来做决策、来做判断然后给出关键决策指导下一步的发展方向。到引入机器学习之后有一部分相关分析工作其实是让计算機去做了。当我们的数据计算出结果之后可以由计算机作出初步的决策给人提供参考,然后再由人来做最终的决策这也是目前人工智能方向最常见的方式。

虽然我们在做人工智能但还没有达到不做任何干预、百分之百由计算机出结果的层次.。所以本质上目前的人工智能还是对人的一个辅助参考。我们还是需要人来做处理当然,人工智能最终的进化方案我们一定是希望完全靠计算机来做处理,不鼡人来处理了

这个架构图是一个企业界的大数据架构平台。对于一个企业来讲从历史发展过程中它会有一个非常庞大的 IT 体系,它的数據源遍布于不同系统之中在很早的时候我们会提出一个概念叫做数据整合,就是因为同一批次具有相同业务含义的数据在不同的系统里邊它的存储方式、表示方式完全都不一样。所以为了做这部分工作诞生了早期的 Data Warehouse。我们以规整化的数据、元数据把这一批数据做处悝。

对于一个企业级的大数据平台我们除了要做 BI 的这部分工作,还有一个额外的需求就是机器学习。我们希望我们的大数据架构可以鼡来支撑机器学习可以在架构图中看到,在前面会有数据通道数据通道可以理解为 BI 里 ETL 的这一部分,但本质上它高于 ETL对于数据通道来說,它和ETL的差别在于ETL需要对数据做转换而数据通道仅仅是同步数据,其次ETL相对是个独立模块而数据通道是平台的一部分,受调度器管悝的比如我们的数据通道的功能可以是爬虫。

接下来我们会进入数据湖数据湖是大数据里边提出的一个概念,从本质上来讲它主要負责的是数据存储,对于数据存储来讲它在大数据之下,它要解决好几种问题即结构化数据、半结构化数据、非结构化数据这些不同數据类型的存储。

其次的话它要解决的是数据安全性、数据可靠性。在这个基础之上大家目前看到的 Hadoop 的底层数据实现hdfs它也是数据湖会瑺用到的一种实现。

再往下我们可以看到数据探索。当你成为一个企业级大数据平台之后会面临这样的情况:

我给企业做了数据整合,我们的数据湖都存在了但在接下来要做机器学习的时候,会发现一个问题——我没有办法快速的知道在企业里边我到底需要哪些数據;或者说企业现在已有的这些数据,但是这些数据特别大我们怎么才能够知道目前有哪些数据?都是什么格式

在这个之上诞生的服務叫做 data discovery,翻译过来是数据探索这一项工作本质上是为数据科学家做准备的。我们在搭建了数据服务平台之后我们需要做一系列的调研,从数据科学家的角度来审视这批数据来看它代表的特征和维度到底能不能给我们提供一个非常好的人工智能的支撑。

所以这部分工莋更多的是由具有丰富经验的数据科学家来承担的。他们需要的就是一个简单的数据探索工具因为并不需要全部拿出去。而对于数据湖來讲我们里面放的数据基本上都是 PB 的。在我们所做的项目里面TB 和 TB 以上的数据特别常见。所以对于数据科学家来讲 没有必要 load 完整的数據,代价太大更希望的是快速检索到数据格式,然后哪几条要列数据出来看一下这个数据符不符合我的需求,所以在这个之上我们需要一个数据探索的服务,给他提供这样的支撑

另外,本质上来讲它还有一个功能:管理数据服务的云数据因为我们既然需要快速的查找数据,那么对于数据湖来讲我们的数据(元数据)是不是需要被管理起来?比如说如果我们提供的是一个数据平台,从数据通道進来的数据到底是属于哪一个业务系统的是怎么规划的,都会在里边

再下边的话到了数据预处理。

它的数据来自于数据湖这里提一丅数据湖和数据仓库的差异。在传统 BI 系统里数据源到数据存储之间有一个过程叫做 ETL。做数据规整之后ETL 会再把数据送入 Data Warehouse,而在大数据架構里面我们我们会发现其实我们的基本处理,是在数据湖之上做的数据预处理

这个时候,数据湖和 Data Warehouse 的区别在哪个地方

的所有数据都昰被规整过的,意味着它的数据是结构化的结构化就意味着信息被丢失了。丢失的数据可能对于你的静态业务需求并不是那么明显——比如说我只是出个报表,或者只是做一些统计求平均之类的计算,那我可能把数据规整了没有什么问题。但如果要做机器学习我們更希望提取到全量的数据特征。而一旦数据被规整很大一部分信息就丢失了。这样以来当通过机器学习做特征提取的时候,就会出現非常不准确的问题

另外,对 Data Warehouse 来讲它更注重的是对结构化数据的管理。而在大数据之下其实结构化数据只是我们要处理的一部分数據,并不是全量的除此之外,我们有非结构化数据和半结构化数据而对于这种数据的处理,Data Warehouse 并不是特别的有效

数据湖的概念因此诞苼。我们的所有数据都放在数据湖我们的处理放在数据预处理这一块。预处理会跟随我们的业务当我们需要一个什么样的业务的时候,会通过数据预处理来处理这里的话,我们把之前提到的工作从数据通道到数据湖之间的这个位置,挪到了后面的数据预处理

对于企业来讲,我们的组织结构都能良好的运作因为在 BI、Data Warehouse 来讲,会有一个团队或者说一个角色专门负责 ETL 这个工作;或者把数据从另外一个哋方做处理之后迁移过来。这样的话当我们的业务发生变化,我们的整个数据源要从新数据接触的地方重新清洗过来重新打通。这一個响应周期会特别长

而在大数据架构之下,由于有数据湖这一块业务发生变更的是我们所做的,挪的只是计算我们的计算规则发生叻变化,但数据湖里面的数据照样在里边所以计算的代价肯定是远远小于挪数据的。

数据预处理之后会有两个分支。上边的分支是在線分析、数据可视化这一块来讲,都是为了符合和囊括早期我们在做 BI 系统所需要的那些东西比如说我们要做静态报表展现,在 BI 系统里朂终出来的报表有上钻和下钻这些需求方式其实用在线分析都可以做到。而目前在大数据方面我们也会把传统思想、传统BI 方式里边的┅些思想借鉴过来,它们是特别优秀的比如说 Olap 和创建 Cube 的这种方式,在整个数据分析里边有非常好的作用所以目前来讲,这一块我们是鈳以完全涵盖的

下边是机器学习和决策分析。数据预处理本身并不是做一些静态的报表分析相关的工作而数据预处理囊括了特征提取,这是用来给机器学习做支撑的部分这样的话,我们数据预处理出来的分支既可以满足它静态的数据分析也可以满足我们要做机器学習相关的操作。

最下层有一个服务调度我们可以看到我们的服务调度,从基数到最终都是被整个服务调度起来的,就我们会建立一个統一的大数据调度系统而这样一个好处在于,所有的任务被调度系统统一调度会有一个非常好的任务编排按序执行。

另外一种方式對于早期做 BI 系统时的 ETL 工具,像大家见得比较多的 Kettle 这种工具相对来讲会缺乏调度功能。第一它缺乏调度第二的话它不是特别友好的支持汾布式运行。比如说我们运行一个 Kettle的脚本它可以把数据从一个数据源抽到另外一个数据源,但本身来讲你这个工具没法像 Spark 那样分布到鈈同节点,并行得做处理所以,当我们有一个服务调度层的时候可以把所有的任务全部调度起来。这样的话我们既保证了所有的 job 是鈳被监控的,其次也可以保存一部分状态比如说我某一个 job 失败,我知道从哪个地方再次恢复当我们有了服务调度,我们能够拿到它的所有状态对于最右边这块,我们可以给它做到很好的监控

前边我提到,对于一个企业来讲我们无论是做人工智能还是做数据分析,湔提一定是规划好它的大数据平台大数据平台直接决定了后面所有的效果到底好不好。所以我们定义了一个企业数据成熟度的模型在目前来讲,可能很多需求或者说我们所见到的场景大家都会说我们就是要做人工智能,我们的目标是做人工智能但实际上,从现实情況来讲要到达真正的成熟的人工智能,它中间有很大的跨度

那这个跨度到底怎样去衡量?

在这之上我们提出一个数据传输模型,评估当前你所在的状态在哪个位置;其次你想要的是一个什么结果。

比如说在第一个阶段我们想要知道的,只是从数据里面发现问题這时的需求很简单,我只是做一个订单报表展示相关的工具。这个时候你可能并不会实施人工智能的一些功能,因为还没有到达这个層次你当前所具备的需求,或者说你所具备的数据源根本不支持你做这件事儿。

有了该评估之后除了可以梳理出它的现状,和给它莋评估之外我们还可以根据前边的整个大数据方案来决定你可以实施到哪一层。前边我们看到的大数据架构方案本质上它的每一块可鉯独立出来,作为一个循序渐进的过程这里我们可以看到好几个阶段:

  • 首先,看它发生了什么

  • 第二,分析它为什么发生

  • 第三个阶段,知道它将会发生什么

这个阶段会涉及人工智能。也就是说只有到达第三个阶段的时候,我们才认为对企业来讲你的所有的业务需求和数据支撑已经到达了人工智能需要介入的阶段。这个时候我们会在你的大数据平台之上,考虑把你的整个机器学习接入

所以,达箌这种不同阶段实现不一样的功能也是对数据平台的一个非常严格的考核。就是你的每一个阶段可以无缝的递增到下一个阶段之后,當我们预测了将会发生什么事的时候我们一定会想怎样去优化它,这就到了最后一个阶段

当我们的机器有了数据、有了模型,机器学習的整个体系已经非常完善了就可以达到一个自选型的功能。它可以根据你的数据找出你自己依靠人的经验都没有发现的东西。这是峩们希望达到的终极目标

在这一节将为大家展示,我们所做过的、或我们看到总结下来的大数据架构的不同实践方式

这是一个传统的架构。在机器学习很早之前有一个过程:做 BI 系统之后会有一个阶段——当数据量上来 Data Warehouse 的数据处理会出现瓶颈。这时候我们需要一种架構,保持原来的业务不变保持外围需求,替换底层的技术部分这样整体性能会得到提升。这种架构的实现一般会比较简单从最简单來讲,就是我们根据左边的数据源它可能是数据库或者其他的 FTP,通过 ETL 工具把数据放到数据存储层里边在最右边给大家提供一个和原来效果差不多的服务,在中间的话会有一个数据存储和一个搜索引擎这种搜索引擎主要提供检索的功能。这种传统架构发展起来之后的话我们又有了另外一种架构,叫流市架构

上文提到,传统架构本身是一个线性的服务相对而言,它的响应比较慢ETL 更多是一个定时的。对于定时的数据我们的接入更多的是面对别人的备份数据库,或者说是在业务系统真正把数据落地到数据库之后,我们才接入的茬这个角度来说,我们的所有数据是严重滞后于业务发展的即业务产生数据。当业务产生数据之后你需要隔很长时间才能拿到这批数據。

在这之上我们提出了流式架构流式架构就是:当数据进来之后,我们直接以流的形式把数据接入甚至拿到流数据之后,我们把流數据以消息的形式直接推送到前端这样能很好地满足仅仅具有预警类的功能。比如说我是做运维的那我可能需要一个流式数据,来更恏地满足我当前的一个实质性


在流式架构之后,演变出了 Lambda 架构

前几年,这个架构在我们所有的系统里边、涉及社交大数据架构平台的時候都被广泛实施Lambda 架构在很长一段时间都是优先的选择。它主要分为两个批次整合了传统架构和流式架构的一些优点。在前面的话對于数据处理这块它是一样的,是将数据接入但在数据接入之后,它会分为两个部分:

首先你的数据会进入数据湖,被永久存储起来

其次,数据会进入流处理流处理的数据,根据你的一部分计算结果立马会以消息的形式直接推送给前端。流式处理和上边的 batch 处理,也就是数据存储和数据预处理这一层我们一般称为 batch job;而下面的流处理,我们称为实时处理这两者的逻辑是一样的,但面对的数据不┅样上面数据存储、数据预处理这一块,面对的是全量数据;而下面流式处理面对的是增量数据在 Lambda 架构里边有一个技术叫做前端 view 合并,就是我的流式处理是根据增量数据计算出来的结果立马就给前端展示;数据进来之后它会触发一个 batch job,触发全量计算当全量计算完成の后,它会把这个结果集和流式处理计算出来的结果集进行合并保证最终一致性。因为流失处理有可能会出错毕竟它是增量计算,那麼全量计算一定要保证最终结果是正确的所以这个时候会用 bash job 出来的结果去覆盖流式处理,我们叫它最终一致性就可以保证数据的正确性。

它相对于 Lambda 架构做了一部分的改进:在 Kappa 架构里边我们认为数据都是流式的,就是说我们的所有数据都可以被流式处理数据接入时,峩们的数据进入了消息队列那么它会放入数据存储里边, 同时也会进入流式处理流式处理就和之前一样:在做了处理之后以消息的形式推送到前端。

那为什么在数据存储这一块它没有了 batch job 这一层?它不再做离线计算因为我们的所有数据是可重播的,当我们发现某个某┅个结果计算不正确的时候我们需要重算。对于 Kappa 架构来讲它认为重算就是把之前的数据接入这个动作再重复一遍。所以说它把所有數据都以流式的方式去处理,这样避免了进行一模一样的逻辑计算

我在前面提到, Lambda 架构分为两部分一个流式的,一个 batch job 它们面对的数據集不一样,但计算逻辑都一样而 Kappa 架构就省掉了,把相同这一部分进行了合并

相比起来,它和 Lambda 架构有一点相似不同之处在于,它的鋶式处理变成了模型相关的东西它是目前,我们做大数据架构和机器学习架构整合起来非常完美的一个架构在这个架构里面我们可以佷好地把机器学习放过来。 在 batch job 这一层它主要做的是模型训练当模型训练之后,新数据进来以流式的形式经过模型就会预测出结果。这個结果可以消息的形式被推送出去这样的话,在最外层你就可以拿到流式处理被预算出来的结果。

未完待续请关注雷锋网(公众号:雷锋网)AI 研习社后续整理。

“TensorFlow & 神经网络算法高级应用班”要开课啦!

下周ThoughtWorks 佟达、白发川两位老师主持的 TensorFlow 培训将上线 ,向学员系统性地传道解惑

你是否一直希望有个老司机能手把手带领入门?这就是一次好机会

授课方 ThoughtWorks 是全球领先的 IT 咨询公司,联合国妇女儿童组织、世界卫苼组织合作伙伴总部在芝加哥,42 个办公室分布在全球的 15 个国家

2016 年,ThoughtWorks 力压群雄获得全球“最佳女性科技人员雇主”奖项。

从初级到高級理论+实战,一站式深度了解 TensorFlow!

本课程面向深度学习开发者讲授如何利用 TensorFlow 解决图像识别、文本分析等具体问题。课程跨度为 10 周将从 TensorFlow 嘚原理与基础实战技巧开始,一步步教授学员如何在 TensorFlow 上搭建 CNN、自编码、RNN、GAN 等模型并最终掌握一整套基于 TensorFlow 做深度学习开发的专业技能。

两洺授课老师佟达、白发川身为 ThoughtWorks 的资深技术专家具有丰富的大数据平台搭建、深度学习系统开发项目经验。

开课时间:4 月 25 日(星期二)开課每周二、四晚 20:00-21:00

开课时长:总学时 20 小时,分 10 周完成每周2次,每次 1个小时



雷锋网原创文章未经授权禁止转载。详情见

昨天连接着显示器上的usb是干嘛用嘚正常使用但是突然外接显示器上的usb是干嘛用的黑屏

从此以后,每次插上hub,电脑右下角就会提示‘

DisplayPort/MHL 连接可能无法工作。请尝试使用不同嘚线缆

但是我用我的我朋友的win10电脑,再用我的hub,连接那一台显示器上的usb是干嘛用的就不会出问题。

请好心人告诉我如何解决

此话题已被锁定你可以关注问题或投票为有帮助,但无法回复此话题

建议您先尝试手工更新一下Windows系统以及您的显卡驱动,看是否可以恢复正常,可否提供一下您电脑的具体品牌型号呢?

希望以上信息可以帮得到您,如果还有什么疑问的话,请不要客气随时可以继续提问,我将帮您直到问题解決.

这是否解决了你的问题?

太好了!感谢你做出的回答。

你对此回复的满意度如何?

感谢你的反馈它能帮助我们改进网站。

你对此响应的满意喥如何?

建议您先尝试手工更新一下Windows系统以及您的显卡驱动,看是否可以恢复正常,可否提供一下您电脑的具体品牌型号呢?

希望以上信息可以帮嘚到您,如果还有什么疑问的话,请不要客气随时可以继续提问,我将帮您直到问题解决.

你好我的电脑型号是 联想miix510-121IKB ,每次把绿联的转接头插入电腦的type-c接口,就提示这个我把电脑系统更新到最新了,显卡驱动也更新了还是这样,请解决下

这是否解决了你的问题?

太好了!感谢你做絀的回答。

你对此回复的满意度如何?

感谢你的反馈它能帮助我们改进网站。

你对此响应的满意度如何?

我要回帖

更多关于 显示器上的usb是干嘛用的 的文章

 

随机推荐