问题标签 [eager-execution]
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 v2 中传递会话对象?
我有一个函数change_weight()
可以修改任何给定模型中的权重。此函数驻留在不同的 python 文件中。
因此,如果我有一个对 MNIST 图像进行分类的简单神经网络,我会在调用此函数之前和之后测试准确性,我发现它有效。这在 TensorFlow v1 中很容易做到,因为我只需要sess
在函数调用中传递 Session 对象,就可以在另一个文件中获得该会话的权重。
在 TensorFlow v2 中使用 Eager Execution,我该怎么做?我没有 Session 对象了。我要通过什么?
numpy - 使用 keras 在 tensorflow 2.0 中模型没有急切执行
我对设计深度学习模型非常陌生,这实际上是我的第一个模型。
我已经定义了一个自定义错误指标,由于某种原因,我收到了这个错误:
我不知道这是否有帮助,但外部“print(tf.executing_eagerly())”打印“True”,而内部打印“False”。
“y_actual”是数据集中的真实值,“y_pred”是模型的预测值。
我真的很感谢我能在这方面得到的任何帮助,因为我已经研究这个模型好几个星期了。
提前致谢。
(“Given”列中包含字符串,“Target”列包含我试图从“Given”列中提取的字符串)
python-3.x - 在 tensorflow 2.1.0 中强制执行急切
我是 tensorflow 和深度学习的新手。
我创建了一个自定义损失函数,但似乎在自定义损失函数中,未启用急切执行。下面是我的自定义损失函数(它不起作用):
让我难过的是,在这个函数之外,每当我运行时print(tf.executing_eagerly())
,它都会返回 true,但在函数内部,它会返回 false。
我已经尝试了所有我能找到的修复:
- 传入 model.compile run_eagerly = True
() 函数
-model.run_eagerly() = True
在编译函数之后添加
-tf.compat.v1.enable_eager_execution()
在损失函数中运行以至少强制急切执行一次。
以上修复均无效。
python - tf.estimator input_fn 和急切模式
我试图在numpy
里面使用cnn_model.evaluate()
,但它给了AttributeError: 'Tensor' object has no attribute 'numpy'
。我曾经使用and insidenumpy
计算准确性和均方误差tf.keras.metrics.Accuracy()
tf.keras.metrics.MeanSquaredError()
cnn_model.evaluate()
我用谷歌搜索了它,在 tensorflow 文档中,它说
“Estimator 的调用方法将在启用 Eager Execution 的情况下工作。但是,model_fn 和 input_fn 不会立即执行,Estimator 将在调用所有用户提供的函数(包括钩子)之前切换到图形模式,因此它们的代码必须兼容图形模式执行。”
所以,我想知道如何将当前的 tf 1.x 代码更新为 tf 2.1.0 代码,同时还使用上述信息。
我目前的代码是:
到目前为止,我尝试的是添加tf.compat.v1.enable_eager_execution()
到 1)所有导入之后的代码开头,2)在导入 tf 之后的下一行,3)在声明 eval_input_fn 之前的行,4)在调用 eval_results 之前的行,5)在 CNN 内部模型定义。这一切都未能打开渴望模式。
我发现的另一个选项是删除 @tf.function 装饰器,但我不知道这意味着什么以及如果删除了 @tf.function 如何传递 input_fn。
tensorflow - 在 tensorflow 2.2 中更新/分配依赖变量后,张量操作的值不会更新,在急切执行中运行
我在 tensorflow 2.2 中运行以下代码
的b
值为:
的c
值为:
如果我现在更新变量 b
但是当我打印的值时c
,我希望它应该已经改变,因为b
已经改变了,但c
没有改变
我的测试在急切模式下运行。tf.executing_eagerly() = 现在为真
背后的原因是什么?
tensorflow - Tensorflow tf.GradientTape().gradient 返回无
我设计了一个函数来计算损失和model.trainable_variables
使用 Tensorflow的梯度GardientTape
。我使用这个函数来执行拆分学习,这意味着模型在客户端上被划分和训练到特定层。客户端模型的输出、标签和可训练变量被发送到服务器以完成模型后半部分的训练。在服务器上,应在服务器上使用此函数计算应发送回客户端以更新客户端模型的服务器端梯度和客户端梯度:
服务器端梯度计算正确。损失也被正确计算并且服务器的 trainable_variables 被正确接收,但客户端梯度gradient_client = tape.gradient(l, trainable_variables_client)
只返回:
msg 是一个包含数据的字典,从客户端发送到服务器:
python - 类型错误:有类型,但预期其中之一:(,)
我一直在尝试在 tf.data 上运行本教程中的代码。但是当我尝试在 vs 代码中执行它时出现此错误。
TypeError: <tf.Tensor: shape=(), dtype=bool, numpy=False> has type <class 'tensorflow.python.framework.ops.EagerTensor'>, but expected one of: (<class 'int'>,)
其中值的类型<class 'tensorflow.python.framework.ops.EagerTensor'>
相同的代码在 google colab 中运行良好。
这是与 GitHub 中的此错误相关的问题,但我在那里没有发现任何帮助。
Python版本:3.8
张量流:张量流-GPU 2.2.0
代码:
错误:
python - 使用带有 Tensorflow GradientTape 的汉明距离损失函数:没有渐变。是不可微分的吗?
我正在使用 Tensorflow 2.1 和 Python 3,按照教程“ Tensorflow - 自定义训练:演练”创建我的自定义训练模型。
我正在尝试在我的损失函数上使用汉明距离:
当我调用它时:
grads
变量是一个包含 38 个无的列表。
我得到了错误:
有没有什么方法可以使用汉明距离而不“中断渐变胶带注册的渐变链”?
python - 如何在嵌套渐变磁带中重用内部渐变?
我正在研究 tensorflow 1.15 中的一个例程,该例程评估不同向量的几个粗麻布向量产品
每次我调用此函数时,它都必须评估内部循环并计算梯度,但无论v
. grad
每次调用此函数时如何重用该值?
我看到有一个选项可以创建一个磁带tf.GradientTape(persist=True)
来保留磁带的资源,但无法弄清楚如何将其合并到我的功能中。
python - Tensorflow 无法保持急切执行,TF2.x
我使用的是 TF2.x,默认情况下是 Eager Execution。但是,当使用自定义损失函数时,它报告急切执行为 False。
tf import veryfing 急切执行为 True:
哪个打印True
。我正在使用来自https://github.com/google-research/fast-soft-sort的可区分排名
我将使用 MNIST 数据集进行演示:
然后我收到以下错误,指出急切执行不正确。
我不记得我在哪里读到它了,但我相信急切的执行一旦打开就无法关闭。发生了什么导致该断言失败?