1.从零开始学习paddlepaddle之环境安装与基础计算
·
paddlepaddle是百度的深度学习框架,在全面国产化的现在,学习paddlepaddle是很有必要的。
本系列是自己对paddlepaddle学习中的总结,分享出来希望大家喜欢。
paddlepaddle的官网在飞桨PaddlePaddle-源于产业实践的开源深度学习平台。
第一步,安装anaconda,在这里我们选择清华源的conda,很容易就能搜索到。
#打开网站 https://mirror.tuna.tsinghua.edu.cn/help/anaconda/
#或者 wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2022.05-Linux-x86_64.sh
chmod +x Anaconda3-2022.05-Linux-x86_64.sh
./Anaconda3-2022.05-Linux-x86_64.sh
第二步,安装paddlepaddle的环境,在这里我们使用pip
pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple
第三步,查看paddle的version
pip list|grep paddlepaddle #2.3.1
可以看到paddlepaddle自动安装到了2.3.1版本
第四步,开启paddle一个小demo测试,如下:
import paddle
x = paddle.to_tensor(1)
w = paddle.to_tensor(2)
b = paddle.to_tensor(3)
y = w*x+b
print(y)#Tensor(shape=[1], dtype=int64, place=Place(cpu), stop_gradient=True,[5])
如上,paddle简单的计算测试成功。
第五步,尝试paddle里的梯度计算,依然是上述例子,在paddle里需要加上stop_gradient使其可以梯度计算。
import paddle
x = paddle.to_tensor(1,stop_gradient=False)
w = paddle.to_tensor(2,stop_gradient=False)
b = paddle.to_tensor(3,stop_gradient=False)
y = w*x+b
print(y)#Tensor(shape=[1], dtype=int64, place=Place(cpu), stop_gradient=True,[5])
y.backward()
print(y.grad)#Tensor(shape=[1], dtype=int64, place=Place(cpu), stop_gradient=True,[1])
print(x.grad)#Tensor(shape=[1], dtype=int64, place=Place(cpu), stop_gradient=True,[2])
print(w.grad)#Tensor(shape=[1], dtype=int64, place=Place(cpu), stop_gradient=True,[1])
print(b.grad)#Tensor(shape=[1], dtype=int64, place=Place(cpu), stop_gradient=True,[1])
可以看到反向传播,计算梯度,没有问题,paddle在向量的计算与反向传播的方法与pytorch比较相似,只是torch里是torch.tensor,而paddle里是 to_tensor。
在paddle里也可以简单的创建向量,可以直接将python列表数据转换,如下:
import paddle
x = paddle.to_tensor([2,3])
print(x)#Tensor(shape=[2], dtype=int64, place=Place(cpu), stop_gradient=True,[2, 3])
x = paddle.to_tensor([[2,3]])
print(x)#Tensor(shape=[1, 2], dtype=int64, place=Place(cpu), stop_gradient=True,[[2, 3]])
很多时候在建立模型时,tensor的维度是非常需要关注的,所以我们可以通过.shape获取,当然也可以直接打印,目前看paddle底层是类似numpy的。
x = paddle.to_tensor([[2,3]])
print(x.shape)#[1,2]
更多推荐
所有评论(0)