我有一个在Tensorflow
中实现深度学习的代码。我使用Keras
模块
self.n_clusters = 10
self.alpha = 0.01
clustering_layer = ClusteringLayer(self.n_clusters, alpha=self.alpha, name='clustering')(hidden)
我的错误主要是来自上面的,所以我就附上了。在
它给出了以下错误:
^{pr2}$第118行是我的代码位置。错误似乎发生在tensorflow包中。它给了我TypeError: unsupported operand type(s) for /: 'Dimension' and 'float'
。我尝试了python 2.7
和{
如何处理这种情况?在
一个非常相似的情况是在github中,它的错误可以在它的代码中解决,但是我的错误似乎发生在init_ops.pyc
我遇到了一个非常类似的问题我有一个定制的
Layer
,它keras
中时工作非常好(keras.version=2.24)使用tf后端(tf.version=1.14条)tf.keras
时,引发与问题中描述的相同的错误消息(tf.version=1.14条)@Alexandre Passos的建议很管用,但我花了一段时间才弄明白他到底是什么意思。一、 因此,请在下面分享我的经验,以帮助未来的朋友。在
下面是一个定制层的示例
问题发生在}类型,这是{}所必需的,也是使用
tf.keras
,因为传递的input_shape
是tf.Dimension
类型,而不是{keras
时传递的类型。在因此,同一层定义在
keras
中工作,而在tf.keras
中不起作用。在因此,您需要做的就是将
^{pr2}$tf.Dimension
对象转换为int
,即将weight_shape
的行重写为这里的问题似乎是ClusteringLayer正在传递一个tf.尺寸对象作为簇数,用于初始化权重。改为使用int(self.n_clusters)来绕过维度对象问题。在
相关问题 更多 >
编程相关推荐