PaddlePaddleFluid深度学习入门与实战在线阅读

简介: 本书全面讲解PaddlePaddle Fluid框架在深度学习领域的应用。

第1章

PaddlePaddle深度学习开发环境的搭建

1.1 深度学习与PaddlePaddle

2016年3月,阿尔法围棋(AlphaGo)与围棋世界冠军、职业九段棋手李世石进行人机大战,最终AlphaGo以4︰1的总比分获胜,这个事件引起社会的高度关注,也把人工智能再一次推向话题顶峰。我们也可以从日常活动中感受到人工智能已经真正进入了我们的生活。如近几年,扫码支付大大普及,而如今的刷脸支付已成为一种越来越受大家欢迎的新支付方式,这些变化几乎改变了我们的生活方式和习惯,而这些变化的背后是深度学习的崛起。

深度学习真的有传说中那么神奇吗?作为技术人员,我们应当如何去学习深度学习呢?深度学习真的很难掌握吗?接下来就让我们通过本书来揭开深度学习的神秘面纱,我们将会使用PaddlePaddle深度学习框架带领大家进入深度学习领域,使大家成为人工智能领域的开发者。

PaddlePaddle,又名飞桨,前身是百度公司于2013年自主研发的深度学习框架,在2016年9月的百度世界大会上,当时的百度公司首席科学家吴恩达首次宣布开源PaddlePaddle深度学习框架。PaddlePaddle也是我国首款深度学习开源框架。作为国内的开源深度学习框架,PaddlePaddle的开发文档全面支持中文,这对国内开发者非常友好,并且百度公司经常会在全国各个地区举办PaddlePaddle的公开课,让开发者有机会面对面地与PaddlePaddle工程师交流,这样的机会,是其他国外深度学习框架很难给予的。

1.2 PaddlePaddle能做些什么

深度学习已经深入我们生活的方方面面,有不少的App可以使用人脸识别登录,人脸识别登录就使用了人脸检测、人脸特征对比等多项深度学习技术。在没有深度学习框架之前,要搭建一个深度神经网络模型的工作量是非常大的,既要考虑网络模型的实现,还要考虑底层代码的实现,更要考虑硬件设备的适配。但是有了PaddlePaddle深度学习框架之后,搭建深度神经网络模型就变得非常简单,在深度学习中常使用的深度学习框架都有提供,如卷积层、池化层、循环神经网络模型,以及各种优化方法和损失函数等,还有各种自定义的算子供开发者使用。有了PaddlePaddle深度学习框架后,研究人员和项目开发者不需要考虑底层实现的问题,可以把更多的精力放在搭建项目所需的深度学习模型,以及如何提高模型的准确率上。

那什么时候需要使用PaddlePaddle,又应当如何使用PaddlePaddle呢?如笔者的项目现在需要实现一个植物识别功能,用户可通过手机上的App识别所拍摄到的植物的名称,并给出该植物的百科信息。要实现这个功能,首先我们需要收集植物图像数据,按照它们的名称设置标签并制作成一个植物数据集。然后使用PaddlePaddle搭建一个卷积神经网络模型,如ResNet、MobileNet等。最后使用植物数据集训练该模型。训练结束之后会得到一个预测模型,这个预测模型就可以预测并输出图片中植物的名称,通过植物名称即可查找并显示该植物的百科信息。这个预测模型可以部署在服务器上,或者是移动App上。这样就可以轻松实现一个植物百科应用。PaddlePaddle还可以实现很多使用深度神经网络模型的功能,如翻译软件中的中英文互译、输入法中的语音输入等。利用PaddlePaddle深度学习框架,可以使我们的应用或者设备变得更加“聪明”,让人工智能真正进入我们的生活中。

1.3 如何学习本书

在学习本书之前,读者应该有一定的Python基础,本书使用的Python语法难度虽然不大,但读者有一定的Python基础可以更快速地理解PaddlePaddle的用法,特别是列表的使用。本书的每一章都提供了完整的源码,同时也开源到GitHub上,读者在学习各章时,最好要上机练习,正所谓“耳闻之不如目见之,目见之不如足践之”。在自定义数据集相关章节中,读者可以使用网络上公开的数据集或者自行制作数据集进行模型训练。在训练模型过程中,不管是使用PaddlePaddle还是自定义数据集,都可以尝试使用多种深度神经网络模型、优化方法,尝试提高模型的准确率,不要仅限于本书所提供的模型。

版权:人民邮电出版社