pip install -r multimodal/env/requirement.txt
可以将data文件夹移动到autodl-tmp下,因为后续生成的数据集比较大
在/data/dataset文件下有三个数据集的文件夹。
执行每个文件夹内的clean.ipynb。
可能得到:
-
归一化后的图像,用于生成完整的可视化结果:
- HSI_norm.mat 归一化后的HSI图像
- LIDAR_norm.mat 归一化后的LiDAR图像
- SAR_norm.mat 归一化后的SAR图像
- DSM_norm.mat 归一化后的DSM图像
-
各种模态的测试集图像块、训练集图像块
- HSI_Te.mat HSI测试集图像块
- HSI_Te.mat HSI测试集图像块
- HSI_Tr.mat HSI训练集图像块
- LIDAR_Te.mat LiDAR测试集图像块
- LIDAR_Tr.mat LiDAR训练集图像块
- SAR_Te.mat SAR测试集图像块
- SAR_Tr.mat SAR训练集图像块
- DSM_Te.mat DSM测试集图像块
- DSM_Tr.mat DSM训练集图像块
-
label
- TeLabel.mat 测试集的label
- TrLabel.mat 训练集集的label
对于三个数据集,各自的划分方式分别为:
MFT论文中采用的是disjoint划分,但这个数据集我只找到了整张图片的数据
此项目采用了sample_gt函数 每类选择184个测试样本的划分方式。
来自仓库https://github.com/GatorSense/MUUFLGulfport 训练集和测试集的划分在MFT论文中采用了5%的训练集和95%的测试集。
The table represents class-specific land-cover types and the number of randomly selected (5%) training and the remaining (95%) test samples
此项目采用sample_gt函数 同样随机选择5%的点来划分
来自仓库https://github.com/danfenghong/ISPRS_S2FL 训练集和测试集的划分在数据集中已经给出 训练集为TrainImage,测试集为TestImage 注意:这个数据集太大了,所以这个数据集的patch size 此项目设置成7 * 7
利用test.sh可以批量化运行一系列不同配置的实验。
- 在paramConfig.ini中,将[DEFAULT]的parent_directory改为data文件夹的新地址,例如/root/autodl-tmp/data
- 在paramConfig.ini中,新建要跑的配置。我已经整理好了一些配置,可以参考起来设置新的配置,配置名不能重复。
- 将要跑的配置名复制到test.sh中的my_array=(),使用回车分行。
bash ./test.sh运行 ,bash ./test.sh && /usr/bin/shutdown运行后关机
boolean:section.getboolean('HSIOnly')
int:int(section['token_num'])
str:section['checkpointName']
tuple: getResolution(section["kernel_size"])
整套代码都在multimodal.ipynb中,批量化运行时是使用test.sh将ipynb转换为py文件进行运行的,后续如果更改代码,也要在ipynb中更改。
如果想用jupyter运行代码进行调试,需要取消注释这一行,默认使用TEST中的配置运行。使用jupyter进行调试代码可以节省很多时间。
# # # jupyter需要下面一行
# sys.argv = ['multimodal.py ']