2017年11月6日星期一

寒武纪发布机器学习处理器MLU:计划未来三年占领10亿台设备

11 月 6 日下午,寒武纪科技在北京举办了成立以来的首场发布会。在会上,这家知名人工智能芯片公司的创始人陈天石发布了面向视觉领域的寒武纪 1H8、性能更强的寒武纪 1H16,以及面向智能驾驶领域的寒武纪 1M,同时推出了面向开发者的人工智能系统软件 Cambricon NeuWare。最后,陈天石宣布了计划 2018 年推出的机器学习处理器 MLU 系列。


全新的智能处理器 IP


作为国内 AI 芯片的先行者,寒武纪科技的产品早已进入普通用户的手中。10 月 16 日,华为在德国慕尼黑发布了新一代旗舰手机 Mate10 系列,其中搭载了华为海思人工智能芯片麒麟 970。麒麟 970 首次集成了来自中科寒武纪的 NPU(寒武纪 1A 处理器)作为神经网络专用处理单元,同时采用异构计算架构大幅提升了 AI 任务算力。新的计算架构 HiAI 和计算单元对于机器学习任务处理性能(相对于手机 CPU)提升了数十倍,最高可达到传统处理器 25 倍速度,50 倍能效。这种性能提升可以让此前很多无法在移动端使用的机器学习应用走向工程化和实用化。麒麟 970 也成为了全球首款人工智能处理器,这款芯片的出现意味着人工智能技术开始逐渐从理论、工程阶段走向实用化,成为了 AI 产业发展的一个里程碑。


当前的计算机架构中,CPU 负责通用任务计算,面向指令密集和逻辑控制运算;GPU 则是数据密集型,主要面向向量任务的图形处理计算。对于人工智能领域的应用,目前人们面临的主要任务是对于矩阵乘法的运算,这种任务使用 CPU 和 GPU 来做效率并不高。对于一个矩阵乘法,后两种结构需要更多个指令周期来完成。针对这类任务,如果希望能够在最短的时钟周期内完成更多的神经网络模型算子的运算,就需要专门的硬件来参与其中,寒武纪科技提出的 NPU 就是一种前沿方向。


寒武纪科技的产品路线图覆盖终端产品和服务器,在 NPU 实用化之前,该公司在 2016 年推出了寒武纪 1A 处理器(Cambricon-1A),它也成为了全球首款商用深度学习专用处理器,面向智能手机、安防监控、可穿戴设备、无人机和智能驾驶等终端设备,在运行主流智能算法时性能功耗效率大幅超越 CPU 和 GPU。


在发布会上,寒武纪第一次展示了 1A 处理器的全部性能


陈天石表示,「虽然 1A 诞生于 2016 年,但是在今天它仍然是市场上最为强大的神经网络处理器。它支持从上古时代的模型,到现代最新的模型。支持稀疏化神经网络,到半精度处理。」


另外,中科曙光近日宣布推出国内首款搭载寒武纪 AI 芯片的人工智能服务器「Phaneron」。「Phaneron 主要面向深度学习的在线推理业务环境。在线推理业务不同于离线训练,推理不需要密集的计算能力,而是需要及时响应。因此,完成推理服务,需要大量的部署前端加速芯片以实时响应访问请求,对数据迅速作出判断,」中科曙光副总裁沙超群在此前服务器的发布中对此介绍道,「Phaneron 可以在 4U 空间中部署 20 个人工智能前端推理模块,能够为推理提供强大的计算支持。」


在发布会上,陈天石还展示了目前寒武纪的最新智能处理器系列:性能全面超越 1A 的寒武纪 1H16、面向视觉领域的寒武纪 1H8,以及面向智能驾驶领域的寒武纪 1M。「我们希望在不远的将来,国内的智能汽车能够全部用上国产的 AI 处理芯片。」陈天石表示。

寒武纪 1H8

寒武纪 1H16

寒武纪 1M 处理器


寒武纪软件平台 Cambricon Neuware


为了让广大开发者更快获得 AI 智能芯片的计算能力,寒武纪科技开发了完整的软件平台。目前,寒武纪软件栈已经支持 TensorFlow、Caffe 和 MXNet 等深度学习框架。「在未来,寒武纪平台还将推出安卓和苹果系统的软件 API,」陈天石表示,「所有软件层次的研究开发都是由寒武纪自己完成的。」

寒武纪软件栈


寒武纪软件栈兼容主流深度学习框架,允许我们在其上开发稀疏和量化模型。并在其上直接生成寒武纪模型,通过 AI 芯片处理获得更高效率。这款工具目前已支持原生 TensorFlow。


寒武纪软件栈中包含了大量面向开发者的实用工具,「在寒武纪调优工具包上,我们可以给出模型,让系统自动预测优化前后的性能。」陈天石介绍道。


重磅发布机器学习处理器 MLU 系列


