问题标签 [gradienttape]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何将 Tensorflow BatchNormalization 与 GradientTape 结合使用?
假设我们有一个使用 BatchNormalization 的简单 Keras 模型:
如何在 GradientTape 中实际使用它?以下似乎不起作用,因为它不更新移动平均线?
特别是,如果您检查移动平均线,它们保持不变(检查 model.variables,平均值始终为 0 和 1)。我知道可以使用 .fit() 和 .predict(),但我想使用 GradientTape,但我不知道该怎么做。某些版本的文档建议更新 update_ops,但这似乎在急切模式下不起作用。
特别是,经过上述训练后,以下代码将不会输出任何接近 150 的值。
tensorflow - Tensorflow 2.0 中的梯度计算
这是我在 Tensorflow 2.0 中的示例:
它返回:
以上是正确的系数,但grad_2
也应该表明我们有 3w^2。我怎样才能找回w^2
零件?
tensorflow - 使用 GradientTape 在 TensorFlow 2.0 线性回归示例中爆炸损失
我正在尝试为多元线性回归构建一个小的教育示例,但是 LOSS 一直在增加,直到它爆炸而不是变得更小,知道吗?
如果我使用“正确”值初始化权重(通过 scikit-learn 回归器发现),甚至会发生这种情况
python-3.x - Tensorflow gradientTape 在计算相同的梯度两次时给出不同的结果
我正在尝试使用 TF 2.0。我想记录我的神经网络的梯度和权重范数。为此,我使用以下代码。
这是训练循环:
问题: 运行脚本时,输出层的梯度范数得到相同的值,但双向层的范数(bi_lstm)得到不同的值
这是输出:
我在这里想念什么?
提前致谢
python - 在 TensorFlow 2.0 的自定义训练循环中应用回调
我正在使用 Tensorflow DCGAN 实施指南中提供的代码编写自定义训练循环。我想在训练循环中添加回调。在 Keras 中,我知道我们将它们作为参数传递给“fit”方法,但找不到有关如何在自定义训练循环中使用这些回调的资源。我正在从 Tensorflow 文档中添加自定义训练循环的代码:
python - 在 Tensorflow 2.0 中使用 GradientTape() 和 jacobian() 时出错
我在 Python 的 Tensorflow 2.0 中使用 GradientTape() 和 jacobian()。
此代码执行良好:
但是这段代码中断了:
并抛出错误:
InvalidArgumentError:您必须使用 dtype int32 [[node loop_body/Placeholder(定义在 ...Anaconda3\lib\site-packages\tensorflow_core\python\framework\ops.py:1751)为占位符张量“loop_body/Placeholder”提供一个值]] [操作:__inference_f_995]
Traceback(最近一次调用最后一次)模块
4 中的 ipython-input-32-686c8a0d6e95 gv = tf.Variable([x, 0.0], dtype=tf.float32)
5 g = tf.convert_to_tensor(gv , dtype=tf.float32)
----> 6 dg = gT.jacobian(g, x)
为什么第一个代码有效,而第二个代码无效?
tensorflow - 为什么当我使用 numpy 数学时 GradientTape 返回 None
为什么当我使用 numpy 数学时 GradientTape 返回 None
我正在尝试了解 RL 损失函数的 tensorflow GradientTape 计算。当我使用 np.math 调用函数时,GradientTape 返回 None。如果我在函数中使用 tf.math 它工作正常。我看过像 ppo 和 sac 这样的 tf-agents,他们正在做(?)我正在尝试做的事情(我已经尝试了最后 50 个其他版本)。下面的代码有什么问题?我错过了什么?
窗口 10,python 3.6.8,tensorflow 2.0.0 参考:https ://github.com/chagmgang/tf2.0_reinforcement_learning/blob/master/policy/ppo.py
python - Tensorflow 2梯度胶带没有按预期工作
我目前正在Tensorflow 2中训练一个大型对象检测模型,并使用梯度磁带自定义训练循环。问题是模型没有改善损失,因为梯度非常低。我使用 cifar10 在一个简单的分类任务中重现了这个问题,发现一个小模型训练得很好,没有问题,而一个更大的模型(VGG16)根本没有改善损失。下面是一些重现问题的代码。
VGG16型号:
小型CNN模型:
训练循环:
如果您运行显示的代码,您将看到在使用小型 CNN 模型时网络训练良好。但另一方面,它不适用于使用标准 VGG16 模型进行相同预处理的完全相同的数据集。更令人困惑的是,VGG 模型在使用model.fit而不是使用梯度磁带的自定义训练循环时将训练得非常好。
有谁知道为什么会这样以及如何解决这个问题?
tensorflow2.0 - 如何在tenworflow2中使用tf.gradienttape保存和加载模型
我正在使用 tf.gradienttape 进行模型训练,并且成功地为每个 epoch 保存检查点。
以下两个问题,1.如何保存这个模型?2. 我以后如何加载这个模型?
我的模型是一种自动编码器类型的模型,因此有必要创建重建模型来比较和查看错误。