(x_train, y_train), (x_test, y_test) = tf.keras.datasets.fashion_mnist.load_data()
x_train = x_train.astype('float32') / 255
x_test = x_test.astype('float32') / 255
x_train.shape #Shape is (60000, 28, 28)
然后模型确定输入形状为28,28,1,因为60k是样本。
model2 = tf.keras.Sequential()
# Must define the input shape in the first layer of the neural network
model2.add(tf.keras.layers.Conv2D(filters=64, kernel_size=2, padding='same', activation='relu', input_shape=(28,28,1)))
model2.add(tf.keras.layers.MaxPooling2D(pool_size=2))
model2.add(tf.keras.layers.Dropout(0.3))
model2.add(tf.keras.layers.Conv2D(filters=32, kernel_size=2, padding='same', activation='relu'))
model2.add(tf.keras.layers.MaxPooling2D(pool_size=2))
model2.add(tf.keras.layers.Dropout(0.3))
model2.add(tf.keras.layers.Flatten())
model2.add(tf.keras.layers.Dense(256, activation='relu'))
model2.add(tf.keras.layers.Dropout(0.5))
model2.add(tf.keras.layers.Dense(10, activation='softmax'))
model2.compile(loss='categorical_crossentropy',
optimizer='adam',
metrics=['accuracy'])
model2.fit(x_train,
y_train,
batch_size=64,
epochs=25,)
我得到错误:值错误:检查输入时的错误:预期conv2d_19_input有4个维度,但得到了具有形状(60000, 28, 28)的数组
就像每次我试图理解输入形状时一样,我会更加困惑。就像我现在对conv2d和dense的输入形状感到困惑一样。无论如何,为什么这是错误的?
缺少通道维度(值为1),可以通过重塑阵列来轻松更正:
x_train = x_train.reshape((-1, 28, 28, 1))
x_test = x_test.reshape((-1, 28, 28, 1))
是的,这是正确的。参数input\u shape准备取3个值。但是,函数Conv2D需要4D数组作为输入,包括:
而函数load_data()
是一个由宽度、高度和样本数组成的3D数组。
您可以期望通过简单的重塑来解决问题:
train_X = train_X.reshape(-1, 28,28, 1)
test_X = test_X.reshape(-1, 28,28, 1)
keras文件中更好的定义:
输入形状:具有形状的4D张量:(批次、通道、行、通道)如果data_format是“channels_first”,或具有形状的4D张量:(批次、行、通道)如果data_format是“channels_last”。
我得到这个错误: ValueError:检查输入时出错:预期序列有3个维度,但得到了形状为(500400)的数组 以下是我正在使用的代码。 输出(这里每行有500行): 代码: 有什么见解吗?
问题内容: 我正在尝试使用学习的.h5文件进行预测。学习模型如下。 我将输入的形式编写如下。 我以为形状正确,但是发生以下错误。 ValueError:检查时出错:预期density_1_input的形状为(3,),但数组的形状为(1,) 的形状显然是,但上述错误并没有消失(数据来自的CSV文件)。 我怎么解决这个问题? 问题答案: x的形状显然是,但上述误差仍在继续。 您是对的,但这 不是 ke
我正在运行一个CNN,检查图像,但不分类。事实上,输出层是一个密集层,其参数为1d中标签中图像的大小。 如下面的代码所示,我使用model.fit_generator()而不是model.fit,当开始训练模型时,会出现以下错误: 为什么这是一个错误?我的密度的输出是一个19316元素的数组,为什么它期望它有一个(1,)的形状? 此处还附上了模型的摘要: conv2d_28(Conv2D)(无,2
我想基于使用TfidfVectorizer的矢量化单词进行多标签分类(20个不同的输出标签)。我已经设置了39974行,每行包含2739个项目(0或1)。 我想使用Keras模型对这些数据进行分类,该模型将包含1个隐藏层(~ 20个节点,激活='relu'),输出层等于20个可能的输出值(激活='softmax'以选择最佳拟合)。 以下是我目前的代码: 但有错误: ValueError:检查输入时
嗨,我是改装2.0库的新手,我在解析一些json时遇到了问题。我在Stackoverflow上看了一些其他的解决方案,但我的问题运气不佳。我试图用改装2.0从Android系统调用一个api。但它抛出了预期的错误BEGIN_ARRAY但BEGIN_OBJECT。 我对web api的回应是: 这就是我的模型类: 这是我的界面: 这就是我打电话的方式:
问题内容: JSON对象示例如下所示: 假设通过链接www.domain.com访问上述对象,并且我有以下用于表示数据的类 并且地址类如下: 当我尝试跑步时 我收到以下错误: 预期为BEGIN_ARRAY,但在上述代码行中为字符串。我不确定我设置班级的方式是否有问题。注意:我正在使用一个数组(LocationData []数据),因为该服务返回了多个位置,尽管我刚刚在上面显示的示例中包括了一个