寒武纪最为我们所熟知的产品就是神经网络处理器 NPU。但寒武纪的产品线不仅于此,在今天的发布会上,陈天石重磅发布了寒武纪机器学习处理器 MLU 系列,希望将自己的产品从神经网络加速拓展到机器学习,以及更多任务中。新的处理器产品将在未来 18 个月内推出。


陈天石表示,MLU 100 与 MLU 200 高性能芯片都将支持多种机器学习推理和训练任务的加速,前者偏重推理,后者偏重训练。此外,MLU 100 面向中小型服务器,而 MLU200 则面向企业级人工智能研发中心。


今年 8 月份,寒武纪科技获得了价值 1 亿美元的 A 轮融资,该轮投资由国投创业领投,阿里巴巴创投、联想创投、国科投资、中科图灵、元禾原点(天使轮领投方)、涌铧投资(天使轮投资方)联合投资。在本轮融资过后,这家背靠中科院计算所的创业公司估值已接近 10 亿美元,成为了全球第一家智能芯片领域独角兽公司。


未来,寒武纪科技还将继续与华为、中科曙光等公司合作,进一步开发搭载人工智能专用芯片的计算基础设施,在终端与服务器端共同发展,为人工智能产业提供更强大的算力支持。「我们希望寒武纪能在 3 年后占据中国高性能智能芯片市场 30% 的份额;在 3 年后,让全球有 10 亿台设备集成寒武纪处理器的智能终端。我们现在与国外同行都是在同一个起跑线上的,」陈天石表示,「我们应该携起手来共同塑造中国智能产业全新的生态。」


]]> 原文: http://ift.tt/2zhfnxG
RSS Feed

机器知心

IFTTT

2017年11月5日星期日

集智 机器学习基础班(线下班)绝不包就业班

性质:非就业班,救不了业,培养基础。

地址:北京市海淀区善缘街1号立方庭

日期:11月11日起的双休日,共计10天,每天6小时左右,持续五周,每周留有课堂作业。

人数:8人(目前已经6人)

学员编号:001-008 Basic 一期 顺利通过所有课程者,发身份铭牌+结业证书

助教阵容:清华本科团队。

授课团队及内容:

北大博士、人大博士、中科院博士,海外双学位本硕,某AI比赛世界冠军等。(隐去姓名)

形式:线下班。基础知识+每周作业+课后答疑+助教团队+四场AI一线公司创始人/工程师/HR主管讲座。

费用:11月8号前报名,享受折扣价2499元,9号前报名享受折扣价3999元。(不讲价,座位付费预定即无,不退款)报名时会简单咨询背景和编程经验。

信息扩散优惠:转发下图到你的朋友圈,扫码添加客服微信+发送截图给客服,可免费获得一门巨难课程《深度学习的理论基础》。



via 集智 - 知乎专栏 http://ift.tt/2hjes8Z
RSS Feed

RSS7

IFTTT

启封AI,见证时代,2017全球人工智能企业家论坛大幕拉开!


你是否了解NVIDIA的雄心?GPU如何鼎力支撑高维的AI世界?


L2L3还是直接跃迁到L4L5?自动驾驶的秘密一站揭晓!


千亿美元争夺战,AI巨头为何在语音交互市场抢夺赛道?


被AI赋能后的云计算该有多强大,你是否想了解一个异彩纷呈的AI+云的世界?


从医疗图像分析到临床诊断系统的颠覆,AI如何成就医疗行业变局?


从金融风险监测到革新的支付方式,全新方式深入探讨金融市场的AI变革。


震撼的机器人与无人机的最新解决方案。


惊爆眼球的视觉技术,智能安防,AI城市。


一切尽在,全球人工智能企业家论坛!


专为企业家举办的人工智能论坛,国家战略、企业对策、荣辱成败、何去何从?


11月17日-18日,AICE2017全球人工智能企业家论坛大幕拉开!

 

为了深度解读AI人工智能的行业脉搏,解构各行业企业以及全世界如何面对AI巨变的时代命题,全球顶尖的AI学者、研究机构代表、AI创新企业核心人物、投资机构代表和中国的AI研究者、创新创业企业将于2017年11月17日至18日齐聚北京,出席全球人工智能企业家论坛(AICE2017),共同探讨企业如何面对和拥抱人工智能时代,为各界企业家讲解人工智能的热门问题,帮助企业家从全球化的视角,对各行各业在AI时代将会出现的变革和前景进行深度剖析。

 

 首届全球人工智能企业家论坛(AICE2017),由中国人工智能学会(以下简称CAAI)联合中国顶级的技术社区开源中国(以下简称OSC)及CSDN共同举办,本次论坛将于2017年11月17日至18日在北京国际饭店会议中心举办,论坛聚焦AI人工智能大产业,是一次兼具实用性与前瞻性的盛会。论坛将邀请来自全球的AI学者、教育研究机构、行业代表和创投机构等顶级的研究人才与业界权威,与来自全球的2000名知名企业领袖一起,从学术、企业/行业、资本三个维度,围绕人工智能前沿科学研究进展、技术发展趋势、产业应用机会和企业战略研究等方面的议题,进行深入交流与探讨。

 

 此次AICE2017将进行两天,包括2个主论坛演讲和10个专题论坛研讨,论坛期间还有为期两天的全球人工智能前沿科技展览,共同勾勒出人工智能发展的现状和未来。

 

