Thu Nov 13 2025 00:00:00 GMT+0800 (中國標準時間)
代码部分
MultiModalDataset.py
这是一个多模态数据集类,主要负责数据加载和预处理,包含以下核心组件:
主要类:
HSIProcessor :高光谱数据处理器
- 处理npy格式的高光谱数据文件
- 支持通道数统一(通过平均池化、重复、截断或填充)
- 调整空间尺寸(默认256×256)
- 可选的数据归一化处理
RGBProcessor :RGB图像处理器
- 处理RGB图像文件
- 调整尺寸并转换为张量
- 对缺失图像返回默认零张量
LabelProcessor :标签处理器
- 对标签进行对数变换(默认开启)
- 支持使用StandardScaler进行标准化
- 提供逆变换功能,将预测结果转回原始尺度
Validation Loss: 0.3464 MAE: 123048.0000 RMSE: 251103.0469 R²: 0.4773
Epoch 178/200
Train Loss: 0.5165 MAE: 251015.7500 RMSE: 933500.5000 R²: 0.0277
Validation Loss: 0.2887 MAE: 77823.0547 RMSE: 165240.5000 R²: 0.7736
Epoch 179/200
Train Loss: 0.5380 MAE: 254873.3438 RMSE: 920897.5625 R²: 0.0537
Validation Loss: 0.5153 MAE: 250036.1875 RMSE: 525814.1250 R²: -1.2921
Epoch 180/200
Train Loss: 0.5162 MAE: 267688.5312 RMSE: 977263.5625 R²: -0.0656
Validation Loss: 0.2729 MAE: 88708.2031 RMSE: 183497.7031 R²: 0.7209
-inf — 1
[-inf ,-1]
Epoch 181/200
Train Loss: 0.4926 MAE: 228768.2031 RMSE: 898883.0625 R²: 0.0984
Validation Loss: 0.6303 MAE: 160930.1406 RMSE: 321643.3750 R²: 0.1423
Epoch 182/200
Train Loss: 0.7472 MAE: 372025.8438 RMSE: 1098051.3750 R²: -0.3453
Validation Loss: 0.4184 MAE: 159994.5312 RMSE: 322837.7188 R²: 0.1360
Epoch 183/200
Train Loss: 0.5582 MAE: 261034.2812 RMSE: 962091.4375 R²: -0.0328
Validation Loss: 0.7292 MAE: 430913.0312 RMSE: 959121.6250 R²: -6.6263
Epoch 184/200
Train Loss: 0.5356 MAE: 256986.6406 RMSE: 941638.5625 R²: 0.0106
Validation Loss: 0.4641 MAE: 224205.6875 RMSE: 474270.5000 R²: -0.8647
Epoch 185/200
Train Loss: 0.5984 MAE: 295664.3125 RMSE: 966598.2500 R²: -0.0425
Validation Loss: 0.3660 MAE: 110208.8906 RMSE: 226541.0469 R²: 0.5745
Epoch 186/200
Train Loss: 0.7722 MAE: 381546.9688 RMSE: 1150542.6250 R²: -0.4770
Validation Loss: 0.3066 MAE: 110757.3984 RMSE: 226244.0625 R²: 0.5757
Epoch 187/200
Train Loss: 0.4389 MAE: 198513.5781 RMSE: 873803.0000 R²: 0.1480
Validation Loss: 0.2747 MAE: 88846.9453 RMSE: 183255.9688 R²: 0.7216
Epoch 188/200
Train Loss: 0.4491 MAE: 199502.5156 RMSE: 880009.0625 R²: 0.1359
Validation Loss: 0.2932 MAE: 80564.2969 RMSE: 171644.2969 R²: 0.7558
Epoch 189/200
Train Loss: 0.5977 MAE: 284538.3750 RMSE: 1028627.3750 R²: -0.1806
Validation Loss: 0.8808 MAE: 571123.5000 RMSE: 1306598.8750 R²: -13.1531
Epoch 190/200
Train Loss: 0.5413 MAE: 280375.3125 RMSE: 974062.8125 R²: -0.0587
Validation Loss: 0.2998 MAE: 107401.5625 RMSE: 219184.6250 R²: 0.6017
Epoch 196/200
Train Loss: 0.5344 MAE: 264654.0000 RMSE: 926124.6250 R²: 0.0430
Validation Loss: 0.2813 MAE: 91278.9062 RMSE: 187786.8906 R²: 0.7077
seaborn res1:就是普通没有加皮归一化的可视化100epoch,
原始结果:Val - Loss: 0.1552, MSE: 0.3646, MAE: 0.4279, R²: 0.9463
Saved best model with val_loss: 0.1552
加入原始值后(但感觉没加成功)Original scale - MAE: 0.4062, RMSE: 0.6424, R²: 0.9392
Val - Loss: 0.1624, MSE: 0.4127, MAE: 0.4062, R²: 0.9392
再加入早停:Original scale - MAE: 0.4376, RMSE: 0.6691, R²: 0.9340
Final Test Results:
Transformed scale - MSE: 0.4477, MAE: 0.4376, R²: 0.9340
Original scale - MSE: 0.4477, MAE: 0.4376, RMSE: 0.6691, R²: 0.9340
UNet++
1 | ✅ 评估完成!结果已保存到 evaluation_results/ 目录 |