新API还有助于数据加载操作的复用。例如,我们定义两个reader,分别是impressions()和clicks(),前者用于读取搜索引擎的日志流数据,后者用于读取点击流数据;然后,我们可以通过预定义的reader decorator缓存并组合这些数据,再对合并后的数据进行乱序操作:
如果我们希望只使用数据集中的前5000个样本来进行小型实验,代码如下:
此外,直播,我们发布了paddle.datasets包,为教程中的八个示例程序都提供了预定义好的数据加载接口。第一次调用时会自动下载公共数据集并进行预处理,之后的调用则会从本地缓存中自动读取。 更高层次的API PaddlePaddle是一个诞生在工业界的系统,从一开始就强调支持分布式训练。但在编写分布式程序时,旧API暴露了很多用户不需要知道的细节。另外,PaddlePaddle的C++代码中的训练过程是一个for循环结构,不能跑在交互式的Jupyter Notebook上。因此,我们发布了新API,提供了一些更高层次的接口,如train(训练接口)、test(测试接口)和infer(应用接口)。这些新API既能在本地运行,将来也支持在Kubernets集群上运行分布式作业。 以上述的三分支模型和GAN模型为例,下面展示train和infer的使用思路。
我们会持续优化新API,上述设计思想的具体实现会在0.10.0版中完成,同时也欢迎您的评论、反馈和代码贡献! 参考文献 1.PaddlePaddle’s New API Simplifies Deep Learning Programs. 2.PaddlePaddle Design Doc. 3.PaddlePaddle Python Data Reader Design Doc. 关于《深度学习入门教程》 这本书脱胎于PaddlePaddle Team的线上教材《深度学习入门》,包括新手入门、识别数字、图像分类、词向量、情感分析、语义角色标注、机器翻译、个性化推荐等内容。 以下是《深度学习入门》一书的目录: (责任编辑:本港台直播) |