首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Keras (tensorflow后端)获取"TypeError: unhashable type:'Dimension'“

Keras (tensorflow后端)获取"TypeError: unhashable type:'Dimension'“
EN

Stack Overflow用户
提问于 2018-01-24 14:18:26
回答 1查看 2.6K关注 0票数 3

嗨,我在拟合这个模型时遇到了一个尺寸错误,有人知道为什么吗?

代码语言:javascript
复制
num_classes = 11
input_shape = (64,64,1)
batch_size = 128
epochs = 12
X_train = tf.reshape(X_train, [-1, 64, 64, 1])
X_test = tf.reshape(X_test, [-1, 64, 64, 1])

model = Sequential()
model.add(Conv2D(32, kernel_size=(3,3), strides=1, activation='relu', input_shape=input_shape)) 
model.add(Flatten())
model.add(Dense(128, activation='relu'))
model.add(Dense(num_classes, activation='softmax'))

model.compile(loss=keras.losses.categorical_crossentropy,
          optimizer=keras.optimizers.Adadelta(),
          metrics=['accuracy'])

model.fit(X_train, y_train,
      batch_size=batch_size,
      epochs=epochs,
      verbose=1,
      validation_data=(X_test, y_test))

每个变量的维度为

代码语言:javascript
复制
X_train = (27367, 64, 64, 1)
X_test = (4553, 64, 64, 1)
y_train = (164202, 11)
y_test = (27318, 11)
EN

回答 1

Stack Overflow用户

发布于 2018-01-24 14:26:12

这是因为您使用的是tf.reshape,它返回一个张量,而Keras模型的fit方法不能很好地处理张量。

考虑使用np.reshape,它将做完全相同的事情。

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

https://stackoverflow.com/questions/48415957

复制
相关文章

相似问题

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