MNIST tensorflow

本文介绍了一个简单的TensorFlow实现,用于对MNIST手写数字数据集进行分类。该模型使用了softmax回归,并通过梯度下降优化器进行训练。文章展示了如何准备数据、构建模型、训练并评估其准确性。
部署运行你感兴趣的模型镜像

原始地址

import tensorflow as tf
import tensorflow.examples.tutorials.mnist.input_data as input_data
mnist=input_data.read_data_sets("MNIST_data/",one_hot=True)
print (mnist.train.images.shape)
print (mnist.train.labels.shape)
print (mnist.validation.images.shape)
print (mnist.validation.labels.shape)
print (mnist.test.images.shape)
print (mnist.test.labels.shape)

x = tf.placeholder(tf.float32, [None, 784])
W = tf.Variable(tf.zeros([784, 10]))
b = tf.Variable(tf.zeros([10]))

y = tf.nn.softmax(tf.matmul(x,W)+b)
y_ = tf.placeholder("float",[None,10])
cross_entropy = -tf.reduce_sum(y_ * tf.log(y))
train_step = tf.train.GradientDescentOptimizer(0.01).minimize(cross_entropy)
init = tf.global_variables_initializer()
sess = tf.Session()
sess.run(init)
for i in range(1000):
    batch_xs, batch_ys = mnist.train.next_batch(100)
    sess.run(train_step, feed_dict={x:batch_xs, y_:batch_ys})

correct_prediction = tf.equal(tf.argmax(y, 1), tf.argmax(y_, 1))
accuracy = tf.reduce_mean(tf.cast(correct_prediction, "float"))
print (sess.run(accuracy, feed_dict={x:mnist.test.images,y_:mnist.test.labels}))


您可能感兴趣的与本文相关的镜像

TensorFlow-v2.15

TensorFlow-v2.15

TensorFlow

TensorFlow 是由Google Brain 团队开发的开源机器学习框架,广泛应用于深度学习研究和生产环境。 它提供了一个灵活的平台,用于构建和训练各种机器学习模型

### 使用 TensorFlow 处理 MNIST 数据集 #### 导入必要的库 为了使用 TensorFlow 来处理 MNIST 数据集,首先需要导入 TensorFlow 库。这一步骤是必不可少的,因为所有的操作都将依赖于这个强大的机器学习框架。 ```python import tensorflow as tf ``` 这段代码展示了如何通过 `import` 语句引入 TensorFlow 并将其命名为 `tf`,这是社区广泛接受的做法[^1]。 #### 获取并加载数据集 MNIST 是一个常用的手写数字识别数据集,在 TensorFlow 中可以通过内置函数轻松获取该数据集。有两种方式可以实现这一点: 一种方法是从官方源自动下载数据集至指定路径,并设置标签编码为独热码形式(one-hot encoding),这样更有利于后续建模过程中的计算效率提升。 ```python from tensorflow.keras.datasets import mnist (x_train, y_train), (x_test, y_test) = mnist.load_data() ``` 另一种则是利用早期版本中提供的接口来读取数据集,这种方式同样有效但已逐渐被弃用。 ```python import input_data mnist = input_data.read_data_sets("MNIST_data/", one_hot=True) ``` 这两种方法都能成功加载 MNIST 数据集,开发者可以根据个人喜好或项目需求选择合适的方式[^3]。 #### 配置 GPU 设置(如果适用) 对于拥有多个 GPU 的环境来说,合理配置硬件资源能够显著提高训练速度。下面的例子演示了怎样检测系统中存在的 GPU 设备,并允许动态分配显存给 TensorFlow 使用,从而避免因内存不足而导致程序崩溃的情况发生。 ```python gpus = tf.config.experimental.list_physical_devices('GPU') if gpus: try: for gpu in gpus: tf.config.experimental.set_memory_growth(gpu, True) except RuntimeError as e: print(e) ``` 此段脚本会遍历所有可用的 GPU 资源并将它们设为按需增长模式,确保即使是在多卡环境下也能平稳运行[^4]。 #### 构建模型结构 构建好上述基础之后就可以着手设计具体的神经网络架构了。考虑到 MNIST 主要涉及图像分类任务,采用简单的 Softmax 回归作为初始尝试是一个不错的选择;而对于追求更高精度的应用场景,则推荐考虑更加复杂的卷积神经网络(CNN)。 综上所述,以上就是使用 TensorFlowMNIST 数据集进行预处理以及初步搭建模型的主要流程概述。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值