本次AICE2017论坛具有以下几个主要亮点:


一、论坛聚集行业精英,参与人数众多、规模庞大,论坛规格极高


本次论坛规模庞大,盛况空前,AI行业内的大咖云集,知名的专家学者、精英企业家纷纷参与。本次论坛参会企业家代表将达到2000人,是一次针对企业AI应用规模宏大,影响巨大的盛会。

 

出席本次论坛的嘉宾包括但不限于:现任国际人工智能联合会理事会主席、香港科技大学计算机科学和工程学系主任、大数据研究所所长杨强,中国人工智能学会理事长、中国工程院院士李德毅,中国人工智能泰斗、哈尔滨工业大学前党委书记、哈工大语言语音重点实验室主任李生,英伟达公司全球副总裁潘迪,SAP全球高级副总裁、SAP中国研究院院长李瑞成,可穿戴机器人协会主席、美国军事学院的机械工程研究中心的主任、国防高级研究项目局(DARPA)机器人项目负责人Joseph K. Hitt,德国汉堡大学信息学科学系教授、多模态技术研究所所长、德国汉堡科学院院士、人工智能专家轮值主席、国家千人计划专家张建伟,阿里巴巴集团合伙人、阿里云(位列全球云计算市场前三)总裁胡晓明等数十位人工智能领域的大德名宿、技术领军人、商用实战专家,全面解读AI领域的技术研究成果和实践应用情况。本次论坛无论是参会人员的水准和知名度,还是参会人员的规模,都超过了此前任何类似论坛。

 

二、立足全球视角,通过实际应用案例领略技术实现,资源对接建构本地生态


本次论坛着眼于全球视野,以全球化的角度来看待AI人工智能的发展,同时针对AI的场景实现、应用落地、AI的本地生态建立等重点问题进行深入解析,共同探讨如何让先进的AI人工智能技术快速进行成果转化,真正为中国企业带来实际有效的增长。

 

三、论坛将引领培训体验,拓展行业实践


全球AI动力提供者NVIDIA公司将携手本次论坛,向中国企业和企业家们提供最直接的现场深度学习训练,让企业家们直接充分的亲身体验一下什么是深度学习,直接亲身感受深度学习是如何实现,会产生什么样惊人的结果。NVIDIA将带着企业家们亲身体验在AI的世界里的第一次飞翔!

 

四、与众不同的互动设计和超值的观众权益


论坛设计了全新的组织形式,广泛连接全面开放:


会前——会前提前和观众进行连接沟通,下发专业会刊和内参资料,论坛专属客户端支撑;参会指南、提问和建议;收集需求和观众问题;


会中——全部主论坛和分论坛内容通过会议客户端现场直播,实现身处一个会场,可以同时观看5个分会场;


会后——会议资料汇编,录像汇总,持续跟踪,专家资源对接。

 

再看观众权益里超值的内容和服务:

  • 赠送世界顶级的NVIDIA深度学习现场培训(价值1000美金);
  • 会前发布赠送专为本次论坛打造的一整套涵盖整体AI技术产品市场分析和涵盖九大应用方向的系统性行业分析报告;
  • 会中的所有论坛视频和会议资料将会完全保存发给每个参会企业家;
  • 会后做出详尽的全部论坛资料汇编再发给参会企业家;
  • 全面开放的嘉宾联络和资源企业对接;
  • 后续我们将安排企业和嘉宾对接,设计和组织企业顾问团。

 

 本次全球人工智能企业家论坛(AICE2017)将会是一场人工智能的顶级盛会,必将对AI人工智能技术的发展进步以及产业落地产生重大而深远的意义,对于各行各业的企业家这都是一场不能错过的盛会。

 

2017年11月17-18日,相约北京国际饭店,解封AI,见证时代,共谋大业,同赴未来!

 

附:NVIDIA深度培训介绍


NVIDIA 深度学习学院——深度学习的启蒙培训

 

热谈人工智能的应用和未来之余,您是否还想知道自己的企业要怎样开始行动,如何开启"深度学习"来解决行业问题,实现行业+AI,抢占制胜先机?为了帮助更多的人员和企业迈入人工智能之路,英伟达深度学习学院 (NVIDIA Deep Learning Institute,简称DLI) 在全球教授"深度学习"培训课程。基于最新的AI framework、深度学习软件和GPU技术,学员可以亲自动手实践深度学习的完整工作流程,完成某项应用任务,从而探索解决行业问题的思路和能力。

 

