gpt4 book ai didi

r - 获取 Tensorflow 占位符的形状

转载 作者:行者123 更新时间:2023-11-30 09:50:35 25 4
gpt4 key购买 nike

我正在尝试获取 Tensorflow 中占位符的尺寸。我立即想到了函数tf$shape。我毫不费力地使用 tf$shape 来获取具有正尺寸的占位符的形状。但是,我希望占位符能够接受不同大小的输入,因此我将一个维度保留为 NULL。现在,根据我的理解,在维度方面,Tensorflow同等对待NULL-1。但是,当我运行代码时,我收到此错误:

W tensorflow/core/framework/op_kernel.cc:1148] Invalid argument: Shape [-1,2] has negative dimensions

下面是我的代码的可重现示例:

a = tf$placeholder(tf$float32, shape = shape(NULL, 2L))    
sess = tf$Session()
sess$run(tf$shape(a))

上面引用的错误是由我的代码中的某些内容引起的还是由 tf$shape 无法接受具有负尺寸的占位符这一事实引起的?如果后者是正确的,有什么方法可以让我在不使用 tf$shape 的情况下获得具有负尺寸的占位符的形状?

最佳答案

tf$shape(a) 运算返回一个包含 dynamic shape 的张量占位符张量aa 的动态形状取决于您为 a 提供的值;如果您不提供值,则动态形状未定义。因此,您必须在 sess$run(tf$shape(a)) 调用中为 a 提供一个值。

不幸的是,您看到的特定错误(“形状 [-1,2] 具有负尺寸”)没有帮助,因为 TensorFlow 1.2 中关于占位符操作如何处理部分定义的形状的错误。如果您升级到 TensorFlow 1.3(当前作为候选版本)或更高版本,此错误已得到修复,您将收到类似以下内容的错误:

You must feed a value for placeholder tensor 'Placeholder' with dtype float32 and shape [?,2]

关于r - 获取 Tensorflow 占位符的形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45724532/

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