🚀 BẮT ĐẦU PIPELINE 2D PATCH-BASED & CLOUD REMOVAL (TEMPORAL 24-CHANNELS)
Loading 2D patches from dataset_cache/training_data_2d_temporal.joblib...
Training 2D CNN with Data Augmentation... Dataset shape: (706, 24, 16, 16)
Using device: cuda
Downloading: "https://download.pytorch.org/models/swin_t-704ceda3.pth" to /home/x79/.cache/torch/hub/checkpoints/swin_t-704ceda3.pth

  0%|          | 0.00/108M [00:00<?, ?B/s]
  1%|          | 768k/108M [00:00<00:15, 7.14MB/s]
  2%|▏         | 1.88M/108M [00:00<00:12, 8.96MB/s]
  3%|▎         | 3.12M/108M [00:00<00:10, 10.7MB/s]
  4%|▍         | 4.25M/108M [00:00<00:09, 11.0MB/s]
  5%|▌         | 5.50M/108M [00:00<00:09, 11.3MB/s]
  6%|▌         | 6.62M/108M [00:00<00:09, 11.4MB/s]
  7%|▋         | 7.75M/108M [00:00<00:09, 11.5MB/s]
  8%|▊         | 8.88M/108M [00:00<00:09, 11.5MB/s]
  9%|▉         | 10.0M/108M [00:00<00:08, 11.6MB/s]
 10%|█         | 11.1M/108M [00:01<00:08, 11.6MB/s]
 11%|█▏        | 12.2M/108M [00:01<00:08, 11.7MB/s]
 12%|█▏        | 13.4M/108M [00:01<00:08, 11.6MB/s]
 13%|█▎        | 14.5M/108M [00:01<00:08, 11.7MB/s]
 14%|█▍        | 15.6M/108M [00:01<00:08, 11.7MB/s]
 15%|█▌        | 16.8M/108M [00:01<00:08, 11.7MB/s]
 17%|█▋        | 18.0M/108M [00:01<00:08, 11.8MB/s]
 18%|█▊        | 19.1M/108M [00:01<00:07, 11.7MB/s]
 19%|█▊        | 20.2M/108M [00:01<00:07, 11.6MB/s]
 20%|█▉        | 21.5M/108M [00:01<00:07, 11.7MB/s]
 21%|██        | 22.8M/108M [00:02<00:07, 11.7MB/s]
 22%|██▏       | 24.0M/108M [00:02<00:07, 11.8MB/s]
 23%|██▎       | 25.1M/108M [00:02<00:07, 11.7MB/s]
 24%|██▍       | 26.4M/108M [00:02<00:07, 11.8MB/s]
 25%|██▌       | 27.5M/108M [00:02<00:07, 11.7MB/s]
 26%|██▋       | 28.6M/108M [00:02<00:07, 11.8MB/s]
 28%|██▊       | 29.9M/108M [00:02<00:06, 11.8MB/s]
 29%|██▉       | 31.1M/108M [00:02<00:06, 11.7MB/s]
 30%|██▉       | 32.2M/108M [00:02<00:06, 11.6MB/s]
 31%|███       | 33.5M/108M [00:03<00:06, 11.7MB/s]
 32%|███▏      | 34.8M/108M [00:03<00:06, 11.8MB/s]
 33%|███▎      | 36.0M/108M [00:03<00:06, 11.8MB/s]
 34%|███▍      | 37.1M/108M [00:03<00:06, 11.6MB/s]
 35%|███▌      | 38.2M/108M [00:03<00:06, 11.6MB/s]
 36%|███▋      | 39.4M/108M [00:03<00:06, 11.7MB/s]
 37%|███▋      | 40.5M/108M [00:03<00:06, 11.6MB/s]
 38%|███▊      | 41.6M/108M [00:03<00:06, 11.6MB/s]
 40%|███▉      | 42.8M/108M [00:03<00:05, 11.5MB/s]
 41%|████      | 43.9M/108M [00:03<00:05, 11.5MB/s]
 42%|████▏     | 45.0M/108M [00:04<00:05, 11.5MB/s]
 43%|████▎     | 46.1M/108M [00:04<00:05, 11.5MB/s]
 44%|████▎     | 47.2M/108M [00:04<00:05, 11.6MB/s]
 45%|████▍     | 48.4M/108M [00:04<00:05, 11.5MB/s]
 46%|████▌     | 49.5M/108M [00:04<00:05, 11.5MB/s]
 47%|████▋     | 50.6M/108M [00:04<00:05, 11.5MB/s]
 48%|████▊     | 51.8M/108M [00:04<00:05, 11.5MB/s]
 49%|████▉     | 52.9M/108M [00:04<00:05, 11.6MB/s]
 50%|████▉     | 54.0M/108M [00:04<00:04, 11.5MB/s]
 51%|█████     | 55.1M/108M [00:05<00:04, 11.3MB/s]
 52%|█████▏    | 56.2M/108M [00:05<00:04, 11.2MB/s]
 53%|█████▎    | 57.4M/108M [00:05<00:05, 10.4MB/s]
 54%|█████▍    | 58.5M/108M [00:06<00:13, 3.73MB/s]
 55%|█████▍    | 59.5M/108M [00:06<00:11, 4.51MB/s]
 56%|█████▌    | 60.6M/108M [00:06<00:08, 5.55MB/s]
 57%|█████▋    | 61.8M/108M [00:06<00:07, 6.57MB/s]
 58%|█████▊    | 62.9M/108M [00:06<00:06, 7.53MB/s]
 59%|█████▉    | 64.0M/108M [00:06<00:05, 8.44MB/s]
 60%|██████    | 65.1M/108M [00:06<00:04, 9.20MB/s]
 61%|██████    | 66.2M/108M [00:06<00:04, 9.82MB/s]
 62%|██████▏   | 67.4M/108M [00:06<00:04, 10.3MB/s]
 63%|██████▎   | 68.5M/108M [00:06<00:03, 10.7MB/s]
 64%|██████▍   | 69.6M/108M [00:07<00:03, 10.9MB/s]
 65%|██████▌   | 70.8M/108M [00:07<00:03, 11.1MB/s]
 66%|██████▋   | 71.9M/108M [00:07<00:03, 11.2MB/s]
 67%|██████▋   | 73.0M/108M [00:07<00:03, 11.3MB/s]
 69%|██████▊   | 74.1M/108M [00:07<00:03, 11.3MB/s]
 70%|██████▉   | 75.2M/108M [00:07<00:03, 11.4MB/s]
 71%|███████   | 76.4M/108M [00:07<00:02, 11.4MB/s]
 72%|███████▏  | 77.5M/108M [00:07<00:02, 11.5MB/s]
 73%|███████▎  | 78.8M/108M [00:07<00:02, 11.6MB/s]
 74%|███████▍  | 80.0M/108M [00:08<00:02, 11.7MB/s]
 75%|███████▍  | 81.1M/108M [00:08<00:02, 11.7MB/s]
 76%|███████▌  | 82.4M/108M [00:08<00:02, 11.7MB/s]
 77%|███████▋  | 83.5M/108M [00:08<00:02, 11.7MB/s]
 78%|███████▊  | 84.6M/108M [00:08<00:02, 11.2MB/s]
 79%|███████▉  | 86.0M/108M [00:08<00:01, 11.9MB/s]
 81%|████████  | 87.2M/108M [00:08<00:01, 11.8MB/s]
 82%|████████▏ | 88.5M/108M [00:08<00:01, 11.8MB/s]
 83%|████████▎ | 89.6M/108M [00:08<00:01, 11.7MB/s]
 84%|████████▍ | 90.8M/108M [00:08<00:01, 11.6MB/s]
 85%|████████▍ | 91.9M/108M [00:09<00:01, 11.6MB/s]
 86%|████████▌ | 93.0M/108M [00:09<00:01, 11.5MB/s]
 87%|████████▋ | 94.1M/108M [00:09<00:01, 11.5MB/s]
 88%|████████▊ | 95.2M/108M [00:09<00:01, 11.5MB/s]
 89%|████████▉ | 96.4M/108M [00:09<00:01, 11.5MB/s]
 90%|█████████ | 97.5M/108M [00:09<00:00, 11.5MB/s]
 91%|█████████ | 98.6M/108M [00:09<00:00, 11.4MB/s]
 92%|█████████▏| 99.8M/108M [00:09<00:00, 11.4MB/s]
 93%|█████████▎| 101M/108M [00:09<00:00, 11.4MB/s] 
 94%|█████████▍| 102M/108M [00:10<00:00, 11.5MB/s]
 95%|█████████▌| 103M/108M [00:10<00:00, 11.5MB/s]
 96%|█████████▋| 104M/108M [00:10<00:00, 11.4MB/s]
 97%|█████████▋| 105M/108M [00:10<00:00, 11.4MB/s]
 98%|█████████▊| 106M/108M [00:10<00:00, 11.5MB/s]
 99%|█████████▉| 108M/108M [00:10<00:00, 7.44MB/s]
