精华内容
参与话题
问答
  • AI核心技术掌握

    千人学习 2019-07-02 09:57:03
    从前馈神经网络到反向传播,再到循环神经网络,强化学习、深度学习,学生可以通过「AI 核心技术掌握」这系列课程,迈入人工智能的大门。
  • 大数据方面核心技术有哪些?

    千次阅读 2019-04-18 17:42:38
    大数据技术的体系庞大且复杂,基础的技术包含数据的采集、数据预处理、分布式存储、NoSQL数据库、数据仓库、机器学习、并行计算、可视化等各种技术范畴和不同的技术层面。首先给出一个通用化的大数据处理框架,主要...

    大数据技术的体系庞大且复杂,基础的技术包含数据的采集、数据预处理、分布式存储、NoSQL数据库、数据仓库、机器学习、并行计算、可视化等各种技术范畴和不同的技术层面。首先给出一个通用化的大数据处理框架,主要分为下面几个方面:数据采集与预处理、数据存储、数据清洗、

    一、数据采集与预处理

    对于各种来源的数据,包括移动互联网数据、社交网络的数据等,这些结构化和非结构化的海量数据是零散的,也就是所谓的数据孤岛,此时的这些数据并没有什么意义,数据采集就是将这些数据写入数据仓库中,把零散的数据整合在一起,对这些数据综合起来进行分析。数据采集包括文件日志的采集、数据库日志的采集、关系型数据库的接入和应用程序的接入等。在数据量比较小的时候,可以写个定时的脚本将日志写入存储系统,但随着数据量的增长,这些方法无法提供数据安全保障,并且运维困难,需要更强壮的解决方案。

     

     

    Flume NG作为实时日志收集系统,支持在日志系统中定制各类数据发送方,用于收集数据,同时,对数据进行简单处理,并写到各种数据接收方(比如文本,HDFS,Hbase等)。Flume NG采用的是三层架构:Agent层,Collector层和Store层,每一层均可水平拓展。其中Agent包含Source,Channel和 Sink,source用来消费(收集)数据源到channel组件中,channel作为中间临时存储,保存所有source的组件信息,sink从channel中读取数据,读取成功之后会删除channel中的信息。

     

     

     

    NDC,Netease Data Canal,直译为网易数据运河系统,是网易针对结构化数据库的数据实时迁移、同步和订阅的平台化解决方案。它整合了网易过去在数据传输领域的各种工具和经验,将单机数据库、分布式数据库、OLAP系统以及下游应用通过数据链路串在一起。除了保障高效的数据传输外,NDC的设计遵循了单元化和平台化的设计哲学。

     

     

     

    Logstash是开源的服务器端数据处理管道,能够同时从多个来源采集数据、转换数据,然后将数据发送到您最喜欢的 “存储库” 中。一般常用的存储库是Elasticsearch。Logstash 支持各种输入选择,可以在同一时间从众多常用的数据来源捕捉事件,能够以连续的流式传输方式,轻松地从您的日志、指标、Web 应用、数据存储以及各种 AWS 服务采集数据。

     

     

     

    Sqoop,用来将关系型数据库和Hadoop中的数据进行相互转移的工具,可以将一个关系型数据库(例如Mysql、Oracle)中的数据导入到Hadoop(例如HDFS、Hive、Hbase)中,也可以将Hadoop(例如HDFS、Hive、Hbase)中的数据导入到关系型数据库(例如Mysql、Oracle)中。Sqoop 启用了一个 MapReduce 作业(极其容错的分布式并行计算)来执行任务。Sqoop 的另一大优势是其传输大量结构化或半结构化数据的过程是完全自动化的。

     

     

     

    流式计算是行业研究的一个热点,流式计算对多个高吞吐量的数据源进行实时的清洗、聚合和分析,可以对存在于社交网站、新闻等的数据信息流进行快速的处理并反馈,目前大数据流分析工具有很多,比如开源的strom,spark streaming等。

     

     

     

    Strom集群结构是有一个主节点(nimbus)和多个工作节点(supervisor)组成的主从结构,主节点通过配置静态指定或者在运行时动态选举,nimbus与supervisor都是Storm提供的后台守护进程,之间的通信是结合Zookeeper的状态变更通知和监控通知来处理。nimbus进程的主要职责是管理、协调和监控集群上运行的topology(包括topology的发布、任务指派、事件处理时重新指派任务等)。supervisor进程等待nimbus分配任务后生成并监控worker(jvm进程)执行任务。supervisor与worker运行在不同的jvm上,如果由supervisor启动的某个worker因为错误异常退出(或被kill掉),supervisor会尝试重新生成新的worker进程。

    在这里我还是要推荐下我自己建的大数据学习交流qq裙:522189307 , 裙 里都是学大数据开发的,如果你正在学习大数据 ,小编欢迎你加入,大家都是软件开发党,不定期分享干货(只有大数据开发相关的),包括我自己整理的一份最新的大数据进阶资料和高级开发教程,欢迎进阶中和进想深入大数据的小伙伴。
     

    当使用上游模块的数据进行计算、统计、分析时,就可以使用消息系统,尤其是分布式消息系统。Kafka使用Scala进行编写,是一种分布式的、基于发布/订阅的消息系统。Kafka的设计理念之一就是同时提供离线处理和实时处理,以及将数据实时备份到另一个数据中心,Kafka可以有许多的生产者和消费者分享多个主题,将消息以topic为单位进行归纳;Kafka发布消息的程序称为producer,也叫生产者,预订topics并消费消息的程序称为consumer,也叫消费者;当Kafka以集群的方式运行时,可以由一个服务或者多个服务组成,每个服务叫做一个broker,运行过程中producer通过网络将消息发送到Kafka集群,集群向消费者提供消息。Kafka通过Zookeeper管理集群配置,选举leader,以及在Consumer Group发生变化时进行rebalance。Producer使用push模式将消息发布到broker,Consumer使用pull模式从broker订阅并消费消息。Kafka可以和Flume一起工作,如果需要将流式数据从Kafka转移到hadoop,可以使用Flume代理agent,将Kafka当做一个来源source,这样可以从Kafka读取数据到Hadoop。

     

     

     

    Zookeeper是一个分布式的,开放源码的分布式应用程序协调服务,提供数据同步服务。它的作用主要有配置管理、名字服务、分布式锁和集群管理。配置管理指的是在一个地方修改了配置,那么对这个地方的配置感兴趣的所有的都可以获得变更,省去了手动拷贝配置的繁琐,还很好的保证了数据的可靠和一致性,同时它可以通过名字来获取资源或者服务的地址等信息,可以监控集群中机器的变化,实现了类似于心跳机制的功能。

     

    二、数据存储

    Hadoop作为一个开源的框架,专为离线和大规模数据分析而设计,HDFS作为其核心的存储引擎,已被广泛用于数据存储。

     

     

     

    HBase,是一个分布式的、面向列的开源数据库,可以认为是hdfs的封装,本质是数据存储、NoSQL数据库。HBase是一种Key/Value系统,部署在hdfs上,克服了hdfs在随机读写这个方面的缺点,与hadoop一样,Hbase目标主要依靠横向扩展,通过不断增加廉价的商用服务器,来增加计算和存储能力。

     

     

     

    Phoenix,相当于一个Java中间件,帮助开发工程师能够像使用JDBC访问关系型数据库一样访问NoSQL数据库HBase。

     

     

     

    Yarn是一种Hadoop资源管理器,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。Yarn由下面的几大组件构成:一个全局的资源管理器ResourceManager、ResourceManager的每个节点代理NodeManager、表示每个应用的Application以及每一个ApplicationMaster拥有多个Container在NodeManager上运行。

     

     

     

    Mesos是一款开源的集群管理软件,支持Hadoop、ElasticSearch、Spark、Storm 和Kafka等应用架构。

     

     

     

    Redis是一种速度非常快的非关系数据库,可以存储键与5种不同类型的值之间的映射,可以将存储在内存的键值对数据持久化到硬盘中,使用复制特性来扩展性能,还可以使用客户端分片来扩展写性能。

     

     

     

    Atlas是一个位于应用程序与MySQL之间的中间件。在后端DB看来,Atlas相当于连接它的客户端,在前端应用看来,Atlas相当于一个DB。Atlas作为服务端与应用程序通讯,它实现了MySQL的客户端和服务端协议,同时作为客户端与MySQL通讯。它对应用程序屏蔽了DB的细节,同时为了降低MySQL负担,它还维护了连接池。Atlas启动后会创建多个线程,其中一个为主线程,其余为工作线程。主线程负责监听所有的客户端连接请求,工作线程只监听主线程的命令请求。

     

    互联网科技发展蓬勃兴起,人工智能时代来临,抓住下一个风口。为帮助那些往想互联网方向转行想学习,却因为时间不够,资源不足而放弃的人。我自己整理的一份最新的大数据进阶资料和高级开发教程,大数据学习群: 740041381就可以找到组织学习  欢迎进阶中和进想深入大数据的小伙伴加入

     

    Kudu是围绕Hadoop生态圈建立的存储引擎,Kudu拥有和Hadoop生态圈共同的设计理念,它运行在普通的服务器上、可分布式规模化部署、并且满足工业界的高可用要求。其设计理念为fast analytics on fast data。作为一个开源的存储引擎,可以同时提供低延迟的随机读写和高效的数据分析能力。Kudu不但提供了行级的插入、更新、删除API,同时也提供了接近Parquet性能的批量扫描操作。使用同一份存储,既可以进行随机读写,也可以满足数据分析的要求。Kudu的应用场景很广泛,比如可以进行实时的数据分析,用于数据可能会存在变化的时序数据应用等。

     

     

     

    在数据存储过程中,涉及到的数据表都是成千上百列,包含各种复杂的Query,推荐使用列式存储方法,比如parquent,ORC等对数据进行压缩。Parquet 可以支持灵活的压缩选项,显著减少磁盘上的存储。

     

    三、数据清洗

    MapReduce作为Hadoop的查询引擎,用于大规模数据集的并行计算,”Map(映射)”和”Reduce(归约)”,是它的主要思想。它极大的方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统中。

     

     

     

    随着业务数据量的增多,需要进行训练和清洗的数据会变得越来越复杂,这个时候就需要任务调度系统,比如oozie或者azkaban,对关键任务进行调度和监控。

     

     

     

    Oozie是用于Hadoop平台的一种工作流调度引擎,提供了RESTful API接口来接受用户的提交请求(提交工作流作业),当提交了workflow后,由工作流引擎负责workflow的执行以及状态的转换。用户在HDFS上部署好作业(MR作业),然后向Oozie提交Workflow,Oozie以异步方式将作业(MR作业)提交给Hadoop。这也是为什么当调用Oozie 的RESTful接口提交作业之后能立即返回一个JobId的原因,用户程序不必等待作业执行完成(因为有些大作业可能会执行很久(几个小时甚至几天))。Oozie在后台以异步方式,再将workflow对应的Action提交给hadoop执行。

     

     

     

    Azkaban也是一种工作流的控制引擎,可以用来解决有多个hadoop或者spark等离线计算任务之间的依赖关系问题。azkaban主要是由三部分构成:Relational Database,Azkaban Web Server和Azkaban Executor Server。azkaban将大多数的状态信息都保存在MySQL中,Azkaban Web Server提供了Web UI,是azkaban主要的管理者,包括project的管理、认证、调度以及对工作流执行过程中的监控等;Azkaban Executor Server用来调度工作流和任务,记录工作流或者任务的日志。

     

     

     

    流计算任务的处理平台Sloth,是网易首个自研流计算平台,旨在解决公司内各产品日益增长的流计算需求。作为一个计算服务平台,其特点是易用、实时、可靠,为用户节省技术方面(开发、运维)的投入,帮助用户专注于解决产品本身的流计算需求。

     

    四、数据查询分析

    Hive的核心工作就是把SQL语句翻译成MR程序,可以将结构化的数据映射为一张数据库表,并提供 HQL(Hive SQL)查询功能。Hive本身不存储和计算数据,它完全依赖于HDFS和MapReduce。可以将Hive理解为一个客户端工具,将SQL操作转换为相应的MapReduce jobs,然后在hadoop上面运行。Hive支持标准的SQL语法,免去了用户编写MapReduce程序的过程,它的出现可以让那些精通SQL技能、但是不熟悉MapReduce 、编程能力较弱与不擅长Java语言的用户能够在HDFS大规模数据集上很方便地利用SQL 语言查询、汇总、分析数据。

     

     

     

    Hive是为大数据批量处理而生的,Hive的出现解决了传统的关系型数据库(MySql、Oracle)在大数据处理上的瓶颈 。Hive 将执行计划分成map->shuffle->reduce->map->shuffle->reduce…的模型。如果一个Query会被编译成多轮MapReduce,则会有更多的写中间结果。由于MapReduce执行框架本身的特点,过多的中间过程会增加整个Query的执行时间。在Hive的运行过程中,用户只需要创建表,导入数据,编写SQL分析语句即可。剩下的过程由Hive框架自动的完成。

     

     

     

    Impala是对Hive的一个补充,可以实现高效的SQL查询。使用Impala来实现SQL on Hadoop,用来进行大数据实时查询分析。通过熟悉的传统关系型数据库的SQL风格来操作大数据,同时数据也是可以存储到HDFS和HBase中的。Impala没有再使用缓慢的Hive+MapReduce批处理,而是通过使用与商用并行关系数据库中类似的分布式查询引擎(由Query Planner、Query Coordinator和Query Exec Engine三部分组成),可以直接从HDFS或HBase中用SELECT、JOIN和统计函数查询数据,从而大大降低了延迟。Impala将整个查询分成一执行计划树,而不是一连串的MapReduce任务,相比Hive没了MapReduce启动时间。

     

     

     

    Hive 适合于长时间的批处理查询分析,而Impala适合于实时交互式SQL查询,Impala给数据人员提供了快速实验,验证想法的大数据分析工具,可以先使用Hive进行数据转换处理,之后使用Impala在Hive处理好后的数据集上进行快速的数据分析。总的来说:Impala把执行计划表现为一棵完整的执行计划树,可以更自然地分发执行计划到各个Impalad执行查询,而不用像Hive那样把它组合成管道型的map->reduce模式,以此保证Impala有更好的并发性和避免不必要的中间sort与shuffle。但是Impala不支持UDF,能处理的问题有一定的限制。

     

     

     

    Spark拥有Hadoop MapReduce所具有的特点,它将Job中间输出结果保存在内存中,从而不需要读取HDFS。Spark 启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。Spark 是在 Scala 语言中实现的,它将 Scala 用作其应用程序框架。与 Hadoop 不同,Spark 和 Scala 能够紧密集成,其中的 Scala 可以像操作本地集合对象一样轻松地操作分布式数据集。

     

     

     

    Nutch 是一个开源Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具,包括全文搜索和Web爬虫。

     

     

     

    Solr用Java编写、运行在Servlet容器(如Apache Tomcat或Jetty)的一个独立的企业级搜索应用的全文搜索服务器。它对外提供类似于Web-service的API接口,用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。

     

     

     

    Elasticsearch是一个开源的全文搜索引擎,基于Lucene的搜索服务器,可以快速的储存、搜索和分析海量的数据。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

     

     

     

    还涉及到一些机器学习语言,比如,Mahout主要目标是创建一些可伸缩的机器学习算法,供开发人员在Apache的许可下免费使用;深度学习框架Caffe以及使用数据流图进行数值计算的开源软件库TensorFlow等,常用的机器学习算法比如,贝叶斯、逻辑回归、决策树、神经网络、协同过滤等。

     

    五、数据可视化

    对接一些BI平台,将分析得到的数据进行可视化,用于指导决策服务。主流的BI平台比如,国外的敏捷BI Tableau、Qlikview、PowrerBI等,国内的SmallBI和新兴的网易有数等。

     

    在上面的每一个阶段,保障数据的安全是不可忽视的问题。

     

     

     

    基于网络身份认证的协议Kerberos,用来在非安全网络中,对个人通信以安全的手段进行身份认证,它允许某实体在非安全网络环境下通信,向另一个实体以一种安全的方式证明自己的身份。

     

     

     

    控制权限的ranger是一个Hadoop集群权限框架,提供操作、监控、管理复杂的数据权限,它提供一个集中的管理机制,管理基于yarn的Hadoop生态圈的所有数据权限。可以对Hadoop生态的组件如Hive,Hbase进行细粒度的数据访问控制。通过操作Ranger控制台,管理员可以轻松的通过配置策略来控制用户访问HDFS文件夹、HDFS文件、数据库、表、字段权限。这些策略可以为不同的用户和组来设置,同时权限可与hadoop无缝对接。

     

     

     

     

     

     

     

    简单说有三大核心技术:拿数据,算数据,卖数据。

     

    首先做为大数据,拿不到大量数据都白扯。现在由于机器学习的兴起,以及万金油算法的崛起,导致算法地位下降,数据地位提高了。举个通俗的例子,就好比由于教育的发展,导致个人智力重要性降低,教育背景变重要了,因为一般人按标准流程读个书,就能比牛顿懂得多了。谷歌就说:拿牛逼的数据喂给一个一般的算法,很多情况下好于拿傻傻的数据喂给牛逼的算法。而且知不知道弄个牛逼算法有多困难?一般人连这个困难度都搞不清楚好不好……拿数据很重要,巧妇难为无米之炊呀!所以为什么好多公司要烧钱抢入口,抢用户,是为了争夺数据源呀!不过运营,和产品更关注这个,我是程序员,我不管……

     

    其次就是算数据,如果数据拿到直接就有价值地话,那也就不需要公司了,政府直接赚外快就好了。苹果落地都能看到,人家牛顿能整个万有引力,我就只能捡来吃掉,差距呀……所以数据在那里摆着,能挖出啥就各凭本事了。算数据就需要计算平台了,数据怎么存(HDFS, S3, HBase, Cassandra),怎么算(Hadoop, Spark)就靠咱们程序猿了……

     

    再次就是卖得出去才能变现,否则就是搞公益了,比如《疑犯追踪》里面的李四和大锤他们……见人所未见,预测未来并趋利避害才是智能的终极目标以及存在意义,对吧?这个得靠大家一块儿琢磨。

     

    其实我觉得最后那个才是“核心技术”,什么Spark,Storm,Deep-Learning,都是第二梯队的……当然,没有强大的算力做支撑,智能应该也无从说起吧。

    数据查询分析和数据可视化。

    展开全文
  • 虽然是03年的书,距今已经14年!目前看到的讲蓝牙简单易懂的书籍了,特别是对spp;rfcomm的说明简单易懂,把蓝牙的体系架构讲的的很清晰,值得一读……
  • 《JAVA核心技术(卷1):基础知识(原书第8版)》是《Java核心技术》的最新版,《Java核心技术》出版以来一直畅销不衰,深受读者青睐,每个新版本都尽可能快地跟上Java开发工具箱发展的步伐,而且每一版都重新改写了的...
  • Spring boot核心技术(一)

    千次阅读 多人点赞 2018-01-27 20:04:26
    上一章节Spring boot入门, ... 本章主要介绍spring boot的核心。 *Spring 核心功能 *Spring 配置 Spring 核心功能 1. 独立运行的spring 项目 Spring Boot可以以jar的形式独立运行,运行一个Sprin

    上一章节Spring boot入门, http://blog.csdn.net/qq_22860341/article/details/78930813
    本章主要介绍spring boot的核心。

    *Spring 核心功能
    *Spring 配置


    Spring 核心功能

    1. 独立运行的spring 项目

    Spring Boot可以以jar的形式独立运行,运行一个Spring Boot项目只需要通过 java -jar xxx.jar命令来运行。

    2. 内嵌servlet容器

    Spring Boot可以选择内嵌Tomcat,Jetty或者Udertow,这样我们不需要以war的形式部署项目。

    3. 提供starter简化maven配置
    Spring 提供一系列starter pom来简化maven的依赖加载。比如加入spring-boot-starter-web。

           <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>

    Spring Boot会自动加入Tomcat和Spring MVC的依赖。

    4.自动配置Spring

    Spring boot会根据在类路径中的jar,类。为jar包里的类自动配置bean,这样极大减少我们要是用的配置。当然并不是所有的场景都是这样,有时候还是需要去自定义配置的。

    5.准生产的应用监控

    Spring Boot提供了基于http,ssh,telnet对运行时的项目进行监控。

    6,无代码生成和xml配置

    Spring4.x提倡java配置和注解配置组合,二Spring Boot不需要任何xml即可实现spring配置。

    7,Spring boot的优点
    这里写图片描述

    Spring 配置

    1.基本配置

    (1),入口类和@SpringBootApplication

    SpringBoot通常有一个名为*Application.java的入口类,入口类里面有一个main方法,这个main方法其实就是一个标准的Java应用的main方法,也是启动SpringBoot的方法。

    @SpringBootApplication是SpringBoot的核心注解,它是一个核心注解,源码如下:
    这里写图片描述

    其中@EnableAutoconfiguration让Spring Boot根据类路径中的jar包依赖为当前项目进行自动配置。

    例如添加了spring-boot-starter-web依赖,会自动添加Tomcat和Spring MVC的依赖,那么Spring Boot会对Tomcat和SpringMVC进行自动配置。

    例如添加了spring-boot-starter-data-jpa依赖,SpringBoot会自动进行JPA相关的配置。
    SpringBoot会自动扫描@SpringBootApplication所在类的同级包以及下级包里的bean.

    (2)关闭特定的自动配置

    关闭特定的自动配置使用@SpringBootApplication注解的exclude参数,例如

    @SpringBootApplication(exclude={DataSourceAutoConfiguration.class})

    (3)定制Banner

    1.1 修改banner
    (1)当我们启动SpringBoot时有一个默认图案。

    这里写图片描述

    (2)我们在src/main/resources下新建一个banner.txt文件.
    (3)通过http://patorjk.com/software/taag/网站生成字符,如输入shabi,将生成的字符图案复制到banner.txt中.
    (4)重新运行SpringBoot项目,启动时图案就改变了。
    这里写图片描述

    1.2关闭Banner

    main方法修改为:

    public static void main(String[] args) {
            //SpringApplication.run(DemoApplication.class, args);
            SpringApplication app = new SpringApplication(DemoApplication.class);
            app.setShowbanner(false);
            app.run(args);
        }

    或者fluent API修改为

    new SpringApplicationBuilder(DemoApplication.class)
                              .showBanner(false)
                              .run(args);

    高版本的Spring Boot没有app.setShowbanner(false);方法,我目使用1.5.9版本。可以在application.properties中配置:

    spring.main.banner-mode=off

    2,Spring Boot的配置文件

    Spring Boot使用一个全局的配置文件application.properties或者application.yml放置在src/main/resources文件下或类路径的/config下。

    Spring 不仅支持常规的.properties配置文件,还支持yaml的配置文件,yaml是以数据为中心的语言,在配置数据的时候具有面向对象特征。

    Spring Boot的全局配置文件的作用是对一些默认配置的配置值进行修改。

    (1)简单示例

    将tamcat默认的8080端口改为9090,并将默认的访问路径”/”修改为”/helloboot”;
    在application.properties加入:

    
    #不配置默认为8080端口
    server.port=9090 
    #将默认的访问路径"/"修改为"/helloboot"
    server.contextPath=/helloboot  

    说明:contextPath,context-path通用,这里不介绍application.yml配置。

    3.starter pom

    SpringBoot为我们提供了简化企业级开发绝大多数场景的starter pom,只要使用了场景需要的starter pom,SpringBoot会自动配置bean。

    比如之前说的添加了spring-boot-starter-web依赖,会自动添加Tomcat和Spring MVC的依赖,那么Spring Boot会对Tomcat和SpringMVC进行自动配置。

    pom.xml:

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>

    (3.1) 官方提供的starter pom
    这里写图片描述
    这里写图片描述
    这里写图片描述

    (3.2)第三方starter pom

    这里写图片描述

    配置方式
    在pom.xml的project标签中加入:

    <repositories>  
    
    <repository>  
    <id>唯一id</id>  
    <name>名称</name>  
    <url>url远程链接</url>  
    </repository> 
    <repository>
    
    <id>lilyproject</id>  
    <name>Lily Maven repository</name>  
    <url>http://lilyproject.org/maven/maven2/deploy/</url>  
    </repository> 
    
    </repositories> 

    (3.3)使用xml配置

    SpringBoot提倡零配置,即无XML配置,但是在实际开发过程中,可能一些特殊的要求你必须使用xml配置,这时我们可以使用SpringBoot提供的@ImportResource来加载xml配置。
    例如:

    @ImportResource({"classpath:some-content.xml","classpath:another-content.xml"})

    4,外部配置文件

    SpringBoot允许使用properties文件,yaml文件,和命令参数作为外部配置。

    (4.1)命令行参数配置

    SpringBoot是基于jar运行的,打成jar的程序可以通过 下面命令直接运行的。

    java -jar XXX.jar

    可以通过以下命令修改tomcat端口:

    java -jar XXX.jar --server.port=9090

    (4.2)常规属性配置

    在常规的Spring环境下,注入properties文件里面的值的方式,通过@propertySource指明文件位置,然后通过@Value注入值。
    在SpringBoot项目中,我们只需要在application.properties定义属性,直接使用@Value注入。

    实例

    在以前的基础上在application.properties文件增加:

    user.myname=bobo
    user.age=18
    

    @Value注入

    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    public class HelloComtroller {
           @Value("${user.myname}")
           private String name;
           @Value("${user.age}")
           private Integer age;
    
          @RequestMapping("/")
          public String helloword(){
    
           return "我叫"+name+",今年"+age+"岁!";
    
          }
    }
    
    运行结果:
    

    这里写图片描述

    说明:这里如果定义user.name是获取系统的名称,后来改为myname。

    (4.3)类安全的配置

    以上使用@Value注入每个配置显得格外的麻烦,因为我们的配置通常有很多个,像那样每个配置就要注入多次。
    SpringBoot提供了基于类型安全的配置方式,通过@ConfiggurationProperties将properties属性和一个bean及其属性关联,从而实现类型安全的配置。
    基于以前的application.properties文件:

    user.myname=bobo
    user.age=18
    

    当然我们也可以新建properties文件,通过@ConfiggurationProperties的属性locations指定properties的位置,且需要在入口类上配置。

    类型安全的bean如下:

    import org.springframework.boot.context.properties.ConfigurationProperties;
    import org.springframework.stereotype.Component;
    
    @Component
    @ConfigurationProperties(prefix="user")
    public class UserSetting {
           private String myname;
           private Integer age;
        public String getMyname() {
            return myname;
        }
        public void setMyname(String myname) {
            this.myname = myname;
        }
        public Integer getAge() {
            return age;
        }
        public void setAge(Integer age) {
            this.age = age;
        }
    
    }

    代码解释:
    通过@ConfigurationProperties加载文件的配置,prefix属性指定配置时的前缀,locations指定配置文件路径,本例将配置放在application.properties文件中,不需要指定位置。

    若新建了properties文件,则需要在指定位置。
    SpringBoot1.5之前可以通过@ConfigurationProperties的locations属性指定。

    @ConfigurationProperties(prefix="user",locations="classpath:config/xxxxx.properties")
    

    SpringBoot1.5之后使用:

    @PropertySource("classpath:config/xxxxx.properties")
    /*@PropertySource(value={""})*/

    检查代码:

    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    import com.example.demo.entity.UserSetting;
    
    @RestController
    public class HelloComtroller {
    
        @Autowired
          private UserSetting userSetting;
    
          @RequestMapping("/")
          public String helloword(){
    
           return "我叫"+userSetting.getMyname()+",今年"+userSetting.getAge()+"岁!";
    
          }
    }

    代码解释:
    使用@Autowired可以直接注入该配置。

    (4.4)日志配置

    SpringBoot支持java Util Logging,Log4j,Log4j2和Logback作为日志框架。
    SpringBoot默认使用Logback作为日志框架。

    配置日志级别:

    #默认的Logback日志框架
    logging.file=E:\\springBootWork\\mylog

    配置日志文件,格式为logging.level.包名=级别

    logging.level.org.springframework.web=DEBUG

    (4.5)Profile配置

    profile是Spring用来针对不同的环境对不同的配置提供支持,全局profile使用application-{profile}.properties,如application-prod.properties.
    通过在application.properties文件中设置spring.profils.active=prod来指定活动的profile。

    实例

    下面做一个简单的演示,如我们分为生产环境和开发环境,生产环境下端口为8088,开发环境端口为8888.
    新建
    application-dev.properties文件中加入

    server.port=8888

    application-prod.properties文件中加入

    server.port=8088

    application.properties配置:

    spring.profiles.active=prod

    运行项目

    这里写图片描述

    本章节就介绍到这里,下一章节请关注Spring boot核心技术(二),将在春节之前写,主要讲解SpringBoot运行原理,核心注解,实战实例等,谢谢关注。
    这里写图片描述

    展开全文
  • 人工智能教程 - 前言

    万次阅读 多人点赞 2019-07-02 09:52:27
    总目录 各位乡亲父老们!人工智能,马上就要爆发了。一旦爆发,将会如黄河泛滥一发不可收拾。在当今,人工智能已经渗透到了网络搜索,广告...而且一旦控制不好,会真如马斯克所说的一样——人工智能会毁灭人类~

    朋友们! 如需转载请标明出处:http://blog.csdn.net/jiangjunshow

    人工智能被认为是一种拯救世界、终结世界的技术。毋庸置疑,人工智能时代就要来临了,科幻电影中的场景将成为现实,未来已来!

    我很庆幸。十四年前就认定了人工智能专业,一路学习着,从国内学到了国外,然后又回到了祖国参加工作,继续着对人工智能的研究!

    我很担忧。正是因为对人工智能的钻研,让我深深地知道它的无比强大。我担忧的不仅仅是它将取代人类的工作,而是将取代整个人类——毁灭人类。
    在这里插入图片描述

    在将来不懂人工智能就像现在不懂操作电脑的人一样,会被社会淘汰;而掌握了人工智能技术的人,则可能引领世界。

    很多人都想学人工智能,它比黑客技术更加神秘更加吸引人。但是很多人都不敢学,因为传统教材的门槛都很高——需要编程,高数,统计学等等知识。所以我才编写了这一系列教程,使它通俗易懂,接地气,无需高数,只要你上过高中,就可以学!而且,传统教材都很枯燥,即使作者花时间写得很易懂但依然很少人能坚持学下去,因为太枯燥了。所以我主张快乐学习,尽量加入搞笑的成分在教程里面,其实我生活中就很乐观幽默,歌手李健就是我性格的一个写照吧,只不过我能说荤段子他不能。金杯银杯不如口碑,读者的留言让我的努力得到了认可!
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    我希望通过这一系列的教程使越来越多的中国人掌握人工智能技术,人工智能是中国的一次机遇,国家已经认识到了这一点并将人工智能提升到了国家战略级别。我希望为我的民族为我的同胞出一份力。我也希望有缘看到这篇文章的你也为我们的民族为我们的同胞出一份力。
    在这里插入图片描述
    那么,让我们开始吧!

    教程涉及到了人工智能的方方面面,从基础原理到现在很火的人脸识别,自动驾驶.,股票预测,金融分析…以及一些小众的特殊应用,例如利用AI去除视频里的马赛克,甚至可以用AI将女主角换成Angelababy…
    在这里插入图片描述
    教程里将我十多年积累的知识都教给大家了,而且每小节后面还提供了实战编程代码。学完这套教程后,找份人工智能方面的工作不是问题,有天赋的更可以开发出各种颇具经济价值的人工智能程序。大家可以通过点击每篇文章前面的“总目录”链接来进行导航浏览。

    在开始学习前,你可能会担心自己没有基础,担心自己数学不好,担心自己编程功底差等等。不用担心!我会用最通俗易懂的描述让你理解那些所需的数学知识以及教会你相关的编程技巧!

    朋友们,让我们向着人工智能领域出发吧!

    下一篇:《什么是神经网络》

    展开全文
  • 从语音识别到智能家居,从人机大战到无人驾驶,人工智能的“演化”给我们社会上的一些生活细节,带来了一次又一次的惊喜,未来更多智能产品依托的人工智能技术会发展成什么样呢?让我们来看看2018人工智能标准化...

    从语音识别到智能家居,从人机大战到无人驾驶,人工智能的“演化”给我们社会上的一些生活细节,带来了一次又一次的惊喜,未来更多智能产品依托的人工智能技术会发展成什么样呢?让我们来看看2018人工智能标准化白皮书里面,对人工智能关键技术的定义。

    人工智能技术关系到人工智能产品是否可以顺利应用到我们的生活场景中。在人工智能领域,它普遍包含了机器学习、知识图谱、自然语言处理、人机交互、计算机视觉、生物特征识别、AR/VR七个关键技术。

    一、机器学习

    机器学习(MachineLearning)是一门涉及统计学、系统辨识、逼近理论、神经网络、优化理论、计算机科学、脑科学等诸多领域的交叉学科,研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,是人工智能技术的核心。基于数据的机器学习是现代智能技术中的重要方法之一,研究从观测数据(样本)出发寻找规律,利用这些规律对未来数据或无法观测的数据进行预测。根据学习模式、学习方法以及算法的不同,机器学习存在不同的分类方法。

    根据学习模式将机器学习分类为监督学习、无监督学习和强化学习等。

    根据学习方法可以将机器学习分为传统机器学习和深度学习。

    二、知识图谱

    知识图谱本质上是结构化的语义知识库,是一种由节点和边组成的图数据结构,以符号形式描述物理世界中的概念及其相互关系,其基本组成单位是“实体—关系—实体”三元组,以及实体及其相关“属性—值”对。不同实体之间通过关系相互联结,构成网状的知识结构。在知识图谱中,每个节点表示现实世界的“实体”,每条边为实体与实体之间的“关系”。通俗地讲,知识图谱就是把所有不同种类的信息连接在一起而得到的一个关系网络,提供了从“关系”的角度去分析问题的能力。

    知识图谱可用于反欺诈、不一致性验证、组团欺诈等公共安全保障领域,需要用到异常分析、静态分析、动态分析等数据挖掘方法。特别地,知识图谱在搜索引擎、可视化展示和精准营销方面有很大的优势,已成为业界的热门工具。但是,知识图谱的发展还有很大的挑战,如数据的噪声问题,即数据本身有错误或者数据存在冗余。随着知识图谱应用的不断深入,还有一系列关键技术需要突破。

    三、自然语言处理

    自然语言处理是计算机科学领域与人工智能领域中的一个重要方向,研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法,涉及的领域较多,主要包括机器翻译、机器阅读理解和问答系统等。

    机器翻译

    机器翻译技术是指利用计算机技术实现从一种自然语言到另外一种自然语言的翻译过程。基于统计的机器翻译方法突破了之前基于规则和实例翻译方法的局限性,翻译性能取得巨大提升。基于深度神经网络的机器翻译在日常口语等一些场景的成功应用已经显现出了巨大的潜力。随着上下文的语境表征和知识逻辑推理能力的发展,自然语言知识图谱不断扩充,机器翻译将会在多轮对话翻译及篇章翻译等领域取得更大进展。

    语义理解

    语义理解技术是指利用计算机技术实现对文本篇章的理解,并且回答与篇章相关问题的过程。语义理解更注重于对上下文的理解以及对答案精准程度的把控。随着MCTest数据集的发布,语义理解受到更多关注,取得了快速发展,相关数据集和对应的神经网络模型层出不穷。语义理解技术将在智能客服、产品自动问答等相关领域发挥重要作用,进一步提高问答与对话系统的精度。

    问答系统

    问答系统分为开放领域的对话系统和特定领域的问答系统。问答系统技术是指让计算机像人类一样用自然语言与人交流的技术。人们可以向问答系统提交用自然语言表达的问题,系统会返回关联性较高的答案。尽管问答系统目前已经有了不少应用产品出现,但大多是在实际信息服务系统和智能手机助手等领域中的应用,在问答系统鲁棒性方面仍然存在着问题和挑战。

    自然语言处理面临四大挑战:

    一是在词法、句法、语义、语用和语音等不同层面存在不确定性;

    二是新的词汇、术语、语义和语法导致未知语言现象的不可预测性;

    三是数据资源的不充分使其难以覆盖复杂的语言现象;

    四是语义知识的模糊性和错综复杂的关联性难以用简单的数学模型描述,语义计算需要参数庞大的非线性计算

    四、人机交互

    人机交互主要研究人和计算机之间的信息交换,主要包括人到计算机和计算机到人的两部分信息交换,是人工智能领域的重要的外围技术。人机交互是与认知心理学、人机工程学、多媒体技术、虚拟现实技术等密切相关的综合学科。传统的人与计算机之间的信息交换主要依靠交互设备进行,主要包括键盘、鼠标、操纵杆、数据服装、眼动跟踪器、位置跟踪器、数据手套、压力笔等输入设备,以及打印机、绘图仪、显示器、头盔式显示器、音箱等输出设备。人机交互技术除了传统的基本交互和图形交互外,还包括语音交互、情感交互、体感交互及脑机交互等技术。

    五、计算机视觉

    计算机视觉是使用计算机模仿人类视觉系统的科学,让计算机拥有类似人类提取、处理、理解和分析图像以及图像序列的能力。自动驾驶、机器人、智能医疗等领域均需要通过计算机视觉技术从视觉信号中提取并处理信息。近来随着深度学习的发展,预处理、特征提取与算法处理渐渐融合,形成端到端的人工智能算法技术。根据解决的问题,计算机视觉可分为计算成像学、图像理解、三维视觉、动态视觉和视频编解码五大类。

    目前,计算机视觉技术发展迅速,已具备初步的产业规模。未来计算机视觉技术的发展主要面临以下挑战:

    一是如何在不同的应用领域和其他技术更好的结合,计算机视觉在解决某些问题时可以广泛利用大数据,已经逐渐成熟并且可以超过人类,而在某些问题上却无法达到很高的精度;

    二是如何降低计算机视觉算法的开发时间和人力成本,目前计算机视觉算法需要大量的数据与人工标注,需要较长的研发周期以达到应用领域所要求的精度与耗时;

    三是如何加快新型算法的设计开发,随着新的成像硬件与人工智能芯片的出现,针对不同芯片与数据采集设备的计算机视觉算法的设计与开发也是挑战之一。

    六、生物特征识别

    生物特征识别技术是指通过个体生理特征或行为特征对个体身份进行识别认证的技术。从应用流程看,生物特征识别通常分为注册和识别两个阶段。注册阶段通过传感器对人体的生物表征信息进行采集,如利用图像传感器对指纹和人脸等光学信息、麦克风对说话声等声学信息进行采集,利用数据预处理以及特征提取技术对采集的数据进行处理,得到相应的特征进行存储。

    识别过程采用与注册过程一致的信息采集方式对待识别人进行信息采集、数据预处理和特征提取,然后将提取的特征与存储的特征进行比对分析,完成识别。从应用任务看,生物特征识别一般分为辨认与确认两种任务,辨认是指从存储库中确定待识别人身份的过程,是一对多的问题;确认是指将待识别人信息与存储库中特定单人信息进行比对,确定身份的过程,是一对一的问题。

    生物特征识别技术涉及的内容十分广泛,包括指纹、掌纹、人脸、虹膜、指静脉、声纹、步态等多种生物特征,其识别过程涉及到图像处理、计算机视觉、语音识别、机器学习等多项技术。目前生物特征识别作为重要的智能化身份认证技术,在金融、公共安全、教育、交通等领域得到广泛的应用。

    七、VR/AR

    虚拟现实(VR)/增强现实(AR)是以计算机为核心的新型视听技术。结合相关科学技术,在一定范围内生成与真实环境在视觉、听觉、触感等方面高度近似的数字化环境。用户借助必要的装备与数字化环境中的对象进行交互,相互影响,获得近似真实环境的感受和体验,通过显示设备、跟踪定位设备、触力觉交互设备、数据获取设备、专用芯片等实现。

    虚拟现实/增强现实从技术特征角度,按照不同处理阶段,可以分为获取与建模技术、分析与利用技术、交换与分发技术、展示与交互技术以及技术标准与评价体系五个方面。获取与建模技术研究如何把物理世界或者人类的创意进行数字化和模型化,难点是三维物理世界的数字化和模型化技术;分析与利用技术重点研究对数字内容进行分析、理解、搜索和知识化方法,其难点是在于内容的语义表示和分析;交换与分发技术主要强调各种网络环境下大规模的数字化内容流通、转换、集成和面向不同终端用户的个性化服务等,其核心是开放的内容交换和版权管理技术;展示与交换技术重点研究符合人类习惯数字内容的各种显示技术及交互方法,以期提高人对复杂信息的认知能力,其难点在于建立自然和谐的人机交互环境;标准与评价体系重点研究虚拟现实/增强现实基础资源、内容编目、信源编码等的规范标准以及相应的评估技术。

    目前虚拟现实/增强现实面临的挑战主要体现在智能获取、普适设备、自由交互和感知融合四个方面。在硬件平台与装置、核心芯片与器件、软件平台与工具、相关标准与规范等方面存在一系列科学技术问题。总体来说虚拟现实/增强现实呈现虚拟现实系统智能化、虚实环境对象无缝融合、自然交互全方位与舒适化的发展趋势。
      人工智能、大数据、云计算和物联网的未来发展值得重视,均为前沿产业,多智时代专注于人工智能和大数据的入门和科谱,在此为你推荐几篇优质好文:
    在网络大时代背景下,人工智能技术是如何应用的
    http://www.duozhishidai.com/article-15277-1.html
    未来人工智能技术,主要包含哪几种?
    http://www.duozhishidai.com/article-4938-1.html
    人工智能时代,你需要了解的9大技术领域
    http://www.duozhishidai.com/article-3845-1.html


    多智时代-人工智能大数据学习入门网站|人工智能、大数据、物联网云计算的学习交流网站

    多智时代-人工智能大数据学习入门网站|人工智能、大数据、云计算、物联网的学习服务的好平台

    展开全文
  • 人工智能的五大核心技术

    万次阅读 多人点赞 2017-07-17 16:40:49
    计算机视觉、机器学习、自然语言处理、机器人和语音识别是人工智能的五大核心技术,它们均会成为独立的子产业。  计算机视觉    计算机视觉是指计算机从图像中识别出物体、场景和活动的能力。...
  • 人工智能教程 - 目录

    万次阅读 多人点赞 2019-09-03 23:01:09
    目录 请先点击下面查看序言 序言 1 神经网络与深度学习 1.1 介绍神经网络 1.1.1 什么是神经网络 1.1.2 监督学习型神经网络 1.1.3 什么使深度学习火起来了 1.2 神经网络基础 ...1
  • 据腾讯研究院统计,截至2017年6月,全球人工智能初创企业共计2617家。美国占据1078家居首,中国以592家...根据艾瑞咨询的数据,2020年全球人工智能市场规模约1190亿人民币,未来10年,人工智能将会是一个2000亿美元...
  • 今天读了未来地图,这本书的,一张AI价值地图,看懂技术商业化,为大家分享一下,人工智能技术的分类 人工智能、大数据、云计算和物联网的未来发展值得重视,均为前沿产业,多智时代专注于人工智能和大数据的入门和...
  • 人工智能杂记》人工智能时间简史

    万次阅读 多人点赞 2018-03-13 08:54:55
    人工智能(Artificial Intelligence,AI)是指计算机像人一样拥有智能能力,是一个融合计算机科学、统计学、脑神经学和社会科学的前沿综合学科,可以代替人类实现识别、认知,分析和决策等多种功能。如当你说一句话...
  • 我们正处于AI时代:衣食住行中的AI什么是人工智能AI对传统行业的冲击AI对广告行业和媒体行业的冲击AI对教育行业的影响AI对艺术创作行业的影响AI对物流行业和工业行业的影响 我们每天所谈论的人工智能,究竟是什么...
  • 如何成为一名AI人工智能算法工程师?

    万次阅读 多人点赞 2019-06-30 12:25:21
    经常有朋友私信问,如何学python呀,如何敲代码呀,如何进入AI行业呀? ...正好回头看看自己这一年走过的路,进行一次经验总结。...人工智能/机器学习/深度学习 自学如何寻找学习资料 如何选择编...
  • 当代人工智能核心技术究竟是什么?  5月18日,在江苏省南京市东南大学举行的“人工智能与自动化前沿”论坛上,郑南宁院士表示:”人工智能是怎样表示知识以及怎样获得知识并使用知识的科学。“  按照这种说法...
  • 精品收藏:GitHub人工智能AI开源项目

    万次阅读 多人点赞 2018-07-26 18:33:06
    精品收藏:GitHub人工智能AI开源项目 绝对精品!!!花了点时间,鄙人把这几年收藏的开源精品项目,整理一下,方面以后查找。其中涵盖了姿态检测,图像分割,图像分类,美学评价、人脸识别、多尺度训练,移动端的AI...
  • 截止到21世纪前10年的后期,出现了一系列复兴人工智能研究进程的要素,尤其是一些核心技术。下面将对这些重要的因素和技术进行基本的介绍: 1)摩尔定律 在价格、体积不变的条件下,计算机的计算能力可以不断增长...
  • AI人工智能的未来》 《AI人工智能的未来》 版本 作者 参与者 完成日期 备注 YanlzAI_Future_V01_1.0 严立钻 ...
  • Python语言在人工智能(AI)中的优势

    万次阅读 多人点赞 2017-02-08 16:04:57
    本文探讨了Python语言在AI领域的优势与运用。 谁会成为AI 和大数据时代的第一开发语言? 这本已是一个不需要争论的问题。如果说三年前,Matlab、Scala、R、Java 和 Python还各有机会,局面尚且不清楚,...
  • 来源:产业智能官人工智能是一个很宽泛的概念,概括而言是对人的意识和思维过程的模拟,利用机器学习和数据分析方法赋予机器类人的能力。人工智能将提升社会劳动生产率,特别是在有效降低劳动成本、优...
  • 人工智能7大关键技术,终于有人讲明白了

    千次阅读 多人点赞 2020-10-08 21:15:00
    导读:企业使用AI的一个复杂因素是,这个主题包含了多个不同的底层技术。这些技术中大多数都能够完成很多替代功能。技术和功能的组合非常复杂,表1-1列出了7项关键技术,包括每项技术的简要描述...
  • ai人工智能让女神 缩小女孩的想象力差距 (Closing the Imagination Gap for Girls) The term artificial intelligence (AI) was coined 64 years ago at a scholarly conference. The AI field hasn’t remained the...
  • AI(8)---人工智能发展的关键技术

    千次阅读 2018-06-04 08:42:06
    人工智能发展的关键技术(长文干货)从语音识别到智能家居,从人机大战到无人驾驶,人工智能的“演化”给我们社会上的一些生活细节,带来了一次又一次的惊喜,未来更多智能产品依托的人工智能技术会发展成什么样呢?...
  • 大家好,我是YESLAB AI 的产品总监,大家可以叫我小产。那个啥,YESLAB 的华为 AI 课程 HCNA 快开班了,很多后续的 AI 课程也会很快陆续和大家见面。面对铺天盖地的咨询,我认为自己很有必要解答一下大家经常提出的...
  • AI(Artificial Intelligence,人工智能) .“人工智能”一词最初是在1956 年Dartmouth学会上提出的.从那以后,研究者们发展了众多理论和原理,人工智能的概念也随之扩展.人工智能是一门极富挑战性的科学,从事这项工作的...
  • 文章发布于公号【数智物语】(ID:decision_engine),关注公号不错过每...看似这是个滑稽的问题,在华为事件之后,引发了很多技术从业者,在和平时期对“人工智能”极限生存的思考。 01 谷歌又一 AI 项目击败 6...
  • Competition——AI:国内外人工智能比赛平台以及竞赛类型、竞赛题目、举行时间等之详细攻略(最全+ing) tips (1)、可以在各大比赛平台指定的讨论区,或者github网站上,找到历届选手的一些解题思路 (2)、多参与、多...
  • 最近听了北大的AI课程,为了更好地吸收课程的精华,将知识变成自己血肉里的力量(认真脸),决定要把课程的笔记重新梳理一遍,一直以来记笔记的习惯是(1)只记感觉对自己很有用的,如很新颖的、很经典又容易忘的、...
  • 1. 麻省理工学院计算机科学与人工智能实验室(CSAIL) 2. 卡耐基梅隆大学机器人学院(Robotics Academy) 3. 斯坦福大学的人工智能实验室(SAIL) 二、国外市场派 1. 谷歌DeepMind人工智能实验室 2. 微软Microsoft ...
  • 这一次人工智能复兴最大的特点是,AI在语音识别、机器视觉、数据挖掘等多个领域走进了业界的真是应用场景,与商业模式紧密结合,开始在产业界发挥出真正的价值。 一.第三次AI热潮:有何不同? 1.场景&背景  从学术...

空空如也

1 2 3 4 5 ... 20
收藏数 1,801,339
精华内容 720,535
关键字:

核心技术