0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何选择合适的深度学习框架开展人工智能研究

NVIDIA英伟达企业解决方案 来源:cc 2019-01-29 14:59 次阅读

深度学习框架正如一家杂货店,当人们想要做一顿美餐的时候,想必没有几个人会亲自到菜园里种菜,而是选择从市场里购买食材。

正如想要炒菜的人不会亲自去种菜采摘一样,开发者们也不想每次搭建深度学习神经网络的时侯都从零开始。

由于深度学习模型规模庞大且结构复杂,在编写功能代码的时候,程序员不会每种功能代码都从头编写,而是会借助框架和软件库来高效地构建神经网络。顶级深度学习框架可提供专用于深度神经网络计算的代码,这些代码均经过高度优化,并支持GPU计算。

深度学习框架之间的差异

不同类型的杂货店通常都有其各自专营的特色商品。比如,当人们烹饪家常菜的时候,通常可以直接在当地市场买到所需的基础食材;可是当人们想要制作具有异域风情的高级菜品的时候,则可能更喜欢在大型超市里选购进口蔬菜,挑选未经人工催熟的有机水果;又或者,当您要为一大桌子人准备饭菜,您又有可能会选择在批发市场里采购一番。

同样道理,虽然开发者可以基于任意一种深度学习框架构建出绝大多数类型的网络(例如卷积神经网络或递归神经网络),但各个框架在可用示例的数量和更新频率方面各有差异。此外,在增添新功能方面,各个深度学习框架中贡献者的数量也彼此不同,而且框架通过API 提供功能的方式也同样各具特色。

顶级框架都是开源的,其中大部分框架的发布时间始于 2014 年,而且其开发工作一直都很活跃。

如何选择深度学习框架

在选择深度学习框架的时候,开发者们通常会有很多不同的考量,例如:框架前端与开发者专业技能的匹配程度,可获取的社区支持力度,或他们感兴趣的新功能的开发速度。

深度学习框架一般可以使用例如Python 或 C/C ++ 等编程语言中的脚本,通过命令访问接口;也可以通过类似于 NVIDIA DIGITS 的图形界面进行访问,此类界面允许开发者在更加用户友好的 Web 应用程序中构建深度神经网络。

如果您希望将您的深度学习应用程序与 NVIDIA GPU 相集成的话,请查看 NVIDIA 开发者计划以了解更多信息

如何在深度学习框架之间迁移模型

根据其所开发应用程序的需要,开发者可能会首先使用一个框架来构建和训练深度学习模型;然后再使用不同的框架对模型进行重新训练,或者在不同的框架上部署该模型,以便进行推理。

开放式神经网络交换 (ONNX) 是一种允许开发者在框架之间迁移模型的深度学习模型格式。ONNX 支持在大多数主流框架之间进行模型迁移。当深度学习应用程序已经完成了训练并可以部署时, TensorRT 软件会对NVIDIA GPU 上的高性能推理模型进行优化。TensorRT 与 TensorFlowMATLAB 高度集成,并且支持导入 ONNX 格式的深度学习模型。

以下列举了一些热门的深度学习框架,以及多家公司和研究人员如何构建用于医疗、灾难预测和细胞生物学的GPU加速应用程序的案例。

Apache MXNet

Apache MXNet 是由 Apache Software Foundation 于 2015 年创建的深度学习框架。一家位于西雅图的初创公司——Magic AI, 正在利用深度学习模型来监控马匹的健康状况,该模型基于 MXNet 构建,并运行于 NVIDIA GPU 上。该神经网络可以逐帧分析马厩内的监控视频,当出现意外状况,例如:马匹即将分娩,马匹表现出绞痛症状或陌生人进入马厩时,该神经网络会向马场主发送警报。

开发者可以将模型迁移到 ONNX 进行推理,然后使用 NVIDIA TensorRT 进行优化和部署。

Caffe

Caffe 深度学习框架于2014 年诞生在加州大学伯克利分校,并催生了 NVCaffe 等分支以及类似于 Facebook 的 Caffe2(现与 PyTorch 合并)的新型框架。肺癌是全球最常见的癌症,半数被诊断为肺癌的患者会在一年内死亡。借助深度学习和 NVIDIA GPU,位于圣路易斯的初创公司 Innovation DX利用胸部 X 光扫描对肺癌进行早期筛查。他们的早期检测工具由神经网络和 Caffe 框架提供支持,可以使肺癌患者的存活率提高两倍。

开发者可以利用 NVIDIA TensorRT 的内置 Caffe 模型导入器,对推理模型进行优化和部署。

Chainer

Chainer 诞生于 2015 年,由日本风险投资公司Preferred Networks开发。利用这款基于 Python 的框架,Preferred Networks与工业自动化巨头 FANUC 携手合作,共同参加了 2016 年的亚马逊分拣货物挑战赛 (Amazon Picking Challenge)。挑战赛的内容是让自主机器人分拣并放置物品。Preferred Networks 和 FANUC 在比赛中使用了卷积神经网络和用于笔记本电脑的NVIDIA GeForce GTX 870M GPU,并最终取得了第二名的好成绩。

