这是一个常见的陷阱
GradientTape;
磁带仅跟踪设置为“监视”的张量,并且磁带默认情况下仅监视可训练的变量(表示使用
tf.Variable创建的对象
trainable=True)。要观察
pic张量,应
tape.watch(pic)在磁带上下文中添加第一行。
另外,我不确定索引(
pic[0])是否会起作用,因此您可能要删除它-因为
pic在第一维中只有一个条目,所以无论如何都没关系。
此外,您不能使用,
model.predict因为这将返回一个numpy数组,该数组基本上会“破坏”计算图链,因此不会向后传播梯度。您应该仅将模型用作可调用模型,即
predictions= model(pic)。



