tensorflow实现多层感知机

'''tensorflow 多层感知机识别手写数字''

#导入数据

import tensorflow as tf

import tensorflow.tutorials.minist.input_data as input_data

minist=input_data.read_datasets('MNIST_data/',one_hot=True)

 

 

#使用layer函数

def layer(output_dim,input_dim,inputs,activation=None):

      W=tf.Variable(tf.random_normal([input_dim,ouput_dim]))

      b=tf.Variable(tf.random_normal([1,output_dim]))

      xWb=tf.matmul(inputs,W)+b

     if activation is None:

         outputs=xWb

    else:

         outputs=activation(xWb)

   return ouputs

#建立输入层

x=tf.placeholder('float',[None,784])

#建立隐藏层

h1=layer(out_dim=256,input_dim=784,inputs=x,activation=tf.nn.relu)

#建立输出层

y_predict=layer(output_dim=10,input_dim=256,inputs=h1,activation=None)

'''定义训练方式'''

#建立训练数据label真实值的placeholder

y_label=tf.placeholder('float',[None,10])

#定义损失函数

loss_function=tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(logits=y_predict,labels=y_label))

#定义优化器

optimizer=tf.train.Adamoptimizer(learning_rate=0.001).minimize(loss_function)

'''定义评估模型准确率的方式'''

correct_prediction=tf.equal(tf.argmax(y_label,1),tf.argmax(y_predict,1))

#计算预测结果正确结果的平均值

accurary=tf.reduce_mean(tf.cast(correct_prediction,'float'))

trainEpochs=15

batchsize=100

loss_list=[];epoch_list=[];accurary_list=[]

from time import time

startTime=time()

sess=tf.Session()

sess.run(tf.global_variables_initializer())

for epoch in range(trainEpochs):

      for i in range(totalBatchs):

###未完待续####

   

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值