【发布时间】:2021-06-02 08:41:03
【问题描述】:
我在 Keras 中有一个自定义层,我在其中定义了一些变量,我在调用部分为其分配了一些值。
class Mine_layer(KL.Layer):
def __init__(self,shape):
self.block=tf.Variable(tf.constant(1,shape=shape))
def call (self,indeces):
self.block=self.block[indeces[0][0],indeces[0][1]].assign(1)
这可行,但如果我尝试对所有索引使用 for 循环:
for i in tf.range(0,limit=tf.shape(indeces)[0]):
self.block=self.block[indeces[i][0],indeces[i][1]].assign(1)
这给了我一个错误,说“'Tensor' 对象没有属性 'assign'”。
为什么会这样?我该如何解决?
我尝试查看文档,但仍然不明白。
提前感谢任何可能回答的人。
【问题讨论】:
标签: python tensorflow keras