值此AICE2017举办之际,DLI 面向广大企业技术负责人,开设深度学习零基础入门课。如欲了解更多课程,请访问www.nvidia.cn/DLI


日程


第一部分  深度学习揭秘和应用  时长:1小时

第二部分  无需写代码,用开源软件DIGITS实现图像分类  时长:2小时


课程介绍:


l   深度学习揭秘和应用


级别:初级 | 预备知识:无



行业:所有 | Frameworks: Caffe, Theano, Torch


此实验室将介绍快速发展的 GPU 加速深度学习技术。本课程专为想要学习深度学习基础知识的学员而设计。您将学习:


*     深度学习的概念

*     深度学习的发展将如何增强机器感知任务,包括视觉感知和自然语言的能力

*     如何选择最适合您需求的软件框架


完成此实验室后,您会对加速深度学习有基本的理解。

 

l   无需写代码,用开源软件DIGITS实现图像分类


级别:初级 | 预备知识:无 行业:所有 | Frameworks: Caffe


此实验室会向您展示如何通过在 Caffe 框架上的 NVIDIA DIGITS 和MNIST 手写数据集,在深度学习工作流程中利用深度神经网络 (DNN), 尤其是卷积神经网络 (CNN) 解决真实图像分类问题,您会学到:


*       构建运行在GPU上的深度神经网络

*       管理数据准备、模型定义、模型训练和问题排查过程

*       使用验证数据来测试和尝试不同策略来提升模型性能


完成此实验室后,您将能够使用 NVIDIA DIGITS 来构建、训练、评估和提升您的图像分类应用程序中卷积神经网络的准确性。

 

 

课前准备:


l   开通英伟达深度学习学院 (NVIDIA Deep Learning Institute,简称DLI)课程实验网站账户:在http://ift.tt/1qxBfx6 上注册账号。


l   携带电脑参加培训,且需安装有 IE 10 (或以上版本), 或者 Chrome 59 (或以上版本) 浏览器。

 


]]> 原文: http://ift.tt/2zlUalU
RSS Feed

机器知心

IFTTT

TensorFlow全新的数据读取方式:Dataset API入门教程

Dataset API是TensorFlow 1.3版本中引入的一个新的模块,主要服务于数据读取,构建输入数据的pipeline。

此前,在TensorFlow中读取数据一般有两种方法:

相比这两种方法,Dataset API同时支持从内存和硬盘的读取,语法也更加简洁易懂。此外,如果想要用到TensorFlow新出的Eager模式,也必须使用Dataset API来读取数据。

本文就来为大家详细地介绍一下Dataset API的使用(包括在非Eager模式和Eager模式下两种使用方法)。

Dataset API的导入

在TensorFlow 1.3中,Dataset API是放在contrib包中的:

tf.contrib.data.Dataset

而在TensorFlow 1.4中,Dataset API已经从contrib包中移除,变成了核心API的一员:

tf.data.Dataset

下面的示例代码将以TensorFlow 1.4版本为例,如果使用TensorFlow 1.3的话,需要进行简单的修改(即加上contrib)。

基本概念:Dataset与Iterator

让我们从基础的类来了解Dataset API。参考Google官方给出的Dataset API中的类图:

在初学时,我们只需要关注两个最重要的基础类:Dataset和Iterator

Dataset可以看作是相同类型"元素"的有序列表。在实际使用时,单个"元素"可以是向量,也可以是字符串、图片,甚至是tuple或者dict。

先以最简单的,Dataset的每一个元素是一个数字为例

import tensorflow as tf import numpy as np  dataset = tf.data.Dataset.from_tensor_slices(np.array([1.0, 2.0, 3.0, 4.0, 5.0]))

这样,我们就创建了一个dataset,这个dataset中含有5个元素,分别是1.0, 2.0, 3.0, 4.0, 5.0。

如何将这个dataset中的元素取出呢?方法是从Dataset中示例化一个Iterator,然后对Iterator进行迭代。

在非Eager模式下,读取上述dataset中元素的方法为:

iterator = dataset.make_one_shot_iterator() one_element = iterator.get_next() with tf.Session() as sess:     for i in range(5):         print(sess.run(one_element))

对应的输出结果应该就是从1.0到5.0。语句iterator = dataset.make_one_shot_iterator()从dataset中实例化了一个Iterator,这个Iterator是一个"one shot iterator",即只能从头到尾读取一次。one_element = iterator.get_next()表示从iterator里取出一个元素。由于这是非Eager模式,所以one_elemnet只是一个Tensor,并不是一个实际的值。调用sess.run(one_element)后,才能真正地取出一个值。

如果一个dataset中元素被读取完了,再尝试sess.run(one_element)的话,就会抛出tf.errors.OutOfRangeError异常,这个行为与使用队列方式读取数据的行为是一致的。在实际程序中,可以在外界捕捉这个异常以判断数据是否读取完,请参考下面的代码:

