2020-6-22 吴恩达-改善深层NN-w3 程序框架(3.10 深度学习框架--选择框架的标准)

274 篇文章 24 订阅
233 篇文章 0 订阅
本文介绍了深度学习框架的重要性,特别是在实现复杂模型如卷积神经网络和循环神经网络时。吴恩达提到,虽然从零开始编写代码有助于理解算法,但在实际应用中,使用深度学习框架能提高效率。他提出选择框架的三个标准:编程便利性、运行速度和开源性质。他还警告了某些公司可能改变开源策略的风险,并指出框架的选择应考虑应用领域和个人语言偏好。
摘要由CSDN通过智能技术生成

1.视频网站:mooc慕课https://mooc.study.163.com/university/deeplearning_ai#/c
2.详细笔记网站(中文):http://www.ai-start.com/dl2017/
3.github课件+作业+答案:https://github.com/stormstone/deeplearning.ai

3.10 深度学习框架 Deep Learning frameworks

前面的课后编程作业,我们已经使用Python和NumPy从零开始实现深度学习算法,这对于理解这些深度学习算法实际上在做什么很有帮助。

但你会发现,除非应用更复杂的模型,例如卷积神经网络,或者循环神经网络,或者当你开始应用很大的模型,否则它就越来越不实用了。至少对大多数人而言,从零开始全部靠自己实现并不现实。

幸运的是,现在有很多好的深度学习软件框架,可以帮助你实现这些模型。

举个例子,假设你知道如何做矩阵乘法,知道如何编程实现两个矩阵相乘。但是当你在建很大的应用时,你很可能不想用自己的矩阵乘法函数,而是想要访问一个数值线性代数库,它会更高效。但如果你明白两个矩阵相乘是怎么回事还是挺有用的。

现在DL已经很成熟了,利用一些DL框架会更加实用,会使你的工作更加有效,那就让我们来看下有哪些框架。
在这里插入图片描述

现在有许多DL框架,能让实现NN变得更简单,我们来讲主要的几个。

每个框架都针对某一用户或开发群体的,这里的每一个框架都是某类应用的可靠选择,有很多人写文章比较这些DL框架,以及这些DL框架发展得有多好,而且因为这些框架往往不断进化,每个月都在进步,如果你想看看关于这些框架的优劣之处的讨论,你可以去网上搜索。

很多框架都在很快进步,越来越好,因此在这里就不做强烈推荐了,而是与你分享推荐一下选择框架的标准。

第一个重要的标准就是便于编程,这既包括NN的开发和迭代,还包括为产品进行配置,为了成千上百万,甚至上亿用户的实际使用,取决于你想要做什么。

第二个重要的标准是运行速度,特别是训练大数据集时,一些框架能让你更高效地运行和训练神经网络。

还有一个标准就是这个框架是否真的开放 Truly open
要是一个框架真的开放,它不仅需要开源,而且需要良好的管理。不幸的是,在软件行业中,一些公司有开源软件的历史,但是公司保持着对软件的全权控制,当几年时间过去,人们开始使用他们的软件时,一些公司开始逐渐关闭曾经开放的资源,或将功能转移到他们专营的云服务中。因此我会注意的一件事就是你能否相信这个框架能长时间保持开源,而不是在一家公司的控制之下,它未来有可能出于某种原因选择停止开源,即便现在这个软件是以开源的形式发布的。

在短期内,框架选择取决于你对语言的偏好,看你更喜欢Python,Java还是C++或者其它什么,也取决于你在开发的应用,是计算机视觉,还是自然语言处理或者线上广告,等等,我认为这里的多个框架都是很好的选择。

通过提供比数值线性代数库更高程度的抽象化,这里的每一个程序框架都能让你在开发DL学习应用时更加高效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值