复现过程中发现mnist比较老,还是机器学习更新快呢,网上流传的代码和处理都是过时的,2021年需要做一些处理。
一、安装
1.安装
conda create -n tensorflow python=3.6
2.升级pip
(21条消息) 完美解决:You are using pip version 9.0.1, however version 18.0 is available._lanluyug的博客-CSDN博客
3.下载tensorflow(镜像)
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn tensorflow
验证安装tensorflow
import tensorflow as tf
print(tf.__version__)
补充包(github)
(21条消息) 安装tensorflow后出现No module named ‘tensorflow.examples.tutorials‘问题的解决办法_小新learning的博客-CSDN博客
4.spyder使用
Spyder简单使用 - 哔哩哔哩 (bilibili.com)
5.mnist
python处理MNIST数据集 - 简书 (jianshu.com)
MNIST 机器学习入门(TensorFlow) - 随风溜达的向日葵 - OSCHINA - 中文开源技术交流社区
mnist代码
tensorflow示例学习--壹 mnist_softmax.py - 简书 (jianshu.com)
调试代码(mnist不是放在网上所说的位置)
没有tutorials了,mnist数据集放到了\tensorflow\python\keras\datasets
or
(21条消息) from tensorflow.examples.tutorials.mnist import input_data 出错_明心_前进的博客-CSDN博客
源码tensorflow版本低
tf另一个报错
(14条消息) tf.placeholder() is not compatible with eager execution的解决方法_David Wolfowitz的博客-CSDN博客
二、分析
1.建立模型
1)定义网络
(14条消息) tensorflow入门之tf.matmul()用法详解 简单深刻_信徒博客-CSDN博客
2)定义网络损失方法
#x是所有手写体图片
x = tf.placeholder(tf.float32, [None, 784])
#预测分布值
y = tf.matmul(x, W) + b
#真实分布值
y_ = tf.placeholder(tf.float32, [None, 10])
损失函数--交叉熵
cross_entropy = tf.reduce_mean(
tf.nn.softmax_cross_entropy_with_logits(labels=y_, logits=y))
3)定义学习方法
2.开始会话