首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tf.reshape(张量,[-1])与tf.reshape(张量,-1)

Tf.reshape(张量,[-1])与tf.reshape(张量,-1)
EN

Stack Overflow用户
提问于 2022-07-04 12:13:30
回答 1查看 61关注 0票数 1

这两者有什么区别呢?

1- tf.reshape(张量,-1)

2- tf.reshape(张量,-1)

我找不到这两者之间的任何区别,但是当我使用-1而没有括号时,当试图将函数映射到TensorSliceDataset时会发生错误。下面是代码的简化版本:

代码语言:javascript
复制
def reshapeME(tensor):
    reshaped = tf.reshape(tensor,-1)

    return reshaped

new_y_test = y_test.map(reshapeME)

这是一个错误:

代码语言:javascript
复制
 ValueError: Shape must be rank 1 but is rank 0 for '{{node Reshape}} = Reshape[T=DT_FLOAT, Tshape=DT_INT32](one_hot, Reshape/shape)' with input shapes: [6], [].

如果添加括号,则没有错误。此外,当函数通过调用和喂入张量来使用时也没有错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-04 12:16:09

tf.reshape期望张量或类似张量的变量作为图模式中的形状

张量。必须是下列类型之一: int32、int64。定义输出张量的形状。

因此,在这种情况下,简单的标量是行不通的。映射函数的tf.data.Dataset总是在图形模式下执行:

请注意,无论定义map_func的上下文(急切还是图形),tf.data都会跟踪该函数并以图的形式执行它。

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

https://stackoverflow.com/questions/72856571

复制
相关文章

相似问题

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