paddlepaddle学习笔记(4)mnist手写数字识别

18 篇文章 0 订阅
15 篇文章 0 订阅

一、代码

import paddle
from paddle import fluid


images = fluid.layers.data(name='pixel',shape=[1,28,28],dtype='float32')
label = fluid.layers.data(name='label',shape=[1],dtype='int64')

conv_pool_1 = fluid.nets.simple_img_conv_pool(input=images,filter_size=5
                        ,num_filters=20,pool_size=2,pool_stride=2,act="relu")
conv_pool_2 = fluid.nets.simple_img_conv_pool(input=conv_pool_1,filter_size=5,
                        num_filters=50,pool_size=2,pool_stride=2,act="relu")

SIZE = 10
input_shape  = conv_pool_2.shape
param_shape = [reduce(lambda a,b:a*b,input_shape[1:],1)]+[SIZE]
scale = (2.0/(param_shape[0]**2 * SIZE))**0.5

predict = fluid.layers.fc(input=conv_pool_2,size=SIZE,act="softmax",
                         param_attr=fluid.param_attr.ParamAttr(
                             initializer=fluid.initializer.NormalInitializer(loc=0.0,scale=scale)))

cost = fluid.layers.cross_entropy(input=predict,label=label)
avg_cost=fluid.layers.mean(x=cost)
opt = fluid.optimizer.AdamOptimizer(learning_rate=0.001,beta1=0.9,
                                    beta2=0.999)
opt.minimize(avg_cost)

reader = paddle.dataset.mnist.train()
batched_reader = paddle.batch(reader,batch_size=32)

place = fluid.CPUPlace()#or fluid.CUDAPlace(0) if gpu availble
exe = fluid.Executor(place)
feeder=fluid.DataFeeder(feed_list=[images,label],place=place)
exe.run(fluid.default_startup_program())

for i,data in zip(range(10),batched_reader()):
    loss=exe.run(feed=feeder.feed(data),fetch_list=[avg_cost])
    print(loss)

 

二、运行结果

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值