dataset = tf.data.Dataset.from_tensor_slices(np.array([1.0, 2.0, 3.0, 4.0, 5.0])) iterator = dataset.make_one_shot_iterator() one_element = iterator.get_next() with tf.Session() as sess:     try:         while True:             print(sess.run(one_element))     except tf.errors.OutOfRangeError:         print("end!")

在Eager模式中,创建Iterator的方式有所不同。是通过tfe.Iterator(dataset)的形式直接创建Iterator并迭代。迭代时可以直接取出值,不需要使用sess.run():

import tensorflow.contrib.eager as tfe tfe.enable_eager_execution()  dataset = tf.data.Dataset.from_tensor_slices(np.array([1.0, 2.0, 3.0, 4.0, 5.0]))  for one_element in tfe.Iterator(dataset):     print(one_element)

从内存中创建更复杂的Dataset

之前我们用tf.data.Dataset.from_tensor_slices创建了一个最简单的Dataset:

dataset = tf.data.Dataset.from_tensor_slices(np.array([1.0, 2.0, 3.0, 4.0, 5.0]))

其实,tf.data.Dataset.from_tensor_slices的功能不止如此,它的真正作用是切分传入Tensor的第一个维度,生成相应的dataset。

例如:

dataset = tf.data.Dataset.from_tensor_slices(np.random.uniform(size=(5, 2)))

传入的数值是一个矩阵,它的形状为(5, 2),tf.data.Dataset.from_tensor_slices就会切分它形状上的第一个维度,最后生成的dataset中一个含有5个元素,每个元素的形状是(2, ),即每个元素是矩阵的一行。

在实际使用中,我们可能还希望Dataset中的每个元素具有更复杂的形式,如每个元素是一个Python中的元组,或是Python中的词典。例如,在图像识别问题中,一个元素可以是{"image": image_tensor, "label": label_tensor}的形式,这样处理起来更方便。

tf.data.Dataset.from_tensor_slices同样支持创建这种dataset,例如我们可以让每一个元素是一个词典:

dataset = tf.data.Dataset.from_tensor_slices(     {         "a": np.array([1.0, 2.0, 3.0, 4.0, 5.0]),                                                "b": np.random.uniform(size=(5, 2))     } )

这时函数会分别切分"a"中的数值以及"b"中的数值,最终dataset中的一个元素就是类似于{"a": 1.0, "b": [0.9, 0.1]}的形式。

利用tf.data.Dataset.from_tensor_slices创建每个元素是一个tuple的dataset也是可以的:

dataset = tf.data.Dataset.from_tensor_slices(   (np.array([1.0, 2.0, 3.0, 4.0, 5.0]), np.random.uniform(size=(5, 2))) )

对Dataset中的元素做变换:Transformation

Dataset支持一类特殊的操作:Transformation。一个Dataset通过Transformation变成一个新的Dataset。通常我们可以通过Transformation完成数据变换,打乱,组成batch,生成epoch等一系列操作。

常用的Transformation有:

  • map
  • batch
  • shuffle
  • repeat

下面就分别进行介绍。

(1)map

map接收一个函数,Dataset中的每个元素都会被当作这个函数的输入,并将函数返回值作为新的Dataset,如我们可以对dataset中每个元素的值加1:

dataset = tf.data.Dataset.from_tensor_slices(np.array([1.0, 2.0, 3.0, 4.0, 5.0])) dataset = dataset.map(lambda x: x + 1) # 2.0, 3.0, 4.0, 5.0, 6.0

(2)batch

batch就是将多个元素组合成batch,如下面的程序将dataset中的每个元素组成了大小为32的batch:

dataset = dataset.batch(32)

(3)shuffle

shuffle的功能为打乱dataset中的元素,它有一个参数buffersize,表示打乱时使用的buffer的大小:

dataset = dataset.shuffle(buffer_size=10000)

(4)repeat

repeat的功能就是将整个序列重复多次,主要用来处理机器学习中的epoch,假设原先的数据是一个epoch,使用repeat(5)就可以将之变成5个epoch:

dataset = dataset.repeat(5)

如果直接调用repeat()的话,生成的序列就会无限重复下去,没有结束,因此也不会抛出tf.errors.OutOfRangeError异常:

dataset = dataset.repeat()

例子:读入磁盘图片与对应label

讲到这里,我们可以来考虑一个简单,但同时也非常常用的例子:读入磁盘中的图片和图片相应的label,并将其打乱,组成batch_size=32的训练样本。在训练时重复10个epoch。

对应的程序为(从官方示例程序修改而来):

# 函数的功能时将filename对应的图片文件读进来,并缩放到统一的大小 def _parse_function(filename, label):   image_string = tf.read_file(filename)   image_decoded = tf.image.decode_image(image_string)   image_resized = tf.image.resize_images(image_decoded, [28, 28])   return image_resized, label  # 图片文件的列表 filenames = tf.constant(["/var/data/image1.jpg", "/var/data/image2.jpg", ...]) # label[i]就是图片filenames[i]的label labels = tf.constant([0, 37, ...])  # 此时dataset中的一个元素是(filename, label) dataset = tf.data.Dataset.from_tensor_slices((filenames, labels))  # 此时dataset中的一个元素是(image_resized, label) dataset = dataset.map(_parse_function)  # 此时dataset中的一个元素是(image_resized_batch, label_batch) dataset = dataset.shuffle(buffersize=1000).batch(32).repeat(10)

