云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

域名交易_数据库删除恢复_返利

小七 141 0

英特尔在数据链方面的大腕

在数据库上试试这个笔记本英特尔最近发布了它在apachespark上进行分布式深度学习的BigDL项目。BigDL具有原生的Spark集成,允许它在模型训练、预测和调优期间利用Spark。这篇博客文章给出了BigDL的亮点和一个教程,展示了如何在Databricks上使用BigDL。英特尔BigDL项目BigDL深度学习lib库是英特尔的一个开源学习库。BigDL以Torch为模型,为低级数值计算和高级神经网络提供了功能。BigDL是在apachespark之上编写的,允许轻松的横向扩展计算。本地Apache Spark集成BigDL的原生Spark集成将BigDL从许多其他深度学习项目中分离出来。所有主要的深度学习库都可以与Spark集成(参见我们之前的博客文章),但是许多库最好是通过在每个Spark工作人员上分别运行这些库来实现的。这种设置使得使用Spark分配某些任务(如预测和模型调整)变得很容易,但是分配模型训练更困难。由于BigDL是建立在Spark之上的,因此很容易分发模型训练,这是深度学习中计算量最大的部分之一。用户不必显式地处理分布式计算。相反,BigDL会自动将工作分散到Spark集群中。利用最新的CPU架构与其他运行在cpu上的深度学习框架相比,BigDL还通过利用最新的Intel架构实现了加速。特别是,它附带了"英特尔数学内核库"(MKL),它可以加速深度学习所需的大量数值计算。查看英特尔的BigDL文章和BigDL GitHub页面了解详细信息。教程:在Databricks上使用BigDL在这篇博文的其余部分,我们将介绍一个使用BigDL在Databricks上训练深层神经网络的例子。我们的应用程序是一个典型的使用MNIST数据集的手写数字识别问题。给定一个手写数字的数据集,加上真实的标签(0-9),我们将使用BigDL来训练lenet5网络模型。我们训练有素的模特将能够拍摄新的图像并推断出他们的手指。这篇博文给出了工作流的高级描述,您可以查看相关的Databricks笔记本以获得完整的详细信息。这些资料主要来自BigDL教程和BigDL示例代码。建立星团要在Spark集群上设置BigDL,您需要:构建BigDL创建和配置集群—这是从BigDL获得最佳性能的关键步骤。导入BigDL并将库附加到集群有关构建BigDL和配置集群的详细信息,请参阅附带的笔记本。初始化BigDLBigDL采用一些特殊的配置来告诉它你的Spark集群的尺寸。考虑到这些维度,BigDL将找出如何在工人之间分配任务。关键配置包括:nodeNumber:Spark executor节点数coreNumber:每个执行器节点的核心数batchSize:每次迭代要处理的数据行数看看发动机初始化打电话到相关的笔记本,看看初始化是如何完成的。下载并准备MNIST数据为了帮助您开始,我们提供了一个用于下载MNIST字节数据文件的脚本,以及加载这些字节文件的方法。最后,我们使用这些图像来加载训练和验证集。例如,下面的代码片段加载原始字节数据,将其转换为灰度图像,规范化图像特征,并将图像分组为多个批次进行训练。val车列=数据集.array(载荷(列车数据,列车标签),sc)->BytesToGreyImg(28,28)->GreyImgNormalizer(列车平均值,列车标准)->格雷因格托巴奇(参数batchSize)训练模型加载数据后,我们现在可以训练LeNet模型来学习网络参数。BigDL使用随机梯度下降(SGD)进行学习,因此需要调整的关键学习参数有:学习速率:学习的速度,较小的值有助于避免局部最优值,但较大的值会在每次迭代中产生更多的进度maxEpoch:用于训练的最外层时间或迭代次数的最大值我们使用提供的lenet5网络结构创建一个初始模型,指定我们预测10个类(数字0-9):val初始模型=透镜5(10)接下来我们指定优化器,它包括我们要优化的学习标准。在这种情况下,我们最小化类负对数似然准则。val optimizer=优化器(模型=初始模型,数据集=车列,标准=类NLL标准[浮动]())最后,我们为测试集的跟踪精度指定了一个验证标准(Top1Accuracy),以及一个终止标准(触发器.maxEpoch)决定何时停止训练。我们调用optimize(),BigDL开始训练!预测和评估有了我们的训练模型,我们现在可以对新数据进行预测和评估准确性。BigDL通过Validator和ValidationMethod类提供了一组评估指标。val validator=验证器(trainedModel,validationSet)val结果=验证程序测试(数组(new Top1Accuracy[Float]))检验结果表明,我们的模型达到了99%的准确率,在10000个验证实例中有9884个得到了正确的预测。下一步行动我们简要介绍了BigDL以及如何开始。要了解更多关于BigDL的信息,我们建议您查看BigDL GitHub页面和2017年波士顿Spark峰会上的BigDL谈话(峰会后不久将在这个链接上发布)。要开始在Databricks中使用BigDL,可以在Databricks社区版上免费试用配套的笔记本。笔记本提供了更详细的演练。尝试调整模型或学习设置以获得更高的精度!免费试用Databricks。今天就开始吧