100%|██████████| 108M/108M [00:10<00:00, 10.5MB/s]
Epoch 1/150 - Loss: 2.2017 - Test Acc: 0.2535 🌟
Epoch 2/150 - Loss: 1.8870 - Test Acc: 0.4225 🌟
Epoch 4/150 - Loss: 1.6594 - Test Acc: 0.5704 🌟
Epoch 6/150 - Loss: 1.4675 - Test Acc: 0.6761 🌟
Epoch 10/150 - Loss: 1.3412 - Test Acc: 0.6549
Epoch 14/150 - Loss: 1.2262 - Test Acc: 0.7042 🌟
Epoch 17/150 - Loss: 1.1685 - Test Acc: 0.7817 🌟
Epoch 20/150 - Loss: 1.1836 - Test Acc: 0.6690
Epoch 30/150 - Loss: 1.0356 - Test Acc: 0.7676
Epoch 38/150 - Loss: 0.9285 - Test Acc: 0.7887 🌟
Epoch 40/150 - Loss: 0.9587 - Test Acc: 0.8099 🌟
Epoch 50/150 - Loss: 0.8417 - Test Acc: 0.7887
Epoch 60/150 - Loss: 0.7836 - Test Acc: 0.7676
Epoch 70/150 - Loss: 0.7438 - Test Acc: 0.7817
Epoch 80/150 - Loss: 0.7344 - Test Acc: 0.7958
Epoch 90/150 - Loss: 0.7444 - Test Acc: 0.8028
Epoch 100/150 - Loss: 0.7439 - Test Acc: 0.8099
Epoch 110/150 - Loss: 0.7303 - Test Acc: 0.8099
Epoch 120/150 - Loss: 0.7313 - Test Acc: 0.7887
Epoch 130/150 - Loss: 0.7349 - Test Acc: 0.8028
Epoch 131/150 - Loss: 0.7304 - Test Acc: 0.8380 🌟
Epoch 140/150 - Loss: 0.7594 - Test Acc: 0.7606
Epoch 150/150 - Loss: 0.7580 - Test Acc: 0.7817
✅ Đã lưu mô hình đạt 0.8380 vào land_classification_model/model_cnn_2d_95.joblib
🎉 Hoàn tất quá trình! Check-point với Accuracy > 95% đã được lưu!