在这个过程中,dataset经历三次转变:

  • 运行dataset = tf.data.Dataset.from_tensor_slices((filenames, labels))后,dataset的一个元素是(filename, label)。filename是图片的文件名,label是图片对应的标签。
  • 之后通过map,将filename对应的图片读入,并缩放为28x28的大小。此时dataset中的一个元素是(image_resized, label)
  • 最后,dataset.shuffle(buffersize=1000).batch(32).repeat(10)的功能是:在每个epoch内将图片打乱组成大小为32的batch,并重复10次。最终,dataset中的一个元素是(image_resized_batch, label_batch),image_resized_batch的形状为(32, 28, 28),而label_batch的形状为(32, ),接下来我们就可以用这两个Tensor来建立模型了。

Dataset的其它创建方法....

除了tf.data.Dataset.from_tensor_slices外,目前Dataset API还提供了另外三种创建Dataset的方式:

  • tf.data.TextLineDataset():这个函数的输入是一个文件的列表,输出是一个dataset。dataset中的每一个元素就对应了文件中的一行。可以使用这个函数来读入CSV文件。
  • tf.data.FixedLengthRecordDataset():这个函数的输入是一个文件的列表和一个record_bytes,之后dataset的每一个元素就是文件中固定字节数record_bytes的内容。通常用来读取以二进制形式保存的文件,如CIFAR10数据集就是这种形式。
  • tf.data.TFRecordDataset():顾名思义,这个函数是用来读TFRecord文件的,dataset中的每一个元素就是一个TFExample。

它们的详细使用方法可以参阅文档:Module: tf.data

更多类型的Iterator....

在非Eager模式下,最简单的创建Iterator的方法就是通过dataset.make_one_shot_iterator()来创建一个one shot iterator。除了这种one shot iterator外,还有三个更复杂的Iterator,即:

  • initializable iterator
  • reinitializable iterator
  • feedable iterator

initializable iterator必须要在使用前通过sess.run()来初始化。使用initializable iterator,可以将placeholder代入Iterator中,这可以方便我们通过参数快速定义新的Iterator。一个简单的initializable iterator使用示例:

limit = tf.placeholder(dtype=tf.int32, shape=[])  dataset = tf.data.Dataset.from_tensor_slices(tf.range(start=0, limit=limit))  iterator = dataset.make_initializable_iterator() next_element = iterator.get_next()  with tf.Session() as sess:     sess.run(iterator.initializer, feed_dict={limit: 10})     for i in range(10):       value = sess.run(next_element)       assert i == value

此时的limit相当于一个"参数",它规定了Dataset中数的"上限"。

initializable iterator还有一个功能:读入较大的数组。

在使用tf.data.Dataset.from_tensor_slices(array)时,实际上发生的事情是将array作为一个tf.constants保存到了计算图中。当array很大时,会导致计算图变得很大,给传输、保存带来不便。这时,我们可以用一个placeholder取代这里的array,并使用initializable iterator,只在需要时将array传进去,这样就可以避免把大数组保存在图里,示例代码为(来自官方例程):

# 从硬盘中读入两个Numpy数组 with np.load("/var/data/training_data.npy") as data:   features = data["features"]   labels = data["labels"]  features_placeholder = tf.placeholder(features.dtype, features.shape) labels_placeholder = tf.placeholder(labels.dtype, labels.shape)  dataset = tf.data.Dataset.from_tensor_slices((features_placeholder, labels_placeholder)) iterator = dataset.make_initializable_iterator() sess.run(iterator.initializer, feed_dict={features_placeholder: features,                                           labels_placeholder: labels})

reinitializable iterator和feedable iterator相比initializable iterator更复杂,也更加少用,如果想要了解它们的功能,可以参阅官方介绍,这里就不再赘述了。

总结

本文主要介绍了Dataset API的基本架构:Dataset类和Iterator类,以及它们的基础使用方法。

在非Eager模式下,Dataset中读出的一个元素一般对应一个batch的Tensor,我们可以使用这个Tensor在计算图中构建模型。

在Eager模式下,Dataset建立Iterator的方式有所不同,此时通过读出的数据就是含有值的Tensor,方便调试。

作为兼容两种模式的Dataset API,在今后应该会成为TensorFlow读取数据的主流方式。关于Dataset API的进一步介绍,可以参阅下面的资料:



via AI Insight - 知乎专栏 http://ift.tt/2hJ3yXb
RSS Feed

RSS3

IFTTT

