tensorflow2.0在call()方法中使用tf.reshape()方法报错

news/2024/7/7 15:11:16 标签: python, tensorflow

记录一下自己在tensorflow2.x的call()方法中,打算改变张量的形状,所以使用了:

x = tf.reshape(x,(batch_size,-1))

这样的代码,发生报错。 

原因是在构建动态图的时候tensorflow2.0内部还没有创建具体的变量(张量)类型,所以此时如果使用上面的操作,那么batch_size维度和-1自动计算该大小的维度都为None,相当于返回shape(None,None),那么进行后续的张量操作将会报错。

解决办法是通过这里不能通过自动计算维度来进行相关的操作,将:

x = tf.reshape(x,(batch_size,-1))
换成:
x = tf.reshape(x,(batch_size,self.dim))
这里的self.dim是具体的维度,可通过计算得到

但是如果这里变成:

x = tf.reshape(x,(batch_size,-1,self.dim))
self.dim是具体的维度,那么这里也是可以的

总之这里只要变换之后不是全部的None即可。


http://www.niftyadmin.cn/n/1737964.html

相关文章

What is ESI?

The ESI(Edge Side Includes) language is conceptually similar in many ways to the Server Side Includes (SSI) function found in many web servers. It is an in-markup scripting language that is interpreted before the page is served to the client.

tf.saved_model.load()出错

有时我们保存tensorflow2.x模型时,采用了tensorflow的统一模型保存格式, tf.saved_model.save(model, "保存的目标文件夹名称") 当我们通过 model tf.saved_model.load("保存的目标文件夹名称") 加载该模型时,调用出…

HTML的color

The attribute value type "color" (%Color;) refers to color definitions as specified in [SRGB]. (颜色的定义) A color value may either be a hexadecimal number (prefixed by a hash mark-#) or one of the following sixteen col…

AI算法岗面试问题记录1

记录一下面试算法岗过程中问到的问题,部分想不起了。 1.交叉熵是怎么回事?公式是什么? 在机器学习中,我们需要评估label和predicts之间的差距,使用KL散度刚刚好,即 由于KL散度中的前一部分−H(y)不变&…

Python类专有方法

Python除了自定义私有变量和方法外,还可以定义专有方法。专有方法是在特殊情况下或使用特殊语法时由python调用的,而不是像普通方法一样在代码中直接调用。看到形如__XXX__的变量或函数名时就需要注意下,这在python中是有特殊用途的 __init_…

【转】html元素的ID和name的区别

可以说几乎每个做过Web开发的人都问过,到底元素的ID和Name有什么区别阿?为什么有了ID还要有Name呢?!而同样我们也可以得到最classical的答案:ID就像是一个人的身份证号码,而Name就像是他的名字,ID显然是唯一的&#x…

Python中定义函数时使用‘/‘和‘*’来限制输入格式的理解

在python3.8之后函数参数中允许出现/和*号,/用来指明某些函数形参必须使用位置参数而非关键字参数的形式,*出现在函数参数中第一种含义可以表示为可变参数,一般写作*args;对于单独出现在参数中的*参数,则表示&#xff…

How to Read HTML DTD-from HTML4.01 Specifications

How to read the HTML DTD (tenfyguo注:important!!,定义了HTML的元素包含关系以及元素允许和不允许的嵌套内容等规则, 符合DTD定义的html格式称为well-formed html) Each element and attribute declaration in …