{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import warnings\n", "warnings.simplefilter(action='ignore')" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import os\n", "import tensorflow as tf\n", "tf.logging.set_verbosity(tf.logging.ERROR) # 过滤掉 Tensorflow 的 Warning 信息\n", "\n", "import tensorflow.examples.tutorials.mnist.input_data as input_data\n", "import numpy as np\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1. 下载并读取 MNIST 数据集" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Extracting data/train-images-idx3-ubyte.gz\n", "Extracting data/train-labels-idx1-ubyte.gz\n", "Extracting data/t10k-images-idx3-ubyte.gz\n", "Extracting data/t10k-labels-idx1-ubyte.gz\n" ] } ], "source": [ "mnist = input_data.read_data_sets('data/', one_hot=True)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "train: 55000\n", "validation: 5000\n", "test: 10000\n" ] } ], "source": [ "print('train:', mnist.train.num_examples)\n", "print('validation:', mnist.validation.num_examples)\n", "print('test:', mnist.test.num_examples)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2. 查看训练数据" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 2.1 查看训练数据 images 与 labels 的 shape" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "train images shape: (55000, 784)\n", "train labels shape: (55000, 10)\n" ] } ], "source": [ "print('train images shape:', mnist.train.images.shape)\n", "print('train labels shape:', mnist.train.labels.shape)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 2.2 查看第0项 images 图像的长度" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "train images[0] length: 784\n" ] } ], "source": [ "print('train images[0] length:', len(mnist.train.images[0]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 2.2 查看第0项 images 图像的内容" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0.3803922 0.37647063 0.3019608\n", " 0.46274513 0.2392157 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.3529412\n", " 0.5411765 0.9215687 0.9215687 0.9215687 0.9215687 0.9215687\n", " 0.9215687 0.9843138 0.9843138 0.9725491 0.9960785 0.9607844\n", " 0.9215687 0.74509805 0.08235294 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0.54901963 0.9843138 0.9960785 0.9960785\n", " 0.9960785 0.9960785 0.9960785 0.9960785 0.9960785 0.9960785\n", " 0.9960785 0.9960785 0.9960785 0.9960785 0.9960785 0.9960785\n", " 0.7411765 0.09019608 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0.8862746 0.9960785 0.81568635 0.7803922 0.7803922 0.7803922\n", " 0.7803922 0.54509807 0.2392157 0.2392157 0.2392157 0.2392157\n", " 0.2392157 0.5019608 0.8705883 0.9960785 0.9960785 0.7411765\n", " 0.08235294 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0.14901961 0.32156864\n", " 0.0509804 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0.13333334 0.8352942 0.9960785 0.9960785 0.45098042 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.32941177\n", " 0.9960785 0.9960785 0.9176471 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0.32941177 0.9960785 0.9960785\n", " 0.9176471 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0.4156863 0.6156863 0.9960785 0.9960785 0.95294124 0.20000002\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.09803922\n", " 0.45882356 0.8941177 0.8941177 0.8941177 0.9921569 0.9960785\n", " 0.9960785 0.9960785 0.9960785 0.94117653 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0.26666668 0.4666667 0.86274517 0.9960785 0.9960785\n", " 0.9960785 0.9960785 0.9960785 0.9960785 0.9960785 0.9960785\n", " 0.9960785 0.5568628 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0.14509805 0.73333335 0.9921569\n", " 0.9960785 0.9960785 0.9960785 0.8745099 0.8078432 0.8078432\n", " 0.29411766 0.26666668 0.8431373 0.9960785 0.9960785 0.45882356\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0.4431373 0.8588236 0.9960785 0.9490197 0.89019614 0.45098042\n", " 0.34901962 0.12156864 0. 0. 0. 0.\n", " 0.7843138 0.9960785 0.9450981 0.16078432 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0.6627451 0.9960785\n", " 0.6901961 0.24313727 0. 0. 0. 0.\n", " 0. 0. 0. 0.18823531 0.9058824 0.9960785\n", " 0.9176471 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0.07058824 0.48627454 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0.32941177 0.9960785 0.9960785 0.6509804 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.54509807\n", " 0.9960785 0.9333334 0.22352943 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0.8235295 0.9803922 0.9960785 0.65882355\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0.9490197 0.9960785 0.93725497 0.22352943 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0.34901962 0.9843138 0.9450981\n", " 0.3372549 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0.01960784 0.8078432 0.96470594 0.6156863 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0.01568628 0.45882356\n", " 0.27058825 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. ]\n" ] } ], "source": [ "print(mnist.train.images[0])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 2.3 定义 plot_image 函数显示数字图像" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAJIAAACPCAYAAAARM4LLAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAACDRJREFUeJzt3V1oVOkZB/D/U9P4gaLGiKgbzF7IolRxMZSNVlmtI3YV1ws/VqEILhShYv1Adrf1zpviRUWwooHGrVhTxRZ2KQtLjeZiQYoJSpvdmE2qhs2SVfdCW/xAg08v5pg97+nOzHHOcz4m8/9ByDwzkzkP8vedd04mz4iqgiiqH6TdAI0ODBKZYJDIBINEJhgkMsEgkQkGiUwwSGQiUpBEZI2I9IpIv4i8b9UUVR4p98y2iIwB8CWAHIBBAFcBbFXVLwr9TH19vTY2NpZ1PEpHV1fXt6o6vdT9aiIc48cA+lX1JgCIyJ8BvA2gYJAaGxvR2dkZ4ZCUNBEZCHO/KE9tswF85asHveuCjfxCRDpFpPPevXsRDkdZFvtmW1VbVLVJVZumTy+5QlKFihKkrwE0+OpXvOuoCkUJ0lUAc0XkVRGpBfAOgI9t2qJKU/ZmW1WHRWQXgE8BjAHQqqqfm3VGFSXKqzao6icAPjHqhSoYz2yTCQaJTDBIZIJBIhMMEplgkMgEg0QmGCQywSCRCQaJTDBIZIJBIhMMEplgkMgEg0QmGCQywSCRCQaJTDBIZCLSe7ZHs1OnTjm1iDj1tGnTRi739PQ4tzU3Nzv1smXLjLvLHq5IZIJBIhMMEpnI9B7p7NmzTn3t2rWRy62trbEe+/79+0Vvr6n57p/u6dOnzm3jxo1z6gkTJjj1woULnfr8+fNOXYkzErgikQkGiUwwSGQiU3ukffv2OfXRo0ed+vnz50m2U1RwX+T35MmTonVHR4dTb9myxanb2tqcesaMGWV0mCyuSGSiZJBEpFVE7opIt++6OhH5u4j0ed+nxtsmZV2YFelDAGsC170PoF1V5wJo92qqYqHGI4tII4C/qeqPvLoXwJuqOiQiMwF0qOprpR6nqalJi021bWhocOrBwUGn9p9/GT9+fMm+i1m6dKlTb9iwIdLj+V28eNGpT58+7dS3b98u+vMrVqxw6nPnzjl1kueZRKRLVZtK3a/cPdIMVR3yLn8DIPu7QYpV5M225pe0gssaxyNXh3KDdMd7SoP3/W6hO3I8cnUo9zzSxwC2A/it9/0ji2ba29uduru726lzudzI5UmTJlkcMhbB9x9t377dqdeuXevUN27ccOrLly87dXCPtX///qgtmgvz8r8NwBUAr4nIoIi8i3yAciLSB2CVV1MVK7kiqerWAjf91LgXqmA8s00myv6YrXKUOo9ULS5cuODUmzZtKnr/+vp6p07y1W/c55GIHAwSmWCQyASDRCYYJDLBIJGJTL3VdrQ6fvy4U7/sKZDHjx87dVdXl1MvXry4vMYMcUUiEwwSmWCQyAT3SAUMDQ059ZkzZ5z6yJEjZT/Wy3r48KFTr1y50qkfPHgQ6fEtcEUiEwwSmWCQyETV7pGCfzIUPDdz8uRJp75161bsPYW1Y8eOtFv4P1yRyASDRCYYJDIxavdIfX19Tr1z506nvnTpUqTHnzNnzsjlqVOLz9A4dOiQUwdHA+7atcupe3t7iz7erFmzwrSYKK5IZIJBIhMMEpkYNXuk4O++jh075tQ3b9506okTJzr15MmTnXrv3r1OHdyXLFmyZOSyf79UjuCxg4J/nr5u3bpIx4sDVyQywSCRCQaJTIyaPdKVK1ecOrgnWr9+vVMHR8MsX748nsa+x/Xr1516YGCg6P3Hjh3r1PPmzTPvKSquSGQizHykBhG5LCJfiMjnIvIr73qOSKYRYVakYQD7VXU+gDcA/FJE5oMjksknzKCtIQBD3uX/ikgPgNkA3gbwpne3PwLoAPBeLF2GcOLECacOfpTVwYMHk2ynqP7+fqe+c+dO0fuvWrUqznZMvNQeyZu3/TqAf4AjkskndJBEZCKAvwDYo6r/8d9WbEQyxyNXh1BBEpEfIh+iP6nqX72rQ41I5njk6lByjyT5zyn/A4AeVf2d76ZYRiSXq66uzqmztCcKCp7zCpoyZYpT7969O852TIQ5IbkUwM8B/EtEXpxJ+zXyATrvjUseALA5nhapEoR51fYZAClwM0ckEwCe2SYjo+Z3bVm2YMECpw5+ZETQ6tWrnbq5udm8J2tckcgEg0QmGCQywT1SAoIfPTo8POzUwfds79mzJ+6WzHFFIhMMEpngU1sM2tranPrRo0dOHfzzopaWFqeuhJf7QVyRyASDRCYYJDLBPZKBZ8+eOfXhw4edura21qk3btzo1Js3V/4bJ7gikQkGiUwwSGSCeyQD+Xcjf2fbtm1OvWjRIqfO5XKx95Q0rkhkgkEiEwwSmeAeyUBNjfvPeODAgZQ6SQ9XJDLBIJEJBolMSH7+Q0IHE7mH/F/l1gP4NrEDv5ys9pZWX3NUteTQhkSDNHJQkU5VbUr8wCFktbes9vUCn9rIBINEJtIKUkvpu6Qmq71ltS8AKe2RaPThUxuZSDRIIrJGRHpFpF9EUh2nLCKtInJXRLp912VidnglzjZPLEgiMgbA7wH8DMB8AFu9ed1p+RDAmsB1WZkdXnmzzVU1kS8AzQA+9dUfAPggqeMX6KkRQLev7gUw07s8E0Bvmv35+voIQC6r/alqok9tswF85asHveuyJHOzwytltjk32wVo/r99qi9py51tnoYkg/Q1gAZf/Yp3XZaEmh2ehCizzdOQZJCuApgrIq+KSC2Ad5Cf1Z0lL2aHAynODg8x2xzIwGxzR8KbxrcAfAng3wB+k/IGtg35D+t5hvx+7V0A05B/NdQH4CKAupR6+wnyT1v/BHDd+3orK/193xfPbJMJbrbJBINEJhgkMsEgkQkGiUwwSGSCQSITDBKZ+B8yrSwNvvavRAAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def plot_image(image):\n", " fig = plt.gcf()\n", " fig.set_size_inches(2, 2)\n", " plt.imshow(image.reshape(28, 28), cmap='binary')\n", " plt.show()\n", "\n", "\n", "plot_image(mnist.train.images[0])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 2.4 查看训练标签 labels 数据" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0. 0. 0. 0. 0. 0. 0. 1. 0. 0.]\n" ] } ], "source": [ "print(mnist.train.labels[0])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 2.5 使用 np.argmax 显示数字" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "7\n" ] } ], "source": [ "print(np.argmax(mnist.train.labels[0]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3. 查看多项数据 images 与 labels" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 3.1 定义 plot_images_labels_prediction 函数以查看数字图形、真实的数字与预测结果" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "def plot_images_labels_prediction(images, labels, predictions, idx, num=10):\n", " \"\"\"\n", " images: 数字图像数组\n", " labels: 真实值数组\n", " predictions: 预测结果数据\n", " idx: 开始显示的数据index\n", " num: 要显示的数据项数, 默认为10, 不超过25\n", " \"\"\"\n", " fig = plt.gcf()\n", " fig.set_size_inches(12, 14)\n", " if num > 25:\n", " num = 25\n", " for i in range(0, num):\n", " ax = plt.subplot(5, 5, i+1)\n", " ax.imshow(images[idx].reshape(28, 28), cmap='binary')\n", " title = 'lable=' + str(np.argmax(labels[idx]))\n", " if len(predictions) > 0:\n", " title += ',predict=' + str(predictions[idx])\n", " ax.set_title(title, fontsize=10)\n", " ax.set_xticks([])\n", " ax.set_yticks([])\n", " idx += 1\n", " plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 3.2 查看训练数据的前10项" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "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ySWXqHzKKaeo3KNHD5X79euX8DFThSuzAAAA8BbFLAAAALxFMQsAAABvHRE9s+66ey63J65hw4Yqu30i8fQtuT10PXv2VHnIkCEqlyxZMuaY8AtrB2eGDh06qByrR9bVsWPHwGtly5ZNak6p4PZs5ubmRt2+WrVqKkfqBT6S7dixQ+X169er3LhxY5Uvu+yypI954MABlcePH6/yI488ovLXX3+d9DGRfu6asCIiw4cPD/WY559/fuC10aNHq3zyySer7NN62VyZBQAAgLcoZgEAAOAtilkAAAB464jomX3++edVrl+/vsru+ozu84eVg24OAAAIv0lEQVQXLlyocjzrt40aNUrlbt26xdwHmeXll19W2e2pc7nrUBYtWjTlc0Jsr7zyisqrVq2Kur377PqzzjpL5Uzpff7uu+9UHjt2bEL7V61aNZXTOeJ88803Kk+bNk3lUqVKxRzjtddeU9k9V93vmJo1a6p8zz33qPz4448HjnHcccfFnAcK18yZM1W+//77A9ssX748qWO468y6Ncjtt9+e1PjxHDOduDILAAAAb1HMAgAAwFsUswAAAPBW1vXMLliwIPDapEmTVE62z8Pd/6qrrgpsQ4+sf7Zv366y22u9Z8+eqPv36dNHZXddTxQOd33QvXv3Rt3e7aF/5513Uj2llBg3bpzKbq+/y10j0u23hHbSSSepPHjwYJUffPBBla+99tqkj1m9enWVhw4dqvItt9yistu3G6ln9uyzz056XkiOu+Zz7969VXb/HEWC9+K4P79t2rRRefbs2Sq7/dalS5eOb7JJiOf+ocLClVkAAAB4i2IWAAAA3qKYBQAAgLe865l1n0190003qTxv3rzAPm5fR6w+jzPOOEPlCy64QOWJEyeq/N577wXGmDNnjsqtW7eOekykn9szG+lcOpzb0+Q+1xp+aNu2bbqnEBCpr//AgQMJjXHmmWeq3LJly6TmlO3c3wsPPPCAyqeeeqrK7tqhkbhrvrp9tu6fUSy1atVSuVGjRoFtpk+frvLAgQMTOgYS5/bANmzYUGW3n7Vs2bKBMdw/J7e2qVixosq33nqrymPGjFH59ddfV/lPf/pT4JhFiiR3PfMvf/lLUvunEldmAQAA4C2KWQAAAHiLYhYAAADeyvieWff51507d1Y51tqfkTRv3lxl99nrbi9KhQoVVHb7npo1axY4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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_images_labels_prediction(mnist.train.images, mnist.train.labels, [], 0, 10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 3.3 查看验证数据的 shape" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "validation images shape: (5000, 784)\n", "validation labels shape: (5000, 10)\n" ] } ], "source": [ "print('validation images shape:', mnist.validation.images.shape)\n", "print('validation labels shape:', mnist.validation.labels.shape)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 3.4 查看验证数据的前10项" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_images_labels_prediction(mnist.validation.images, mnist.validation.labels, [], 0, 10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 3.5 查看测试数据的 shape" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "test images shape: (10000, 784)\n", "test labels shape: (10000, 10)\n" ] } ], "source": [ "print('test images shape:', mnist.test.images.shape)\n", "print('test labels shape:', mnist.test.labels.shape)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 3.6 查看测试数据的前10项" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_images_labels_prediction(mnist.test.images, mnist.test.labels, [], 0, 10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 4. 批次读取 MNIST 数据" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "x_train_batch, y_train_batch = mnist.train.next_batch(batch_size=100)" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "x_train_batch length: 100\n", "y_train_batch length: 100\n" ] } ], "source": [ "print('x_train_batch length:', len(x_train_batch))\n", "print('y_train_batch length:', len(y_train_batch))" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_images_labels_prediction(x_train_batch, y_train_batch, [], 0, 10)" ] } ], "metadata": { "kernelspec": { "display_name": "tensorflow-keras-practice", "language": "python", "name": "tensorflow-keras-practice" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.5" } }, "nbformat": 4, "nbformat_minor": 2 }