姚期智:量子计算只剩最后一里路;霍金:人类最好移民外太空

李林 假装发自 北展量子位 出品 | 公众号 QbitAI

一年一度的腾讯WE大会,今天下午正式开讲。多位中外科学领域的学者登台演讲,分享前沿的科技思想和技术。

核心就是人类的未来。

姚期智:量子计算只剩最后一里路

期间,中科院院士、清华交叉信息研究院院长姚期智,重点讲述了量子计算,以及量子计算将为人工智能带来什么。

姚期智首先用一个例子讲述了量子计算的强大。例如在破解RSA密码系统这件事上,传统的经典计算机需要60万年,而量子计算机最慢只需三个小时。

这是一个让学术界都会震惊的结果。

量子计算机之所以比经典计算机快,其中一个原因就是可以进行无限多的平行计算,就像是神话中的孙悟空可以拥有无穷分身一样。那么现在我们距离量子计算机还有多远?"基本上已经呼之欲出",姚期智表示量子计算机的蓝图已经有了,距离我们只剩"最后一里路",但这将是非常艰难的一段路。

六年前,清华认为量子计算的理论和方向已经明确,于是成立了量子信息中心。现在清华已经在量子比特的存储、纠错、介质等方面取得不少成绩。

姚期智笑称,未来的桌面量子计算机可以基于钻石制造。

"对我来讲最兴奋的将来,就是现在两个最热门的题目,量子计算和人工智能可以结合在一起",姚期智表示量子计算机能处理量子方程式,能让人类更好的了解自然,了解自然是如何创造了人类智能,"我们想要达到这个境界"。

量子计算机将让AI更加聪明,如果能够把量子计算机和AI放在一起,姚期智说,我们可能做出连大自然都没有想到会有如此结果的事情,例如孕育出新的物种。

霍金:星际航行是人类发展的必然

在这次的WE大会上,宇宙学家史蒂芬·霍金还谈到了人类和宇宙。

霍金的核心思想是,对人类来说地球太小了,到2600年,世界将拥挤得 "摩肩擦踵",电力消耗将让地球变成"炽热"的火球。避免世界末日,最好的方法是移民外太空。

"星际航行必然是一个长期的目标。我所说的长期,是指未来二百到五百年",霍金说。

霍金接着介绍了"突破摄星"计划,目标是让星际旅行变成现实。这个计划将向太阳系最近的星系——半人马座阿尔法星系发送一个探测器。

这个计划涉及三个概念:迷你太空飞行器、 光动力推进和锁相激光器。所谓光动力推进,就是用激光阵列射到"光帆"上,推动探测器前进,最终达到光速的五分之一。当然这背后还有一系列复杂而困难的问题。

人类作为独立的物种,已经存在了大约二百万年。霍金说:"如果人类想要延续下一个一百万年,我们就必须大胆前行,涉足无前人所及之处!"

— 完 —

诚挚招聘

量子位正在招募编辑/记者,工作地点在北京中关村。期待有才气、有热情的同学加入我们!相关细节,请在量子位公众号(QbitAI)对话界面,回复"招聘"两个字。

量子位 QbitAI

վ'ᴗ' ի 追踪AI技术和产品新动态



via 量子位 - 知乎专栏 http://ift.tt/2zh3Pbx
RSS Feed

RSS5

IFTTT

刚刚!霍金向北京喊话:人类需要大胆前行,涉足无前人所及之处

演讲 | 史蒂芬•霍金



你好,北京!我是史蒂芬•霍金。欢迎来到腾讯 WE 大会。


我今天的演讲,是关于在宇宙这一背景下,地球和人类所扮演的角色。为了最好地阐述,我需要从两个维度出发,一是思考人类的未来,二是研究我们探索太空、寻求其他潜在宜居星球的选择。我今天的目的,是问大家两个问题。首先,我们需要做什么才能够确保,在力所能及的范围内,人类的未来达到尽可能完美?其次,我们为什么要考虑探索其他宜居星球?

 

一个原因是,对我们来说,地球变得太小了。在过去二百年中,人口增长率是指数级的,即每年人口以相同比例增长。目前这一数值约为 1.9%。这听起来可能不是很多,但它意味着,每四十年世界人口就会翻一番。2022 年,我将庆祝自己 80 岁的生日,而在我人生的这段历程中,世界人口比我出生时膨胀了四倍。


这样的指数增长不能持续到下个千年。到 2600 年,世界将拥挤得「摩肩擦踵」,电力消耗将让地球变成「炽热」的火球。这是岌岌可危的。然而我是个乐观主义者,我相信我们可以避免这样的世界末日,而最好的方法就是移民到太空,探索人类在其他星球上生活的可能。


