# -*- coding: utf-8 -*-
import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data
if __name__=='__main__':
#下载mnist数据到本地data目录下
mnist = input_data.read_data_sets('data/', one_hot=True)
#批处理数据量
batch_size = 200
#设置两个tensor,用来存储
x = tf.placeholder(shape=[None, 784], dtype=tf.float32)
y = tf.placeholder(shape=[None, 10], dtype=tf.float32)
#设置两个tensor,用来存储权重w和偏移量b
init_W = tf.Variable(tf.random_normal(shape=[784, 10]),name="w")
init_b = tf.Variable(tf.random_normal(shape=[1, 10]),name="b")
#多分类逻辑回归算法
_y = tf.nn.softmax(tf.matmul(x, init_W) + init_b)
with tf.name_scope('loss'):
# 代价函数采用softmax逻辑回归函数,然后取均方误差
loss = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits_v2(logits=_y, labels=y))
tf.summary.scalar('loss', loss)
#定义梯度下降法,使用最速下降法求解目标函数
# optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.01)
#定义梯度下降法,使用Adam下降法求解目标函数
optimizer = tf.train.AdamOptimizer(learning_rate=0.01)
target = optimizer.minimize(loss)
init_variables = tf.global_variables_initializer()
saver = tf.train.Saver(max_to_keep=0)
merged = tf.summary.merge_all()
with tf.Session() as sess:
writer = tf.summary.FileWriter("logs/", sess.graph)
sess.run(init_variables)
#训练次数,每次训练都是全部数据训练完
for step in range(1000):
#存储每次训练过程中的代价函数值
loss_avg = 0
#所有数据按照每次训练batch_size个,训练完需要的总次数
batch_nums = int(mnist.train.num_examples / batch_size)
for i in range(batch_nums):
x_batch, y_batch = mnist.train.next_batch(batch_size)
feed_dict = {x: x_batch, y: y_batch}
sess.run(target, feed_dict=feed_dict)
loss_avg += sess.run(loss, feed_dict=feed_dict)
#平均代价函数值
loss_avg /=batch_nums
summary = sess.run(merged, feed_dict=feed_dict)
if step % 10 == 0:
print(step,loss_avg)
saver.save(sess, save_path='ckpt/mnist_logistic.ckpt', global_step=step)
writer.add_summary(summary, step)
爱研究的小牛
- 粉丝: 2277
- 资源: 187
最新资源
- 三菱PLC转盘机程序:成熟可靠、注释详尽,基于FX3U系列PLC的实用应用解决方案,三菱PLC转盘机程序 此程序已经实际设备上批量应用,程序成熟可靠,借鉴价值高,程序有注释,用的三菱fx3u系列
- 西门子S7-1500与WINCC 7.4大气治理项目程序集:TIA v15调试后的全套软件,注释完善,适合新手及自动化自控学习参考,西门子S7-1500plc 上位机WINCC ,大气治理项目程序,S
- QD130T双梁行车起重机两车联动抬吊定子全变频电气图纸集:CAD图纸、元件清单及S7-200PLC与ACS800变频器调试指南,QD130T 双梁行车起重机 两车联动 抬吊定子 S7 200PLC
- 桥式行车起重机电气图纸集:西门子PLC、ABB变频器与定位二维码全套学习资料,桥式行车起重机,有定位,电气电器图纸一套这是调试后的最终版图纸,含CAD图纸,元件清单,调试后的最终程序,供学习参考用,这
- MATLAB Simulink下的移相变压器仿真模型:角度可调至-25°至25°,副边实现精准36脉波不控整流,电压设置灵活多变,Phase-Shift-T:基于MATLAB Simulink的移相变
- "基于K折交叉验证的支持向量机回归预测MATLAB程序-参数优化与EXCEL数据读取功能",基于k折交叉验证的支持向量机回归预测MATLAB程序,采用n折交叉验证确定损失参数C与核参数g;代码注释清
- 三菱FX3U源码最新修正版:解决卡顿与特殊定时器问题,附立创EDA与AD原理图及测试配套资料,转卖国产兼容三菱FX3U源码,最新一波bug修改,修改监控时卡顿问题 8位口令功能,程序消除功能,定时器
- 单片机STM32差分与增量升级算法源码,纯C编写跨平台移植,适用于IAP升级与OTA升级在物联网与车联网领域,单片机 stm32 差分升级 增量升级算法源码,提供移植 纯c编写跨平因为是程序源码
- 基于Umat子程序的Abaqus仿真:材料弹性模量随时间周期变化的结构响应分析,abaqus umat子程序仿真 图中为材料弹性模量随时间周期变化的结构响应 ,核心关键词:Abaqus; UMA
- 泊车路径拟合详解:利用多项式、反正切及正弦余弦函数进行平行泊车和垂直泊车路径再拟合与动态示意,泊车路径拟合 平行泊车 垂直泊车 多项式函数 反正切函数 正弦函数 余弦函数 路径拟合 根据已知
- Matlab下的AR+MED技术:结合自回归滤波与最小熵反卷积,增强滚动轴承故障检测与振动信号诊断,Matlab程序,AR+MED,应用自回归AR滤波器滤波后,信号使用最小熵反卷积,结合谱分析来增强滚
- libblockdev-mdraid-2.18-5.el7.x64-86.rpm.tar.gz
- libblockdev-mdraid-devel-2.18-5.el7.x64-86.rpm.tar.gz
- 三轴机械手源码揭秘:新颖程序用台达PLC开发,智能取放料应用龙门架机械,助PLC新手提升编程思路与水平,三轴机械手源码,程序新颖,用台达plc开发,1000行程序,可以走30个任意组合的点,进行取料放
- libblockdev-mpath-2.18-5.el7.x64-86.rpm.tar.gz
- Microchip数字电源LLC控制方案:500W高效能,含Demo板、原理图及DSPIC33CK原代码详解,Microchip数字电源LLC控制方案,500W,包括,demo一块,原理图,原代码,D
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