- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我创建了一个用于逐像素分类的深度卷积神经网络。我用于训练的图像大小为 32x32x7,因此经常使用数字 7168。下面您可以看到我的模型通过权重和偏差进行 reshape 和修改的最终结果。我对这个重量和偏见有点困惑。 模型训练期间权重和偏差会自动调整吗?我从未为这些变量分配值,因此我假设 train_step 将根据交叉熵分数修改它们。这是正确的吗?
final = tf.add(add1,add2)
final = tf.reshape(final, [-1, 7168])
W_final = weight_variable([7168,7168,3])
b_final = bias_variable([7168,3])
final_conv = tf.tensordot(final, W_final, axes=[[1], [1]]) + b_final
cross_entropy = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits_v2(labels=y_, logits=final_conv))
train_step = tf.train.AdamOptimizer(1e-5, epsilon = .1).minimize(cross_entropy)
最佳答案
您在模型中创建的变量会发生什么取决于您对它们的处理方式。正如您所指出的,TensorFlow 的典型用例是根据一些损失分数(在您的情况下是交叉熵)自动调整(“训练”)它们。你有张量cross_entropy
计算损失,并且 train_step
,一种优化操作,根据 trainable=False
的值,根据某些规则更新模型中的可训练变量(默认情况下,除非指定 cross_entropy
,否则您创建的变量是可训练的)。 。除此之外,您还需要:
tf.global_variables_initializer
操作。train_step
使用您的训练数据直到 cross_entropy
具有“足够好”的值(value)。每次执行此操作时,变量的值都会发生一些变化以使模型适合数据。所以实际上变量发生的所有事情或多或少都是明确的。而且你可以选择对它们做任何其他事情,你可以有一些不可训练的变量,例如,你可以添加正则化器等。
关于python - tensorflow 偏差和权重变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48832052/
我是一名优秀的程序员,十分优秀!