PaddlePaddle

NeurIPS 2018夺冠功臣 | 百度正式发布PaddlePaddle深度强化学习框架PARL

放肆的年华 提交于 2020-04-17 02:29:00
【推荐阅读】微服务还能火多久?>>> 强化学习作为AI技术发展的重要分支,为各家AI公司高度重视。去年,百度首次参与NeurIPS 2018的强化学习赛事,就击败了多达400支来自全球研究机构以及各大公司研究部门的参赛队伍,大比分以绝对优势拿下了冠军,并受邀在加拿大蒙特利尔举办的NeurIPS 2018 Competition Workshop上分享。近日,百度PaddlePaddle正式发布在赛事夺冠中起到关键作用的深度强化学习框架PARL,同时开源了基于该框架的NeurIPS2018强化学习赛事的完整训练代码。(冠军解决方案见https://github.com/PaddlePaddle/PARL) PARL 的名字来源于 PA ddlepaddle R einfocement L earning,是一款基于百度PaddlePaddle打造的深度强化学习框架。PARL凝聚了百度多年来在强化学习领域的技术深耕和产品应用经验。与现有强化学习工具和平台相比,PARL具有更高的可扩展性、可复现性和可复用性,强大的大规模并行化和稀疏特征的支持能力,以及工业级应用案例的验证。 自2012年以来,百度就将在multi-arm bandits问题上的研究成果成功落地到推荐系统中,广泛应用于搜索、对话、推荐等产品,通过点击反馈结合在线训练的方式,动态调整探索(exploration)和收益

PaddlePaddle/PGL

≡放荡痞女 提交于 2020-04-17 00:56:02
【推荐阅读】微服务还能火多久?>>> 文档 | 快速开始 | English Paddle Graph Learning (PGL)是一个基于 PaddlePaddle 的高效易用的图学习框架 在最新发布的PGL中引入了异构图的支持,新增MetaPath采样支持异构图表示学习,新增异构图Message Passing机制支持基于消息传递的异构图算法,利用新增的异构图接口,能轻松搭建前沿的异构图学习算法。而且,在最新发布的PGL中,同时也增加了分布式图存储以及一些分布式图学习训练算法,例如,分布式deep walk和分布式graphsage。结合PaddlePaddle深度学习框架,我们的框架基本能够覆盖大部分的图网络应用,包括图表示学习以及图神经网络。 特色:高效性——支持Scatter-Gather及LodTensor消息传递 对比于一般的模型,图神经网络模型最大的优势在于它利用了节点与节点之间连接的信息。但是,如何通过代码来实现建模这些节点连接十分的麻烦。PGL采用与 DGL 相似的 消息传递范式 用于作为构建图神经网络的接口。用于只需要简单的编写 send 还有 recv 函数就能够轻松的实现一个简单的GCN网络。如下图所示,首先,send函数被定义在节点之间的边上,用户自定义send函数 会把消息从源点发送到目标节点。然后,recv函数 负责将这些消息用汇聚函数 汇聚起来。

用PaddlePaddle实现图像分类-DenseNet(动态图版)

强颜欢笑 提交于 2020-04-16 15:49:21
【推荐阅读】微服务还能火多久?>>> 项目简介 本项目基于paddle 动态图实现了图像分类模型DenseNet ,建议使用GPU来运行本项目,静态图版本请查看: 基于PaddlePaddle的图像分类-DenseNet ,具体介绍如下: DenseNet 相比ResNet,DenseNet提出了一个更激进的密集连接机制:即互相连接所有的层,具体来说就是每个层都会接受其前面所有层作为其额外的输入。图1为DenseNet的密集连接机制。可以看到,在DenseNet中,每个层都会与前面所有层在channel维度上连接(concat)在一起(这里各个层的特征图大小是相同的,后面会有说明),并作为下一层的输入。对于一个L层的网络,DenseNet共包含L(L+1)/2个连接,相比ResNet,这是一种密集连接。而且DenseNet是直接concat来自不同层的特征图,这可以实现特征重用,提升效率,这一特点是DenseNet与ResNet最主要的区别,具体结构如图所示。 图1. DenseNet连接机制 结构对比(CNN, ResNet, DenseNet): DenseNet结构图 DenseNet核心思想在于建立了不同层之间的连接关系,充分利用了feature,进一步减轻了梯度消失问题,加深网络不是问题,而且训练效果非常好。 In[1] # 解压花朵数据集 !cd data

PaddlePaddle/PaddleFL

别来无恙 提交于 2020-04-16 11:51:48
【推荐阅读】微服务还能火多久?>>> PaddleFL PaddleFL是一个基于PaddlePaddle的开源联邦学习框架。研究人员可以很轻松地用PaddleFL复制和比较不同的联邦学习算法。开发人员也可以从padderFL中获益,因为用PaddleFL在大规模分布式集群中部署联邦学习系统很容易。PaddleFL提供很多联邦学习策略及其在计算机视觉、自然语言处理、推荐算法等领域的应用。此外,PaddleFL还将提供传统机器学习训练策略的应用,例如多任务学习、联邦学习环境下的迁移学习。依靠着PaddlePaddle的大规模分布式训练和Kubernetes对训练任务的弹性调度能力,PaddleFL可以基于全栈开源软件轻松地部署。 联邦学习 如今,数据变得越来越昂贵,而且跨组织共享原始数据非常困难。联合学习旨在解决组织间数据隔离和数据知识安全共享的问题。联邦学习的概念是由谷歌的研究人员提出的[1,2,3]。 PaddleFL概述 在PaddleFL中,横向和纵向联邦学习策略将根据[4]中给出的分类来实现。PaddleFL也将提供在自然语言处理,计算机视觉和推荐算法等领域的应用示例。 联邦学习策略 纵向联邦学习 : 带privc的逻辑回归,带第三方privc的神经网络[5] 横向联邦学习 : 联邦平均 [2],差分隐私 [6] 训练策略 多任务学习 [7] 迁移学习 [8] 主动学习

PaddlePaddle/PARL

纵然是瞬间 提交于 2020-04-16 11:35:24
【推荐阅读】微服务还能火多久?>>> English | 简体中文 文档 PARL 是一个高性能、灵活的强化学习框架。 特点 可复现性保证 。我们提供了高质量的主流强化学习算法实现,严格地复现了论文对应的指标。 大规模并行支持 。框架最高可支持上万个CPU的同时并发计算,并且支持多GPU强化学习模型的训练。 可复用性强 。用户无需自己重新实现算法,通过复用框架提供的算法可以轻松地把经典强化学习算法应用到具体的场景中。 良好扩展性 。当用户想调研新的算法时,可以通过继承我们提供的基类可以快速实现自己的强化学习算法。 框架结构 PARL的目标是构建一个可以完整复杂任务的智能体。以下是用户在逐步构建一个智能体的过程中需要了解到的结构: Model Model 用来定义前向( Forward )网络,这通常是一个策略网络( Policy Network )或者一个值函数网络( Value Function ),输入是当前环境状态( State )。 Algorithm Algorithm 定义了具体的算法来更新前向网络( Model ),也就是通过定义损失函数来更新 Model 。一个 Algorithm 包含至少一个 Model 。 Agent Agent 负责算法与环境的交互,在交互过程中把生成的数据提供给 Algorithm 来更新模型( Model )

PaddlePaddle/PLSC

假装没事ソ 提交于 2020-04-16 11:21:14
【推荐阅读】微服务还能火多久?>>> PLSC: 飞桨大规模分类库 简介 深度学习中用于解决多分类问题的深度神经网络的最后一层通常是全连接层和Softmax的组合层,并采用交叉熵(Cross-Entropy)算法计算神经网络的损失函数。由于全连接层的参数量随着分类类别数的增长线性增长,当分类类别数相当大时,神经网络的训练会面临下面两个主要挑战: 参数量过大,超出单个GPU卡的显存容量:假设分类网络最后一层隐层的输出维度为512,那么当分类类别数为一百万时,最后一层全连接层参数的大小约为2GB(假设以32比特浮点数表示参数)。当分类问题的类别数为一亿时(例如,对自然界中的生物进行分类),则最后一层全连接层参数的大小接近200GB,远远超过当前GPU的显存容量。 参数量较大,同步训练方式下通信开销较大:数据并行训练方式下,所有GPU卡之间需要同步参数的梯度信息,以完成参数值的同步更新。当参数数量较大时,参数的梯度信息数据量同样较大,从而导致参数梯度信息的通信开销较大,影响训练速度。 飞桨大规模分类(PLSC: P addlePaddle L arge S cale C lassification)库是基于 飞桨平台 构建的超大规模分类库,为用户提供从训练到部署的大规模分类问题全流程解决方案。 PLSC特性 支持超大规模分类:单机8张V100 GPU配置下支持的最大类别数扩大2.52倍

PaddlePaddle/PaddleSeg

北慕城南 提交于 2020-04-16 11:16:37
【推荐阅读】微服务还能火多久?>>> PaddleSeg 图像分割库 简介 PaddleSeg是基于 PaddlePaddle 开发的语义分割库,覆盖了DeepLabv3+, U-Net, ICNet, PSPNet, HRNet, Fast-SCNN等主流分割模型。通过统一的配置,帮助用户更便捷地完成从训练到部署的全流程图像分割应用。 特点 安装 使用教程 快速入门 基础功能 预测部署 高级功能 在线体验 FAQ 交流与反馈 更新日志 贡献代码 特点 丰富的数据增强 基于百度视觉技术部的实际业务经验,内置10+种数据增强策略,可结合实际业务场景进行定制组合,提升模型泛化能力和鲁棒性。 模块化设计 支持U-Net, DeepLabv3+, ICNet, PSPNet, HRNet, Fast-SCNN六种主流分割网络,结合预训练模型和可调节的骨干网络,满足不同性能和精度的要求;选择不同的损失函数如Dice Loss, BCE Loss等方式可以强化小目标和不均衡样本场景下的分割精度。 高性能 PaddleSeg支持多进程I/O、多卡并行、跨卡Batch Norm同步等训练加速策略,结合飞桨核心框架的显存优化功能,可大幅度减少分割模型的显存开销,让开发者更低成本、更高效地完成图像分割训练。 工业级部署 全面提供 服务端 和 移动端 的工业级部署能力

基于PaddlePaddle的StarGAN,AttGAN,STGAN算法

我的未来我决定 提交于 2020-04-14 16:09:48
【推荐阅读】微服务还能火多久?>>> 简介 生成对抗网络(Generative Adversarial Network[1], 简称GAN) 是一种非监督学习的方式,通过让两个神经网络相互博弈的方法进行学习,该方法由lan Goodfellow等人在2014年提出。生成对抗网络由一个生成网络和一个判别网络组成,生成网络从潜在的空间(latent space)中随机采样作为输入,其输出结果需要尽量模仿训练集中的真实样本。判别网络的输入为真实样本或生成网络的输出,其目的是将生成网络的输出从真实样本中尽可能的分辨出来。而生成网络则尽可能的欺骗判别网络,两个网络相互对抗,不断调整参数。 生成对抗网络常用于生成以假乱真的图片。此外,该方法还被用于生成影片,三维物体模型等。 下载安装命令 ## CPU版本安装命令 pip install -f https://paddlepaddle.org.cn/pip/oschina/cpu paddlepaddle ## GPU版本安装命令 pip install -f https://paddlepaddle.org.cn/pip/oschina/gpu paddlepaddle-gpu 本项目采用celeba数据集,关于celeba数据集的介绍,详见 https://zhuanlan.zhihu.com/p/35975956 In[1] #解压数据集

一文看尽飞桨PaddlePaddle最新升级:5大优势,更低门槛使用深度学习

我只是一个虾纸丫 提交于 2020-04-13 23:49:33
【今日推荐】:为什么一到面试就懵逼!>>> 本文作者:杨蕊1002 飞桨(PaddlePaddle)是国内唯一功能完备的端到端开源深度学习平台,集深度学习训练和预测框架、模型库、工具组件、服务平台为一体,其兼具灵活和效率的开发机制、工业级应用效果的模型、超大规模并行深度学习能力、推理引擎一体化设计以及系统化的服务支持,致力于让深度学习技术的创新与应用更简单。 从Paddle Fluid v1.0以来,飞桨致力于打造更好的用户体验,趁着百度开发者大会,也为用户精心准备了一份大礼,在开发、训练及部署全流程上进行了全新升级,发布了飞桨的五大特性。接下来小编为您一一解读。 一、动态图&静态图 - 兼具动态图和静态图两种计算图的优势 从飞桨核心框架Padlde Fluid v1.5开始,飞桨同时为用户提供动态图和静态图两种机制。静态图是先定义网络结构而后运行,对定义好的图结构进行分析,可以使运行速度更快,显存占用更低,在业务部署上线上的具有非常大的优势,为用户的AI应用落地提供高效支持。但是静态图组网和执行阶段是分开,对于新用户理解起来不太友好。 飞桨从最新版本开始,提供了更方便的动态图模式,所有操作可以立即获得执行结果,而不必等到执行阶段才能获取到结果,这样可以更方便进行模型的调试,同时还减少了大量用于构建Executor等代码,使得编写、调试网络的过程变得更加便捷

百度技术沙龙第67期 百度开源专场

偶尔善良 提交于 2020-04-13 19:45:09
【今日推荐】:为什么一到面试就懵逼!>>> 本文作者:HelloDeveloper 具体的产品案例,分享百度开源技术最新实践经验。目前这些项目都已经在 github/baidu 上开源。 什么是 PaddlePaddle 深度学习平台? 首先做个简单的介绍,PaddlePaddle 是百度自主研发的性能优先、灵活易用的深度学习平台,是一个已经解决和将要解决一些实际问题的平台。目前百度有超过30个主要产品都在使用 PaddlePaddle。关于机器学习、深度学习和浅层学习的内容就不详细介绍了,接下来重点讲述一下 PaddlePaddle 的整体架构。 关于 PaddlePaddle 整体架构 说到 PaddlePaddle 的整体架构,主要从这几个方面入手:多机并行架构、多 GPU 并行架构、Sequence 序列模型和大规模稀疏训练。多机的并行架构和序列模型的实现都是实现神经网络最复杂的东西,那么具体怎么实现全连接? PaddlePaddle 是2013年启动时比较流行的架构是 Pserver 和 Trainer 的架构。在多机并行架构中数据分配到不同节点,下图里灰色部分表示机器,方框里表示一个进程,Pserver 和 Trainer 是分布在两个进程里,中间的部分是网络通讯连接。 下面来介绍一下什么是大规模稀疏模型训练。稀疏模型训练是说输入数据是稀疏的,由于稀疏输入