tensorflow之三深入MNIST

  1. 我们已经准备了一个脚本来自动下载和导入MNIST数据集。它会自动创建一个’MNIST_data’的目录来存储数据
在这里插入代码片
  1. mnist是一个什么级的类。它以什么的形式存储着训练、校验和测试数据集。同时提供了一个函数,用于在迭代中获得什么,后面我们将会用到。

  2. Tensorflow依赖于一个什么来进行计算。与后端的这个连接叫做什么?

  3. 使用TensorFlow程序的流程是先创建什么,然后在哪里中启动它。

  4. 这里,我们使用更加方便的什么类。通过它,你可以更加灵活地构建你的代码。

  5. 它能让你在运行图的时候,插入一些什么,这些什么是由某些什么构成的。

在这里插入代码片
  1. 为了在Python中进行高效的数值计算,我们通常会使用什么库

  2. TensorFlow是哪里完成其主要工作,

  3. 先让我们描述一个什么,然后完全将其运行在Python外部。

  4. Python代码的目的是用来构建什么?以及安排什么?

  5. 我们通过为输入图像和目标输出类别创建节点,来开始构建计算图。

在这里插入代码片
  1. 这里的x和y并不是什么,相反,他们都只是一个什么?

  2. 可以在TensorFlow运行某一计算时根据该什么输入什么?

  3. 输入图片x是一个几维的什么?

  4. 分配给它的shape是什么?

  5. 其中什么是一张展平的MNIST图片的维度?

  6. None表示其值怎样,在这里作为第一个维度值,用以指代什么的大小,意即x的怎样。

  7. 输出类别值y_也是一个几维张量,其中每一行为一个几维的什么向量,用于代表对应某一MNIST图片的类别

  8. 虽然placeholder的shape参数是可选的,但有了它,TensorFlow能够干什么?

  9. 我们现在为模型定义权重什么和偏置什么

  10. 可以将它们当作额外的输入量,但是TensorFlow有一个更好的处理方式:什么

  11. 一个变量代表什么,能够在计算过程中使用,甚至进行修改。

  12. 在机器学习的应用过程中,模型参数一般用什么来表示。

在这里插入代码片
  1. 我们在调用什么的时候传入初始值

  2. 在这个例子里,我们把W和b都初始化为什么?

  3. W是一个几x几的矩阵(因为我们有几个特征和几个输出值

  4. b是一个几维的向量(因为我们有几个分类

  5. 变量需要通过什么后,才能在session中使用。

  6. 这一初始化步骤为,为初始值指定什么(本例当中是几),并将其分配给谁, 是否可以一次性为所有变量完成此操作?

在这里插入代码片
  1. 现在我们可以实现我们的回归模型了。我们把什么和什么相乘,加上什么,然后计算每个分类的什么。
在这里插入代码片
  1. 我们的损失函数是什么?

  2. 什么把什么里的每张图片的交叉熵值都加起来了。我们计算的交叉熵是指哪里的。

  3. 因为TensorFlow知道整个计算图,它可以使用什么法找到对于各个变量的损失的梯度值。

  4. 我们用最速下降法让交叉熵下降,步长为0.01.

在这里插入代码片
  1. 上边这一行代码实际上是用来往计算图上添加一个新操作,其中包括什么?

  2. 返回的train_step操作对象,在运行时会使用什么来更新参数

  3. 因此,整个模型的训练可以通过反复地运行什么来完成

  4. 每一步迭代,我们都会加载几个训练样本。

for i in range(1000):
  batch = mnist.train.next_batch(50)
  train_step.run(feed_dict={x: batch[

  1. 执行一次什么,并通过什么将x 和 y_张量占位符用训练训练数据替代。
  2. 在计算图中,你可以用什么来替代任何张量,并不仅限于替换占位符
  3. tf.argmax 是一个非常有用的函数,它能给出什么?
  4. 由于标签向量是由什么组成,因此最大值什么所在的索引位置就是类别标签,
  5. 什么返回的是模型对于任一输入x预测到的标签值
  6. 什么代表正确的标签
  7. 我们可以用 什么来检测我们的预测是否真实标签匹配(索引位置一样表示匹配)。
  8. 为了计算我们分类的准确率,我们将什么值转换为什么数来代表对、错,然后取什么值
在这里插入代码片
  1. 为了创建这个模型,我们需要创建大量的什么?
  2. 这个模型中的权重在初始化时应该加入少量的什么?
  3. 由于我们使用的是什么神经元,因此比较好的做法是用一个较小什么数来初始化偏置项,以避免什么?
  4. 我们定义两个函数用于初始化。
在这里插入代码片
  1. 我们的卷积使用几步长(stride size),几边距(padding size)的模板,保证输出和输入是同一个大小。
  2. 我们的池化用简单传统的多少大小的模板做max pooling
在这里插入代码片
  1. 现在我们可以开始实现第一层了。它由一个卷积接一个什么完成
  2. 卷积在每个几x几的patch中算出几个特征。
  3. 卷积的权重张量形状是[什么]
  4. 前两个维度是什么,接着是什么,最后是什么。
  5. 对于每一个输出通道都有一个对应的什么?
  6. 为了用这一层,我们把x变成一个几维向量,其第2、第3维对应图片的什么、什么,最后一维代表图片的什么(因为是灰度图所以这里的通道数为几,如果是rgb彩色图,则为几)。
  7. 我们把什么和什么进行卷积,加上什么,然后应用什么函数,最后进行什么。
  8. 为了构建一个更深的网络,我们会把几个类似的层堆叠起来。第二层中,每个5x5的patch会得到64个特征。
在这里插入代码片
  1. 现在,图片尺寸减小到7x7,我们加入一个有1024个神经元的全连接层,用于处理整个图片。我们把池化层输出的张量reshape成一些向量,乘上权重矩阵,加上偏置,然后对其使用ReLU。
在这里插入代码片
  1. 为了减少过拟合,我们在输出层之前加入什么?
  2. 我们用一个什么来代表一个神经元的输出在dropout中保持不变的概率。
  3. 这样我们可以在训练过程中怎样dropout,在测试过程中怎样dropout
  4. TensorFlow的tf.nn.dropout操作除了可以屏蔽什么,还会自动处理什么?
  5. 用dropout的时候是否可以不用考虑scale?
在这里插入代码片
  1. 最后,我们添加一个softmax层,就像前面的单层softmax regression一样
在这里插入代码片
  1. 为了进行训练和评估,我们使用与之前简单的单层什么模型几乎相同的一套代码
  2. 只是我们会用更加复杂的什么优化器来做梯度最速下降
  3. 在什么中加入额外的什么参数来控制dropout比例
在这里插入代码片
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值