认识PaddlePaddle
生活随笔
收集整理的這篇文章主要介紹了
认识PaddlePaddle
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
"""
功能:計算常量的加法:1+1
"""import paddle # 導入PaddlePaddle庫
print(paddle.__version__) # 查看版本號# 定義兩個張量
x1 = paddle.ones([2,2], dtype='int64')
x2 = paddle.ones([2,2], dtype='int64')
# print(x1,x2)
# 將兩個張量求和
y1 = paddle.add(x1, x2)# 查看結果
print(y1)
"""
功能:驗證模型是否符合Y=2X+1
"""import paddle # 導入PaddlePaddle庫
import numpy as np
print(paddle.__version__) # 查看版本號# 定義訓練和測試數據,滿足y = 2 * x + 1
x_data = np.array([[1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],[2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],[3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],[4.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],[5.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]]).astype('float32')
y_data = np.array([[3.0], [5.0], [7.0], [9.0], [11.0]]).astype('float32')# 定義一個簡單的線性網絡
net = paddle.nn.Sequential(paddle.nn.Linear(13, 100), # 輸入層paddle.nn.ReLU(), # 接激活函數ReLUpaddle.nn.Linear(100, 1) # 輸出大小為100的全連接層
)# 定義優化方法:SGD隨機梯度下降法
optimizer = paddle.optimizer.SGD(learning_rate=0.01, parameters=net.parameters())# 將numpy類型數據轉換成tensor之后才能用于模型訓練
inputs = paddle.to_tensor(x_data)
labels = paddle.to_tensor(y_data)# 開始訓練100個循環
for pass_id in range(100):out = net(inputs)loss = paddle.mean(paddle.nn.functional.square_error_cost(out, labels)) #先求一個Batch的損失值,再求平均值# 平均差損失函數paddle.nn.functional.square_error_cost求的是一個Batch的損失值loss.backward()optimizer.step()optimizer.clear_grad()print("Pass:%d, Cost:%0.5f" % (pass_id, loss))# 輸出的損失值不斷減小,證明模型在不斷收斂# 開始預測
test_data = np.array([[6.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]]).astype('float32')
predict_inputs = paddle.to_tensor(test_data)
result = net(predict_inputs)
print("當x為6.0時,y為:%0.5f" % result)
總結
以上是生活随笔為你收集整理的认识PaddlePaddle的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 激光治疗丝状疣大约花多少钱
- 下一篇: 为何美国电影变形金刚5,被定义为烂片