paddlepaddle框架小白入门级指南
引言
一.准备工作
1.jupyter notebook
2.pycharm及GPU配置
3.pip,numpy,matplotlib安装
二.paddle安装排雷
1.安装时注意
2. paddle安装后导入到PyCharm,设置解释器
三.从python到paddle,paddle框架优势利用
引言
作为一名初步进入深度学习领域的小白来说,复杂的命令行操作,一些看不懂的专业英语术语,满篇的英文接口与方法,经常让人感到烦恼甚至劝退。然而,作为国产的深度学习框架工具,飞桨提供了一个完全国产化的平台,功能强大而且丰富。本文为刚刚接触paddle框架的小白排雷,顺便阐述飞桨框架的一些使用技巧,防止新手因为信息量过于庞大或者不善于查找资料而烦恼
一.准备工作
1.jupyter notebook
在ai studio中,paddle框架的学习是结合jupyter notebook一起使用的,因而为了使用简便,建议预先安装jupyter notebook(有pytorch和anaconda使用经历的大佬们电脑中一般已经有了,可以先查看一下)
2.pycharm及GPU配置
对于安装有GPU或者使用的笔记本电脑显卡为NVIDIA的用户,推荐安装pycharm以便获取更快速的代码运行速度(虽然飞桨官方有算力卡,提供CPU和GPU服务,但是以后总会在自己电脑上跑的呀)。GPU的环境下运行速度显著快于CPU,更改使用环境参考代码:with fluid.dygraph.guard(place),在place赋值时可供选择
use_gpu = True
place = fluid.CUDAPlace(0) if use_gpu else fluid.CPUPlace()
其中0代表0号GPU卡,一般配置有GPU的电脑都是4卡,查找卡的名称及使用情况,请使用命令行输入: 启动多GPU的训练,还需要在命令行中设置一些参数变量。打开终端,运行如下命令:
$ python -m paddle.distributed.launch --selected_gpus=0,1,2,3 --log_dir ./mylog train_multi_gpu.py
paddle.distributed.launch:启动分布式运行。 selected_gpus:设置使用的GPU的序号(需要是多GPU卡的机器,通过命令watch nvidia-smi查看GPU的序号)。 log_dir:存放训练的log,若不设置,每个GPU上的训练信息都会打印到屏幕。 train_multi_gpu.py:多GPU训练的程序,包含修改过的train_multi_gpu()函数。 注意,使用GPU训练时代码和CPU有三处差异:以mnist数据集的训练过程为例,在修改过的train_multi_gpu()函数中:
#GPU训练过程:
def train_multi_gpu():
##修改1-从环境变量获取使用GPU的序号
place = fluid.CUDAPlace(fluid.dygraph.parallel.Env().dev_id)
with fluid.dygraph.guard(place):
##修改2-对原模型做并行化预处理
strategy = fluid.dygraph.parallel.prepare_context()
model = MNIST()
model = fluid.dygraph.parallel.DataParallel(model, strategy)
model.train()
# 调用加载数据的函数
train_loader = load_data('train')
##修改3-多GPU数据读取,必须确保每个进程读取的数据是不同的
train_loader = fluid.contrib.reader.distributed_batch_reader(train_loader)
optimizer = fluid.optimizer.SGDOptimizer(learning_rate=0.01, parameter_