paddlepadle的模型分类训练方式

其中,Fluid通过提供顺序、分支和循环三种执行结构的支持,让用户可以通过组合描述任意复杂的模型。

顺序执行
用户可以使用顺序执行的方式搭建网络:
x=fluid.layers.data(name='x',shape=[13],dtype='float32'
y_predict=fluid.layers.fc(input=x,size=1,act=None)
y=fluid.layers.data(name='y',shape=[1],dtype='float32')
cost=fluid.layers.square_error_cost(input=y_predict,label=y)

条件分支–switch,if else
Fluid 中有 switch 和 if-else 类来实现条件选择,用户可以使用这一执行结构在学习率调节器中调整学习率或其他希望的操作:
lr=fluid.layers.tensor.create_gloabl_var(
          shape=[1],
          value=0.0,
          dtype='float32',
          persistable=True,
          name="learning_rate")
 one_var=fluid.layers.fill_constant(
          shape=[1],dtype='float32',value=1.0)
 two_var=fluid.layers.fill_constant(
          shape=[1],dtype='float32',value=2.0)
 with fluid.layers.control_flow.Swith() as swith:
          with swith.case(global_step==zero_var):
              fluid.layers.tensor.assign(input=one_var,output=lr)

PaddlePaddle案例实战

1. 问题描述

在这里插入图片描述

2. 定义数据

在这里插入图片描述

3. 搭建网络

在这里插入图片描述

4. 添加损失函数

在这里插入图片描述

5. 网络优化

在这里插入图片描述
在这里插入图片描述

#加载库
import paddle.fluid as fluid
import numpy as np
#定义数据
train_data=np.array([[1.0],[2.0],[3.0],[4.0]]).astype('float32')
y_true=np.array([[2.0],[4.0],[6.0],[8.0]]).astype('float32')
#定义网络
x=fluid.layers.data(name='x',shape=[1],dtype='float32')
y=fluid.layers.data(name='y',shape=[1],dtype='float32')
y_predict=fluid.layers.fc(input=x,size=1,act=None)
#定义损失函数
cost=fluid.layers.square_error_cost(input=y_predict,label=y)
avg_cost=fluid.layers.mean(cost)
#定义优化方法
sgd_optimizer=fluid.optimizer.SGD(learning_rate=0.01)
sgd_optimizer,minimize(avg_cost)
#参数初始化
cpu=fluid.core.CPUPlace()
exe=fluid.Executor(cpu)
exe.run(fluid.default_startup_program())
#开始训练,迭代100次
for i in range(100):
      out=exe.run(feed={'x':train_data,'y':y_true},
      fetch_list=[y_predict.name,avg_cost.name])
#观察结果
print(outs)


 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值