恢复通过Keras平铺层后的多波段图像形状

我有一张包含6个不同波段的图像。

我已经对图像进行了预处理,以便为模型做好准备,如下所示:

ds1, image = raster.read(imagePath, bands='all')

然后我使用pyrsgis重塑了图像

image = changeDimension(image)

最后,我将其除以255

xTrain = xTrain / 255.0

并重新塑形以与手动标记的类别匹配

image= image.reshape((image.shape[0], 1, image.shape[1]))

我试图将图像通过我用Keras构建的自编码器,该自编码器具有以下结构:

model = keras.Sequential([    keras.layers.Flatten(input_shape=(1, nBands)),    keras.layers.Dense(14, activation='relu'),    keras.layers.Dense(2, activation='relu', activity_regularizer=l1(10e-6)),    keras.layers.Dense(14, activation='relu'),    keras.layers.Dense(6, activation='sigmoid')])

训练效果很好。当我使用 predicted = model.predict(newImg) 时,我得到了形状为 (1391808, 6) 的预测数组。

但问题是,我不知道如何从输出中重建图像,以便最终保存它。


回答:

如果有人遇到相同的问题,这是解决方案

predicted = model.predict(featuresHyderabad)predictedArr = np.zeros(shape = ( nBands, imageHeight, imageWidth ))for i in range(nBands):  prediction = np.reshape(predicted[:,i], (imageHeight, imageWidth))  predictedArr[i] = predictionraster.export(predictedArr, metaData, filename=outFile, dtype='float', bands='all')

Related Posts

如何对SVC进行超参数调优?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

如何在初始训练后向模型添加训练数据?

我想在我的scikit-learn模型已经训练完成后再…

使用Google Cloud Function并行运行带有不同用户参数的相同训练作业

我正在寻找一种方法来并行运行带有不同用户参数的相同训练…

加载Keras模型,TypeError: ‘module’ object is not callable

我已经在StackOverflow上搜索并阅读了文档,…

在计算KNN填补方法中特定列中NaN值的”距离平均值”时

当我从头开始实现KNN填补方法来处理缺失数据时,我遇到…

使用巨大的S3 CSV文件或直接从预处理的关系型或NoSQL数据库获取数据的机器学习训练/测试工作

已关闭。此问题需要更多细节或更清晰的说明。目前不接受回…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注