keras卷积神经网络对MNIST数据集进行操作

实验环境

  • Pycharm 2019.3 BETA
  • Win10 1909
  • Python 3.7.0
  • Chrome Dev 80.3964.0

使用Colab编辑和运行Python代码

按照谷歌官方的介绍:

Colaboratory 是一个免费的 Jupyter 笔记本环境,不需要进行任何设置就可以使用,并且完全在云端运行。借助 Colaboratory,您可以编写和执行代码、保存和共享分析结果,以及利用强大的计算资源,所有这些都可通过浏览器免费使用。

也就是说可以在线运行python代码,不需要进行麻烦的配置。

点击这里去CoLab

今天我发现官方介绍的强大的计算资源真不是盖的。看来昨天是我冤枉它了。

经过几步简单的设置,就可以使用GPU和TPU进行加速。

Snipaste_2019-11-18_11-27-42.png

我在我自己电脑上跑一个周期需要20秒,在Colab上使用GPU一个周期仅仅需要2秒。

当我用我自己电脑跑时,电脑CPU已经100%负载,此时我做不了其他事情,只能等程序跑完。
而在colab上,代码是在google云上跑,自己的电脑只是显示结果,CPU与平时一样,还能做其他工作。

读取MNIST数据

(x_Train, y_Train), (x_Test, y_Test) = mnist.load_data
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是使用卷积神经网络MNIST数据集进行分类的步骤: 1. 导入必要的库 ```python import tensorflow as tf from tensorflow import keras from tensorflow.keras import layers ``` 2. 导入并预处理数据集 ```python (x_train, y_train), (x_test, y_test) = keras.datasets.mnist.load_data() x_train = x_train.reshape(-1, 28, 28, 1).astype("float32") / 255.0 x_test = x_test.reshape(-1, 28, 28, 1).astype("float32") / 255.0 y_train = keras.utils.to_categorical(y_train, 10) y_test = keras.utils.to_categorical(y_test, 10) ``` 3. 构建卷积神经网络模型 ```python model = keras.Sequential( [ layers.Conv2D(32, kernel_size=(3, 3), activation="relu", input_shape=(28, 28, 1)), layers.MaxPooling2D(pool_size=(2, 2)), layers.Conv2D(64, kernel_size=(3, 3), activation="relu"), layers.MaxPooling2D(pool_size=(2, 2)), layers.Flatten(), layers.Dropout(0.5), layers.Dense(10, activation="softmax"), ] ) ``` 4. 编译模型 ```python model.compile(loss="categorical_crossentropy", optimizer="adam", metrics=["accuracy"]) ``` 5. 训练模型 ```python model.fit(x_train, y_train, batch_size=128, epochs=15, validation_split=0.1) ``` 6. 在测试集上评估模型 ```python test_loss, test_acc = model.evaluate(x_test, y_test) print("Test accuracy:", test_acc) ``` 完整的代码如下: ```python import tensorflow as tf from tensorflow import keras from tensorflow.keras import layers # 导入并预处理数据集 (x_train, y_train), (x_test, y_test) = keras.datasets.mnist.load_data() x_train = x_train.reshape(-1, 28, 28, 1).astype("float32") / 255.0 x_test = x_test.reshape(-1, 28, 28, 1).astype("float32") / 255.0 y_train = keras.utils.to_categorical(y_train, 10) y_test = keras.utils.to_categorical(y_test, 10) # 构建卷积神经网络模型 model = keras.Sequential( [ layers.Conv2D(32, kernel_size=(3, 3), activation="relu", input_shape=(28, 28, 1)), layers.MaxPooling2D(pool_size=(2, 2)), layers.Conv2D(64, kernel_size=(3, 3), activation="relu"), layers.MaxPooling2D(pool_size=(2, 2)), layers.Flatten(), layers.Dropout(0.5), layers.Dense(10, activation="softmax"), ] ) # 编译模型 model.compile(loss="categorical_crossentropy", optimizer="adam", metrics=["accuracy"]) # 训练模型 model.fit(x_train, y_train, batch_size=128, epochs=15, validation_split=0.1) # 在测试集上评估模型 test_loss, test_acc = model.evaluate(x_test, y_test) print("Test accuracy:", test_acc) ``` 希望能对你有所帮助!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值