首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Tensorflow - Copy张量与赋值

Tensorflow - Copy张量与赋值
EN

Stack Overflow用户
提问于 2020-12-25 14:58:28
回答 1查看 371关注 0票数 0

复制Tensorflow张量的正确方法是什么?在常规Python中,非原语赋值(b = a)创建了对同一对象的引用,因此我们使用deepcopy。Tensorflow中是否同样需要tf.identity,或者Tensorflow是否将b视为b = a之后的唯一张量

我的具体需求总结如下。我正在构建一个以块为单位的模型,每个块都获取前一块的输出,通过层将其输入,然后与前一块的原始输出相加。请看标记为方法A和方法B的两行,哪一项是正确的?

代码语言:javascript
复制
for block_num in range(4):

    if block_num == 0:
        x = inputTensor

    x = tf.keras.layers.Dense(100, activation='relu')(x)

    if block_num > 0:
        x = block_output_tensor + x

    # method A - assignment
    block_output_tensor = x

    # method B - copy
    # block_output_tensor = tf.identity(x)
EN

回答 1

Stack Overflow用户

发布于 2020-12-25 18:54:00

在您的例子中,简单赋值block_output_tensor = x应该可以很好地工作。只需重新排序行,以便在使用block_output_tensor之前定义它。

但是,在一些更复杂的情况下,使用tf.identity()确保正确的图形布局非常重要。看到这件事讨论了here at SO

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65445949

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档