Keras框架简单搭建minst数据集训练模型

需要的包为keras,
环境搭建:

  1. conda create -n keras python=3.8 使用conda命令创建新环境,前提是有anaconda这个软件。
  2. activate keras 激活环境
  3. conda install tensorflow 因为keras是基于tensorflow的,所以需要先下载tansorflow 默认最新CPU版本
  4. conda install keras 安装keras
    如果报各种环境错误,建议新建环境运行。因为有时用pip安装,有时用conda安装,很容易出现包版本冲突,建议都用conda安装
    完整代码:
from keras.datasets import mnist  ##从keras中导入mnist数据集,图片像素是28*28
from keras import models
from keras import layers
from keras.utils import to_categorical ##用于标签

#导入数据集
(train_images,train_labels),(test_images,test_labels)=mnist.load_data()##得到的是numpy数组
print(train_images.shape)##60000张图片,28*28像素大小

#定义网络
network=models.Sequential()
network.add(layers.Dense(512,activation='relu',input_shape=(28*28,)))##Dense为全连接层
network.add(layers.Dense(10,activation='softmax'))
network.compile(optimizer='rmsprop',loss='categorical_crossentropy',metrics=['accuracy'])
##改变训练数据集形状
train_images=train_images.reshape((60000,28*28))
train_images=train_images.astype('float32')/255
#改变测试集形状
test_images=test_images.reshape((10000,28*28))
test_images=test_images.astype('float32')/255
#设置标签
train_labels=to_categorical(train_labels)
test_labels=to_categorical(test_labels)
##训练网络,使用fit函数
network.fit(train_images,train_labels,epochs=5,batch_size=128)

##查看在测试集上的效果
test_loss,test_acc=network.evaluate(test_images,test_labels)
print('test_acc',test_acc)##输出在测试集上的精度

输出结果:

Epoch 1/5
469/469 [==============================] - 2s 4ms/step - loss: 0.2569 - accuracy: 0.9259
Epoch 2/5
469/469 [==============================] - 2s 4ms/step - loss: 0.1031 - accuracy: 0.9694
Epoch 3/5
469/469 [==============================] - 2s 4ms/step - loss: 0.0685 - accuracy: 0.9797
Epoch 4/5
469/469 [==============================] - 2s 4ms/step - loss: 0.0486 - accuracy: 0.9850
Epoch 5/5
469/469 [==============================] - 2s 4ms/step - loss: 0.0368 - accuracy: 0.9892
313/313 [==============================] - 0s 968us/step - loss: 0.0709 - accuracy: 0.9788
test_acc 0.9787999987602234

在测试集上的精度为0.9787999987602234

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 TensorFlow 中导入数据集有多种方法,以下是一些常见的方法: 1. 读取本地文件:可以使用 TensorFlow 的读取文件 API,如 `tf.data.TextLineDataset` 来读取本地文件。读取后可以进行数据预处理和转换。 2. 加载内置数据集:TensorFlow 提供了一些内置的数据集,如 MNIST、CIFAR-10、IMDB 等。可以使用 `tf.keras.datasets` 模块来加载这些数据集。 3. 使用 tfrecord 文件:tfrecord 文件是一种二进制文件格式,可以存储大量数据。可以使用 TensorFlow 的 `tf.data.TFRecordDataset` API 来读取 tfrecord 文件。 无论采用哪种方法,一般的步骤如下: 1. 加载数据集并进行预处理。 2. 将数据集划分为训练集、验证集和测试集。 3. 创建模型并编译。 4. 训练模型。 5. 评估模型性能。 6. 使用模型进行预测。 以下是使用 `tf.data.TextLineDataset` 加载文件的示例代码: ```python import tensorflow as tf # 读取文件 dataset = tf.data.TextLineDataset("data.txt") # 对数据进行预处理和转换 dataset = dataset.map(lambda x: tf.strings.to_number(tf.strings.split(x, ","))) # 将数据集划分为训练集和验证集 train_dataset = dataset.take(100) val_dataset = dataset.skip(100) # 创建模型并编译 model = tf.keras.Sequential([...]) model.compile([...]) # 训练模型 model.fit(train_dataset, epochs=10, validation_data=val_dataset) # 评估模型性能 model.evaluate(test_dataset) # 使用模型进行预测 predictions = model.predict(input_data) ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值