开发者可以将模型迁移到 ONNX 进行推理,然后使用 NVIDIA TensorRT 进行优化和部署。

Keras

Keras 是一个可以在多个框架上运行的界面,使用高级Python API ,它可以在诸如MXNet、TensorFlow、Theano 和 Microsoft Cognitive Toolkit等不同框架之上运行。Keras 由研究人员 FrançoisChollet 于 2014 年创建,旨在让统一且抽象的 API 变得易于使用。一个韩国研究团队使用 Keras 来提高飓风预测的速度和准确性。他们使用 TensorFlow 上的 Keras 构建了深度学习模型,并在 NVIDIA GPU 上运行,可以提前几个小时预测风暴的路径和降水量。由于这些神经网络能够提前预测风暴,因此他们可以在飓风来袭之前向当地居民发出警告,争取更多的疏散时间。

MATLAB

MATLAB 允许熟悉其软件的工程师使用 MATLAB 代码来开发深度学习工具。借助MATLAB 和NVIDIA GPU,阿尔伯塔大学的研究人员致力于帮助患者避免不必要的前列腺癌活检。该团队的深度学习模型对细胞外囊泡的生物标志物数据进行分析,从而预判是否存在癌细胞。

在推理方面,开发者可以通过 MATLAB GPU Coder 使用 TensorRT 自动生成经过优化的推理引擎。

Microsoft Cognitive Toolkit

这款由微软公司于2014年推出的深度学习框架,起初被命名为CNTK, 其主要为微软自己的AI模型(如 Cortana)提供支持。借助NVIDIA Tesla GPU和 Microsoft Cognitive Toolkit,医疗科技公司 IRIS 专注于预防糖尿病视网膜病变或糖尿病引起的失明,此类疾病只能通过眼科检查才能发现,患者很难自行判断。而IRIS 的神经网络可通过分析视网膜图像,告知患者是否需要到专业医师处就诊。

开发者可以将模型迁移到 ONNX 进行推理,然后使用 NVIDIA TensorRT 进行优化和部署。

PyTorch

PyTorch 的前身是 Torch,一种基于编程语言 Lua 的热门深度学习框架,该框架于 2011 年推出。随后,2017 年,Facebook 推出了 PyTorch,后者继承了 Torch 的功能并可以在 Python 中实施。艾伦细胞科学研究所 (Allen Institute of Cell Science) 的研究人员利用 PyTorch 开发出了首个可预测人体活细胞的3D 模型,该模型由 NVIDIA DGX 工作站和 TITAN Xp GPU 提供支持,能够让科学家在虚拟环境中以数字方式实现细胞的可视化并操纵细胞行为。这款利用卷积神经网络构建的细胞模型可以替代昂贵的荧光显微镜观测,让科学家能够以一种前所未有的方式理解和预测细胞活动。

开发者可以将模型迁移到 ONNX 进行推理,然后使用 NVIDIA TensorRT 进行优化和部署。

TensorFlow

TensorFlow 是 Google 于 2015 年创建的深度学习框架。德克萨斯大学 MD 安德森癌症中心的研究人员正在使用 TensorFlow 开发高精度放射治疗技术。放射科医师通常会检查癌症患者的扫描图像,以判断在不损害正常组织的情况下应该使用多少辐射量来进行肿瘤靶向治疗。借助 NVIDIA Tesla GPU,研究人员开发了可学习并模仿医生工作模式的深度学习模型,来识别放射目标区域。

在推理方面,开发者既可以使用 TensorFlow-TensorRT 集成功能优化 TensorFlow 中的模型;也可以导出 TensorFlow 模型,然后使用 NVIDIA TensorRT 的内置 TensorFlow 模型导入器在 TensorRT 中进行优化。

广泛的框架生态系统

NVIDIA与上述诸多框架以及其他框架(如百度的 PaddlePaddle)合作,使深度学习应用程序得以成功实现。

新型深度学习框架正在不断地涌现,这表明神经网络得到了开发者的广泛采用。Theano 和 Torch 这类早期框架为许多深度学习应用程序提供了支持,但其创建者在 2017 年宣布,他们将不再继续开发这些框架。

NVIDIA 的深度学习框架团队直接参与了其中的多个开源项目,仅在去年,就做出了共计 800 多项贡献,提高了这些项目的易用性和性能。

NGC 容器注册表允许访客即时访问上述多种框架,并能够按照访客的需求,为其提供最佳的 GPU 加速性能。

了解更多有关深度学习框架的资源和安装信息,请访问NVIDIA Developer 网站。该中心还为一些最常见的深度学习框架和应用程序提供示例神经网络训练脚本,例如计算机视觉、机器翻译和对象检测。在 NVIDIA GPU Cloud 目录中还提供深度学习容器套件。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • AI
    AI
    +关注

    关注

    87

    文章

    30295

    浏览量

    268555
  • 深度学习
    +关注

    关注

    73

    文章

    5493

    浏览量

    121029

原文标题:一文教你如何选择深度学习框架开启AI研究

