输入 0 与层 flatten_15 不兼容:预期 min_ndim=3,发现 ndim=2
Input 0 is incompatible with layer flatten_15: expected min_ndim=3, found ndim=2
我正在尝试在我的声音数据集上训练 ANN 模型,该数据集有 320 行和 50 列,而 运行 此代码:
Model= Sequential([ Flatten(),
Dense(16, input_shape=(1,50), activation= 'relu' ) ,
Dense(32, activation= 'relu' ),
Dense(2, activation='softmax' ) ,
])
Model.compile(Adam(lr=0.0001), loss='sparse_categorical_crossentropy', metrics=['accuracy'])
Model.fit(S_T_S, T_L, validation_split=0.1, batch_size=20, epochs=20, shuffle='true', verbose=2)
我收到以下错误:
Input 0 is incompatible with layer flatten_15: expected min_ndim=3, found ndim=2,
如果数据集的形状为(N, C),其中N是数据点的个数,C是单个数据点的通道数,那么第一层的input_shape参数应该只指定频道。
model= Sequential([
Dense(16, input_shape=(50,), activation= 'relu' ) ,
Dense(32, activation= 'relu' ),
Dense(2, activation='softmax' ) ,
])
model.compile(Adam(lr=0.0001), loss='sparse_categorical_crossentropy', metrics=['accuracy'])
model.fit(S_T_S, T_L, validation_split=0.1, batch_size=20, epochs=20, shuffle='true', verbose=2)
如果输出的数量 类 是两个,那么具有一个节点的输出层比使用具有两个节点的输出层效果更好。在这种情况下,输出层的activation应该改为sigmoid,loss应该改为binary cross entropy。
model= Sequential([
Dense(16, input_shape=(50,), activation= 'relu' ) ,
Dense(32, activation= 'relu' ),
Dense(1, activation='sigmoid' ) ,
])
model.compile(Adam(lr=0.0001), loss='sparse_binary_crossentropy', metrics=['accuracy'])
我正在尝试在我的声音数据集上训练 ANN 模型,该数据集有 320 行和 50 列,而 运行 此代码:
Model= Sequential([ Flatten(),
Dense(16, input_shape=(1,50), activation= 'relu' ) ,
Dense(32, activation= 'relu' ),
Dense(2, activation='softmax' ) ,
])
Model.compile(Adam(lr=0.0001), loss='sparse_categorical_crossentropy', metrics=['accuracy'])
Model.fit(S_T_S, T_L, validation_split=0.1, batch_size=20, epochs=20, shuffle='true', verbose=2)
我收到以下错误:
Input 0 is incompatible with layer flatten_15: expected min_ndim=3, found ndim=2,
如果数据集的形状为(N, C),其中N是数据点的个数,C是单个数据点的通道数,那么第一层的input_shape参数应该只指定频道。
model= Sequential([
Dense(16, input_shape=(50,), activation= 'relu' ) ,
Dense(32, activation= 'relu' ),
Dense(2, activation='softmax' ) ,
])
model.compile(Adam(lr=0.0001), loss='sparse_categorical_crossentropy', metrics=['accuracy'])
model.fit(S_T_S, T_L, validation_split=0.1, batch_size=20, epochs=20, shuffle='true', verbose=2)
如果输出的数量 类 是两个,那么具有一个节点的输出层比使用具有两个节点的输出层效果更好。在这种情况下,输出层的activation应该改为sigmoid,loss应该改为binary cross entropy。
model= Sequential([
Dense(16, input_shape=(50,), activation= 'relu' ) ,
Dense(32, activation= 'relu' ),
Dense(1, activation='sigmoid' ) ,
])
model.compile(Adam(lr=0.0001), loss='sparse_binary_crossentropy', metrics=['accuracy'])