但是理由充分吗?难道留在地球上不是更好?在某种程度上,今天的情况就如同 1492 年前的欧洲。当时的人们很可能坚信,哥伦布的探险注定是徒劳无功。然而,新世界的发现,对旧世界带来了深远的影响。对于那些被剥夺权利地位、走投无路的人来说,新世界成为了他们的乌托邦。人类向太空的拓展,甚至将会产生更深远的影响,这将彻底改变人类的未来,甚至会决定我们是否还有未来。它不会解决地球上任何迫在眉睫的问题,但它将提供解决这些问题的全新视角,让我们着眼于更广的空间,而不是拘泥眼下。希望这能够让我们团结起来,面对共同的挑战。


当我们进入太空时,会有怎样的发现呢?会找到外星生命,还是发现我们终将在宇宙中踽踽独行?我们相信,生命在地球上是自然而生的,是在漫长的进化后,实现了与地球资源的高度契合。因此,在其他条件适宜的星球上,生命的存在也必定是可能的。即使这种可能性极小,但宇宙是无限的,我们还是可以假设,生命会在某处出现。不过,如果概率很低,那么出现生命的两个星球间的距离,可能将异常遥远。


在太阳系中,月球和火星是太空移民地最显而易见的选择。水星和金星太热,而木星和土星是巨大的气体星球,没有坚实的表面。火星的卫星非常小,并不比火星本身更优。木星和土星的一些卫星也存在可能。比如木星的卫星之一欧罗巴,它的表面是冰层,但其下可能会有液态水,也就可能会孕育生命。那么我们如何确定这种可能?是否必须登陆欧罗巴,然后钻一个洞?


星际航行必然是一个长期的目标。我所说的长期,是指未来二百到五百年。


但是,还有另一种选择。去年,我与企业家尤里•米尔纳(Yuri Milner)一起,推出了长期研发计划——「突破摄星」,目标是让星际旅行变成现实。如果成功,在座各位有些人的有生之年内,我们将向太阳系最近的星系——半人马座阿尔法星系发送一个探测器。

 

「突破摄星」是人类初步迈向外太空的真正机会,为了探索和考量移居太空的可能性。这是一项概念验证的使命,其中涉及三个概念:迷你太空飞行器、 光动力推进和锁相激光器。「星芯片」是尺寸被缩小到仅几厘米、但功能完备的太空探测器,它将附着于「光帆」上。「光帆」由超材料制成,重量仅有几克。我们设想,一千个由「星芯片」和「光帆」组成的纳米飞行器将被送入轨道。在地面上,激光器阵列将共同形成一道超强光束,光束穿过大气,以数十吉瓦的功率射向太空中的「光帆」。


这项创新背后的想法,是以光束来驱动纳米飞行器的前进。这样产生的速度虽然不及光速,但也能达到其五分之一,约合每小时 1 亿英里。这样的系统可以在一小时内抵达火星,几天内到达冥王星,一周内就可以追上并超过旅行者号探测器,并在仅二十年后到达半人马座阿尔法星系。重要的是,「星芯片」的轨迹可能包括「比邻星 b」,这颗位于半人马座阿尔法星宜居带的行星,与地球的大小类似。正是在今年,「突破摄星」与欧洲南方天文台携手合作,进一步探寻半人马座阿尔法星系的宜居行星。


目前看来,这些都可能成为现实。但我们也看到重大的挑战。1 吉瓦功率的激光器仅能提供几牛顿的推力,不过因为纳米飞行器因为只有几克重量,恰恰可以克服这个问题。但是工程方面的挑战是巨大的。纳米飞行器必须经受极限加速、极寒、真空和质子,以及与太空粉尘等垃圾的碰撞。另外,由于大气湍流,将一套总量 100 吉瓦功率的激光组瞄准太阳帆,也是很困难的事情。


还有一些严峻的问题。如何让数百道激光穿过大气波动时聚合,如何推动纳米飞行器又不烧毁它们,如何让它们瞄准正确的方向?此外,我们还需要让纳米飞行器在冰冷的真空环境中工作二十年,这样它们才能将信号传回到四光年外的地球。然而这些都是工程设计要解决的问题,而工程挑战往往最终都会被解决。随着技术进步日趋成熟,我们可以展望更多令人兴奋的使命。如果「突破摄星」计划能传回毗邻星系中宜居星球的图像,这对人类的未来必将产生深远影响。


希望我已经解答了我演讲一开始所提出的问题。人类作为独立的物种,已经存在了大约二百万年。我们的文明始于约一万年前,其发展一直在稳步加速。如果人类想要延续下一个一百万年,我们就必须大胆前行,涉足无前人所及之处!


]]> 原文: http://ift.tt/2A8iIvU
RSS Feed

机器知心

IFTTT

M2 模型杀回 Coding 和 Agent 领域,MiniMax 想要「普惠智能」-InfoQ每周精要No.900

「每周精要」 NO. 900 2025/11/01 头条 HEADLINE M2 模型杀回 Coding 和 Agent 领域,MiniMax 想要「普惠智能」 精选 SELECTED a16z 将 3000 万开发者标价 3 万亿 网友:几个初创公司 + 大模型就...