- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试对使用 SavedModel
加载的模型进行对抗性攻击API。我想针对给定目标的模型损失对输入进行梯度下降。代码有点长,但它是说明问题的最低限度。
from __future__ import absolute_import, division, print_function, unicode_literals
from tensorflow import keras
from tensorflow.keras import layers, models
import tensorflow as tf
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
# creating the dataset
X, y = make_classification(n_samples=10000, n_informative=10)
X, X_test, y, y_test = train_test_split(X, y)
# training the model
model = models.Sequential()
model.add(layers.Dense(10, activation='relu'))
model.add(layers.Dense(2, activation='softmax', name="output"))
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
model.fit(X, y,
epochs=10,
batch_size=32,
verbose=0)
print(f"final accuracy is {model.evaluate(X_test, y_test, verbose=0)[1]}")
# saving and loading it
tf.saved_model.save(model, "/content/demo")
loaded_model = tf.saved_model.load("/content/demo")
inference_func = loaded_model.signatures["serving_default"]
# making the adversarial example
x = tf.random.normal([1, 20])
x = tf.Variable(x)
target = tf.convert_to_tensor([0, 1], dtype=tf.float32)
cce = tf.keras.losses.CategoricalCrossentropy()
with tf.GradientTape() as t:
t.watch(x)
y = inference_func(x)["output"]
loss = cce(target, y)
dl_dx = t.gradient(loss, x)
x.assign_sub(learning_rate * dl_dx)
print(x.numpy())
final accuracy is 0.8899999856948853
INFO:tensorflow:Assets written to: /content/demo/assets
---------------------------------------------------------------------------
InvalidArgumentError Traceback (most recent call last)
<ipython-input-31-1b61c316b9dc> in <module>()
40 with tf.GradientTape() as t:
41 t.watch(x)
---> 42 y = inference_func(x)["output"]
43 loss = cce(target, y)
44 dl_dx = t.gradient(loss, x)
6 frames
/usr/local/lib/python3.6/dist-packages/six.py in raise_from(value, from_value)
InvalidArgumentError: cannot compute __forward_signature_wrapper_147414 as input #0(zero-based) was expected to be a float tensor but is a resource tensor [Op:__forward_signature_wrapper_147414]
@tf.function
有关因为它的类型是
tensorflow.python.saved_model.load._WrapperFunction
.但是我怎样才能检索到真正的功能呢?
最佳答案
我想到了 !所以我正在寻找的功能是loaded_model.__call__
.我不知道为什么 tensorflow doc 没有解释清楚。
关于tensorflow - 使用带有 SavedModel 的 GradientTape 对输入进行梯度下降,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59304025/
在查看 Tensorflow 1.15 中的 OptimizerV2 代码时,我注意到他们使用 backprop.GradientTape 来计算梯度。 我找不到任何关于此类的在线引用,只能找到 tf
晚上好 我想使用 tf2 和 Gradient Tape 函数为一个简单的回归问题实现一个玩具示例。使用 Model.fit 它可以正确学习,但与 GradientTape 一样可以做一些事情,但与
晚上好 我想使用 tf2 和 Gradient Tape 函数为一个简单的回归问题实现一个玩具示例。使用 Model.fit 它可以正确学习,但与 GradientTape 一样可以做一些事情,但与
背景 在 Tensorflow 2 中,存在一个名为 GradientTape 的类。它用于记录对张量的操作,然后可以将其结果微分并馈送到一些最小化算法。例如,from the documentati
我想使用GradientTape在急切执行模式下观察梯度。是否可以创建一个 GradientTape 一次,然后记录所有内容,就好像它具有全局上下文一样? 这是我想做的一个例子: import num
我正在尝试计算 TensorFlow 神经网络输出相对于其输入的雅可比行列式。使用 tf.GradientTape.jacobian 方法可以轻松实现这一点。 TensorFlow 文档中提供的简单示
我试图在每个时期更新权重,但我正在分批处理数据。问题是,为了规范化损失,我需要在训练循环之外记录 TensorFlow 变量(以进行跟踪和规范化)。但是当我这样做时,训练时间很长。 我认为,它将所有批
按照以下代码连接了 3 个神经网络,我们如何从初始网络中获取两个梯度?第一个梯度有效,但第二个梯度返回 None 张量。似乎它们彼此无关以获得梯度。我该如何解决这个问题? with tf.Gradie
我尝试在 Eager 模式下使用 Tensorflow 计算梯度,但是tf.GradientTape () 仅返回 None 值。我不明白为什么。梯度在 update_policy() 函数中计算。
我正在尝试使用 tf.GradientTape 计算梯度。当我尝试使用损失和 Model.variables (tf.keras.Model) 作为输入时,结果以 None 数组的形式返回给我。我究竟
我使用 tf.GradientTape 训练逻辑回归,但它无法收敛 import numpy as np import tensorflow as tf from tensorflow import
我想使用 keras 的预训练模型进行迁移学习 import tensorflow as tf from tensorflow import keras base_model = keras.appl
你好, 我目前正尝试在 Tensorflow 1.13.1 中计算梯度并使用 GradientTape official documentation 中解释的类, 但我得到一个 TypeError:
我正在尝试对使用 SavedModel 加载的模型进行对抗性攻击API。我想针对给定目标的模型损失对输入进行梯度下降。代码有点长,但它是说明问题的最低限度。 from __future__ impor
我在使用 TensorFlow 中的自动微分计算梯度时遇到问题。基本上我想创建一个神经网络,它只有一个输出值 f 并获得两个值(x,t)的输入。网络应该像一个数学函数,所以在这种情况下 f(x,t)
我发现计算的梯度取决于 tf.function 装饰器的相互作用,如下所示。 首先,我为二元分类创建了一些合成数据 tf.random.set_seed(42) np.random.seed(42)
我正在尝试切换到 TensorFlow 热切模式,我找到了 GradientTape 的文档, implicit_gradients , gradients_function和 implicit_va
我开始学习 Tensorflow2.0,我困惑的一个主要来源是什么时候使用 keras-like model.compile vs tf.GradientTape 训练模型。 在用于 MNIST 分类
在 tensorflow 版本 2.0.0-beta1 中,我正在尝试实现一个 keras 层,它具有从正态随机分布中采样的权重.我想将分布的均值作为可训练参数。 感谢 tensorflow-prob
当我使用 tf.Variable 的分配方法来更改变量的值时,它会阻止 tf.Gradient,例如。例如,请参阅下面的玩具示例代码: (注意:我只对 TensorFlow 2 感兴趣。) x = t
我是一名优秀的程序员,十分优秀!