文章出处:【微信号:NVIDIA-Enterprise,微信公众号:NVIDIA英伟达企业解决方案】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    嵌入式和人工智能究竟是什么关系?

    领域,如工业控制、智能家居、医疗设备等。 人工智能是计算机科学的一个分支,它研究如何使计算机具备像人类一样思考、学习、推理和决策的能力。人工智能
    发表于 11-14 16:39

    人工智能、机器学习深度学习存在什么区别

    人工智能指的是在某种程度上显示出类似人类智能的设备。AI有很多技术,但其中一个很大的子集是机器学习——让算法从数据中学习
    发表于 10-24 17:22 2465次阅读
    <b class='flag-5'>人工智能</b>、机器<b class='flag-5'>学习</b>和<b class='flag-5'>深度</b><b class='flag-5'>学习</b>存在什么区别

    《AI for Science:人工智能驱动科学创新》第6章人AI与能源科学读后感

    、优化等方面的应用有了更清晰的认识。特别是书中提到的基于大数据和机器学习的能源管理系统,通过实时监测和分析能源数据,实现了能源的高效利用和智能化管理。 其次,第6章通过多个案例展示了人工智能在能源科学中
    发表于 10-14 09:27

    《AI for Science:人工智能驱动科学创新》第二章AI for Science的技术支撑学习心得

    人工智能在科学研究中的核心技术,包括机器学习深度学习、神经网络等。这些技术构成了AI for Science的基石,使得AI能够处理和分析
    发表于 10-14 09:16

    《AI for Science:人工智能驱动科学创新》第一章人工智能驱动的科学创新学习心得

    人工智能:科学研究的加速器 第一章清晰地阐述了人工智能作为科学研究工具的强大功能。通过机器学习深度
    发表于 10-14 09:12

    risc-v在人工智能图像处理应用前景分析

    定制性。这些特点使得RISC-V在多个领域,包括人工智能图像处理领域,具有显著的优势。 二、RISC-V在人工智能图像处理中的优势 开源性和灵活性 : RISC-V的开源性意味着任何人都可以自由研究
    发表于 09-28 11:00

    名单公布!【书籍评测活动NO.44】AI for Science:人工智能驱动科学创新

    大力发展AI for Science的原因。 第2章从科学研究底层的理论模式与主要困境,以及人工智能三要素(数据、算法、算力)出发,对AI for Science的技术支撑进行解读。 第3章介绍了在
    发表于 09-09 13:54

    FPGA在人工智能中的应用有哪些?

    FPGA(现场可编程门阵列)在人工智能领域的应用非常广泛,主要体现在以下几个方面: 一、深度学习加速 训练和推理过程加速:FPGA可以用来加速深度
    发表于 07-29 17:05

    人工智能、机器学习深度学习是什么

    在科技日新月异的今天,人工智能(Artificial Intelligence, AI)、机器学习(Machine Learning, ML)和深度学习(Deep Learning,
    的头像 发表于 07-03 18:22 1141次阅读

    人工智能深度学习的五大模型及其应用领域

    随着科技的飞速发展,人工智能(AI)技术特别是深度学习在各个领域展现出了强大的潜力和广泛的应用价值。深度学习作为人工智能的一个核心分支,通过
    的头像 发表于 07-03 18:20 3767次阅读

    TensorFlow与PyTorch深度学习框架的比较与选择

    深度学习作为人工智能领域的一个重要分支,在过去十年中取得了显著的进展。在构建和训练深度学习模型的过程中,深度
    的头像 发表于 07-02 14:04 915次阅读

    FPGA在深度学习应用中或将取代GPU

    现场可编程门阵列 (FPGA) 解决了 GPU 在运行深度学习模型时面临的许多问题 在过去的十年里,人工智能的再一次兴起使显卡行业受益匪浅。英伟达 (Nvidia) 和 AMD 等公司的股价也大幅
    发表于 03-21 15:19

    人工智能和机器学习的顶级开发板有哪些?

    机器学习(ML)和人工智能(AI)不再局限于高端服务器或云平台。得益于集成电路(IC)和软件技术的新发展,在微型控制器和微型计算机上实现机器学习算法和深度
    的头像 发表于 02-29 18:59 779次阅读
    <b class='flag-5'>人工智能</b>和机器<b class='flag-5'>学习</b>的顶级开发板有哪些?

    嵌入式人工智能的就业方向有哪些?

    嵌入式人工智能的就业方向有哪些? 在新一轮科技革命与产业变革的时代背景下,嵌入式人工智能成为国家新型基础建设与传统产业升级的核心驱动力。同时在此背景驱动下,众多名企也纷纷在嵌入式人工智能领域布局
    发表于 02-26 10:17

    生成式人工智能和感知式人工智能的区别

    生成新的内容和信息的人工智能系统。这些系统能够利用已有的数据和知识来生成全新的内容,如图片、音乐、文本等。生成式人工智能通常基于深度学习技术,如生成对抗网络(GANs)、变分自编码器(
    的头像 发表于 02-19 16:43 1599次阅读