我正在尝试预测一个图像序列,之前我只使用CNN,它把这些连接起来的图像作为输入,但是它在一些数据库中没有给予我很好的结果。
我使用了两种类型的数据库,一种是对一幅图像进行分类,另一种是对一系列图像进行分类,所以当只对一幅图像进行分类时,我使用total_x_test_indexes=tf.expand_dims(total_x_test_indexes, axis=1)
来推广模型。
正如我所看到的,我可以更好地使用CNN,然后应用LSTM,我看到了如何做here。
但我只得到了这样的混淆矩阵,几乎所有的东西都归为一类。
我的代码是:
inp = Input((None,size_image,size_image,1), ragged=True)
x = TimeDistributed(cnn)(inp)
x = LSTM(25)(x)
size_predictions=len(dicTiposNumbers)
print("tamaño ",size_predictions)
out = Dense(size_predictions)(x)
model = Model(inp, out)
print(model.summary())
opt = keras.optimizers.Adam(learning_rate=0.05)
opt = keras.optimizers.SGD(learning_rate=0.15)
# Compile the model
model.compile(optimizer=opt,
loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=False),
metrics=['accuracy'])
print('------------------------------------------------------------------------')
print(f'Training for fold {fold_no} ...')
total_x_train_indexes=tf.gather(total_x,indices=train)
total_y_train_indexes=tf.gather(total_y,indices=train)
total_x_train_indexes=tf.expand_dims(total_x_train_indexes, axis=1)
print("shape after gather",np.shape(total_x_train_indexes[0]))
history = model.fit(total_x_train_indexes, total_y_train_indexes,
batch_size=512,
epochs=5)
但是我得到了这个,并且类似于其他具有更多类的数据库:
1条答案
按热度按时间5ssjco0h1#
根据您的问题,确定网络的目的和输入数据响应。我创建了一个简单的自定义层,告诉您过程层只不过是简单的计算,每个层的数据过程输出来自卷积层和密集层。
示例:改进方法是通过输入/输出的比较,并试图扩大效果。
混淆矩阵,他试图看到整体模型训练的效果并用输入数据进行预测。