gpt4 book ai didi

TensorFlow 2 : RuntimeError: Cannot use a constraint function on a sparse variable

转载 作者:行者123 更新时间:2023-12-04 09:19:15 24 4
gpt4 key购买 nike

我用 embeddings_constraint 定义了一个嵌入对象:

from tensorflow.keras.layers import Embedding
from tensorflow.keras.constraints import UnitNorm
. . .
emb = Embedding(input_dim, output_dim, name='embedding_name', embeddings_constraint=UnitNorm(axis=1))
. . .
稍后在代码中,当我想训练包含 emb 的模型时, 我从函数 model.fit 得到一个异常:
RuntimeError: Cannot use a constraint function on a sparse variable.
当我不对 emb 施加嵌入约束时,但是,代码不会抛出错误。此外,我用 TF 1 尝试了这个,它在那里工作得很好(有和没有 embeddings_constraint )。根据 GitHub discussion ,这似乎是 TF 2 错误,尽管没有提出可行的解决方案。
任何想法如何解决这个问题?

最佳答案

此问题的解决方法是直接调用约束,如下所示:

from tensorflow.keras.layers import Embedding
from tensorflow.keras.constraints import UnitNorm
. . .
emb = Embedding(input_dim, output_dim, name='embedding_name')
norm_layer = UnitNorm(axis=1)
norm_embedding = norm_layer(emb(embedding_id_input))
. . .

关于TensorFlow 2 : RuntimeError: Cannot use a constraint function on a sparse variable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63122880/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com