csv - 使用 Tensorflow 和 Keras 训练高光谱数据
问题描述
我正在寻找一种在 Tensorflow 上训练高光谱图像数据的方法。训练样本以 CSV 编码,具有任意 xy 维度但深度恒定:数据如下所示:
Sample1.csv:50x4x220(第 1-50 行应该与第 51-100、101-150 和 151-200 行对齐)
Sample2.csv:18x71x220(第 1-18 行应该与第 19-36 行对齐等)
Sample3.csv : 33x41x220 (同上)
....
Sample100.csv : 15x8x220 (同上)
我可以使用任何项目示例吗?提前致谢。
解决方案
这是对用于对高光谱数据进行分类的 DL 算法的调查。
由于您有数据或不同大小的数据,您将不得不创建数据块,您将无法提供不同大小的数据。
例如,您可以(16, 16, 220)
向您的网络提供补丁。
我在一个带有多光谱波段图像的 CNN 上工作,我的波段比你少,补丁的大小显然很重要,我在图像分割中使用了 UNET。
(None, None, 220)
使用作为输入的示例进行编辑:
model = Sequential()
# this applies 32 convolution filters of size 3x3 each.
model.add(Conv2D(32, (3, 3), activation='relu', input_shape=(None, None, 220)))
model.add(Conv2D(32, (3, 3), activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))
model.add(Conv2D(64, (3, 3), activation='relu'))
model.add(Conv2D(64, (3, 3), activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))
# model.add(Flatten())
# Replace flatten by GlobalPooling example :
model.add(GlobalMaxPooling2D())
model.add(Dense(256, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(10, activation='softmax'))
adam = Adam(lr=1e-4)
model.compile(loss='categorical_crossentropy', optimizer=adam)
推荐阅读
- javascript - 当我在 Nodejs+Express 中使用护照进行用户身份验证时发生了奇怪的事情
- java - 如何从 Java 中 owl 类的“等效于”部分中定义的类表达式中检索对象属性?
- javascript - 为什么我不能在更新其值时重新使用 SessionStorage?
- kubernetes - 如何检查 kubernate 集群中节点上的空间问题
- python - Google OAuth 客户端使用 json 文件中的错误 project_id - Python
- python - 优化算法
- javascript - 在 GCP 函数中使用 Telegram 数据库库 (TDLib) 或通过 JavaScript 使用 AWS Lambda
- python - 我正在尝试更新数据,但它没有在数据库中更新
- javascript - js: element.className 不起作用(创建暗模式)
- java - 如何使用毕加索显示来自 json api wordpress 的图像?