{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "3a2c33ed-8f78-4ce4-b5cd-7b7ffc5c8273",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Using device: cuda\n"
]
}
],
"source": [
"import os\n",
"import numpy as np\n",
"import pandas as pd\n",
"import torch\n",
"import torch.nn as nn\n",
"import torch.optim as optim\n",
"from torch.utils.data import DataLoader, Dataset\n",
"from PIL import Image\n",
"import matplotlib.pyplot as plt\n",
"os.environ[\"CUDA_VISIBLE_DEVICE\"] = \"0\" \n",
"\n",
"\n",
"# 设置CUDA设备\n",
"device = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")\n",
"print(f\"Using device: {device}\")"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "85459fd1-6835-41cd-b645-553611c358e8",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Maximum pixel value in the dataset: 107.49169921875\n"
]
}
],
"source": [
"max_pixel_value = 107.49169921875\n",
"\n",
"print(f\"Maximum pixel value in the dataset: {max_pixel_value}\")"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "3fc0918e-103c-40a3-93bc-6171e934a7e4",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"checkpoint before Generator is OK\n"
]
}
],
"source": [
"class NO2Dataset(Dataset):\n",
" \n",
" def __init__(self, image_dir, mask_dir):\n",
" \n",
" self.image_dir = image_dir\n",
" self.mask_dir = mask_dir\n",
" self.image_filenames = [f for f in os.listdir(image_dir) if f.endswith('.npy')] # 仅加载 .npy 文件\n",
" self.mask_filenames = [f for f in os.listdir(mask_dir) if f.endswith('.jpg')] # 仅加载 .jpg 文件\n",
" \n",
" def __len__(self):\n",
" \n",
" return len(self.image_filenames)\n",
" \n",
" def __getitem__(self, idx):\n",
" \n",
" image_path = os.path.join(self.image_dir, self.image_filenames[idx])\n",
" mask_idx = idx % len(self.mask_filenames)\n",
" mask_path = os.path.join(self.mask_dir, self.mask_filenames[mask_idx])\n",
"\n",
" # 加载图像数据 (.npy 文件)\n",
" image = np.load(image_path).astype(np.float32) / max_pixel_value # 形状为 (96, 96, 8)\n",
"\n",
" # 加载掩码数据 (.jpg 文件)\n",
" mask = np.array(Image.open(mask_path).convert('L')).astype(np.float32)\n",
"\n",
" # 将掩码数据中非0值设为1,0值保持不变\n",
" mask = np.where(mask != 0, 1.0, 0.0)\n",
"\n",
" # 保持掩码数据形状为 (96, 96, 1)\n",
" mask = mask[:, :, np.newaxis] # 将形状调整为 (96, 96, 1)\n",
"\n",
" # 应用掩码\n",
" masked_image = image.copy()\n",
" masked_image[:, :, 0] = image[:, :, 0] * mask.squeeze() # 遮盖NO2数据\n",
"\n",
" # cGAN的输入和目标\n",
" X = np.concatenate([masked_image[:, :, :1], image[:, :, 1:]], axis=-1) # 形状为 (96, 96, 8)\n",
" y = image[:, :, 0:1] # 目标输出为NO2数据,形状为 (96, 96, 1)\n",
"\n",
" # 转换形状为 (channels, height, width)\n",
" X = np.transpose(X, (2, 0, 1)) # 转换为 (8, 96, 96)\n",
" y = np.transpose(y, (2, 0, 1)) # 转换为 (1, 96, 96)\n",
" mask = np.transpose(mask, (2, 0, 1)) # 转换为 (1, 96, 96)\n",
"\n",
" return torch.tensor(X, dtype=torch.float32), torch.tensor(y, dtype=torch.float32), torch.tensor(mask, dtype=torch.float32)\n",
"\n",
"# 实例化数据集和数据加载器\n",
"train_dir = './out_mat/96/train/'\n",
"valid_dir = './out_mat/96/valid/'\n",
"test_dir = './out_mat/96/test/'\n",
"mask_dir = './out_mat/96/mask/20/'\n",
"\n",
"print(f\"checkpoint before Generator is OK\")\n",
"\n",
"dataset = NO2Dataset(train_dir, mask_dir)\n",
"train_loader = DataLoader(dataset, batch_size=64, shuffle=True, num_workers=8)\n",
"\n",
"validset = NO2Dataset(valid_dir, mask_dir)\n",
"val_loader = DataLoader(validset, batch_size=64, shuffle=False, num_workers=8)\n",
"\n",
"testset = NO2Dataset(test_dir, mask_dir)\n",
"test_loader = DataLoader(testset, batch_size=64, shuffle=False, num_workers=8)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "a60b7019-f231-4ccb-9195-c459f3a1521d",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Generator is on: cuda:0\n",
"Discriminator is on: cuda:0\n"
]
}
],
"source": [
"# 生成器模型\n",
"class Generator(nn.Module):\n",
" \n",
" def __init__(self):\n",
" super(Generator, self).__init__()\n",
" self.encoder = nn.Sequential(\n",
" nn.Conv2d(8, 64, kernel_size=4, stride=2, padding=1),\n",
" nn.LeakyReLU(0.2, inplace=True),\n",
" nn.BatchNorm2d(64),\n",
" nn.Conv2d(64, 128, kernel_size=4, stride=2, padding=1),\n",
" nn.LeakyReLU(0.2, inplace=True),\n",
" nn.BatchNorm2d(128),\n",
" )\n",
" self.decoder = nn.Sequential(\n",
" nn.ConvTranspose2d(128, 64, kernel_size=4, stride=2, padding=1),\n",
" nn.ReLU(inplace=True),\n",
" nn.BatchNorm2d(64),\n",
" nn.ConvTranspose2d(64, 1, kernel_size=4, stride=2, padding=1),\n",
" nn.Tanh(),\n",
" )\n",
"\n",
" def forward(self, x):\n",
" x_encoded = self.encoder(x)\n",
" x_decoded = self.decoder(x_encoded)\n",
"\n",
"# x_decoded = (x_decoded + 1) / 2\n",
"\n",
"# x_output = (1 - mask) * x_decoded + mask * x[:, :1, :, :]\n",
" return x_output\n",
"\n",
"# 判别器模型\n",
"class Discriminator(nn.Module):\n",
" \n",
" def __init__(self):\n",
" super(Discriminator, self).__init__()\n",
" self.model = nn.Sequential(\n",
" nn.Conv2d(1, 64, kernel_size=4, stride=2, padding=1),\n",
" nn.LeakyReLU(0.2, inplace=True),\n",
" nn.BatchNorm2d(64),\n",
" nn.Conv2d(64, 128, kernel_size=4, stride=2, padding=1),\n",
" nn.LeakyReLU(0.2, inplace=True),\n",
" nn.BatchNorm2d(128),\n",
" nn.Conv2d(128, 1, kernel_size=4, stride=2, padding=1),\n",
" nn.Sigmoid(),\n",
" )\n",
"\n",
" def forward(self, x):\n",
" return self.model(x)\n",
"\n",
"# 将模型加载到GPU\n",
"generator = Generator().to(device)\n",
"discriminator = Discriminator().to(device)\n",
"\n",
"# 定义优化器和损失函数\n",
"optimizer_G = optim.Adam(generator.parameters(), lr=0.0002, betas=(0.5, 0.999))\n",
"optimizer_D = optim.Adam(discriminator.parameters(), lr=0.0002, betas=(0.5, 0.999))\n",
"adversarial_loss = nn.BCELoss().to(device)\n",
"pixelwise_loss = nn.MSELoss().to(device)\n",
"\n",
"# 确认模型是否在GPU上\n",
"print(f\"Generator is on: {next(generator.parameters()).device}\")\n",
"print(f\"Discriminator is on: {next(discriminator.parameters()).device}\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "645dd325-fc70-4234-8279-bc8cbc4c5dde",
"metadata": {},
"outputs": [],
"source": [
"# 开始训练\n",
"epochs = 150\n",
"for epoch in range(epochs):\n",
" for i, (X, y, mask) in enumerate(train_loader):\n",
" # 将数据移到 GPU 上\n",
" X, y, mask = X.to(device), y.to(device), mask.to(device)\n",
" # print(f\"X is on: {X.device}, y is on: {y.device}, mask is on: {mask.device}, i = {i}\") #checkpoint\n",
" \n",
" valid = torch.ones((X.size(0), 1, 12, 12)).to(device)\n",
" fake = torch.zeros((X.size(0), 1, 12, 12)).to(device)\n",
"\n",
" # 生成器生成图像\n",
" optimizer_G.zero_grad()\n",
" generated_images = generator(X, mask)\n",
" g_loss = adversarial_loss(discriminator(torch.cat((generated_images, X), dim=1)), valid) + 100 * pixelwise_loss(\n",
" generated_images, y)\n",
" g_loss.backward()\n",
" optimizer_G.step()\n",
"\n",
" # 判别器训练\n",
" optimizer_D.zero_grad()\n",
" real_loss = adversarial_loss(discriminator(torch.cat((y, X), dim=1)), valid)\n",
" fake_loss = adversarial_loss(discriminator(torch.cat((generated_images.detach(), X), dim=1)), fake)\n",
" d_loss = 0.5 * (real_loss + fake_loss)\n",
" d_loss.backward()\n",
" optimizer_D.step()\n",
"\n",
" print(f\"Epoch [{epoch}/{epochs}] [D loss: {d_loss.item()}] [G loss: {g_loss.item()}]\")\n",
"\n",
"# 保存训练好的模型\n",
"torch.save(generator.state_dict(), './models/GAN/generator.pth')\n",
"torch.save(discriminator.state_dict(), './models/GAN/discriminator.pth')"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "2d889a53-5415-4895-99ff-fc63745884a5",
"metadata": {},
"outputs": [],
"source": [
"from sklearn.metrics import mean_squared_error, r2_score, mean_absolute_percentage_error, mean_absolute_error"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "37f2df19-492c-4231-a388-13182ce515db",
"metadata": {},
"outputs": [],
"source": [
"def cal_ioa(y_true, y_pred):\n",
" # 计算平均值\n",
" mean_observed = np.mean(y_true)\n",
" mean_predicted = np.mean(y_pred)\n",
"\n",
" # 计算IoA\n",
" numerator = np.sum((y_true - y_pred) ** 2)\n",
" denominator = np.sum((np.abs(y_true - mean_observed) + np.abs(y_pred - mean_predicted)) ** 2)\n",
" IoA = 1 - (numerator / denominator)\n",
"\n",
" return IoA"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "0b93a2e7-c4fb-4611-9967-4e33f9982ad5",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"eva_list = list()\n",
"device = 'cpu'\n",
"generator = generator.to(device)\n",
"with torch.no_grad():\n",
" for batch_idx, (X, y, mask) in enumerate(test_loader):\n",
" X, y, mask = X.to(device), y.to(device), mask.to(device)\n",
" mask_rev = (torch.squeeze(mask, dim=1)==0) * 1 # mask取反获得修复区域\n",
" reconstructed = generator(X, mask)\n",
" rev_data = torch.squeeze(y * max_pixel_value, dim=1)\n",
" rev_recon = torch.squeeze(reconstructed * max_pixel_value, dim=1)\n",
" # todo: 这里需要只评估修补出来的模块\n",
" data_label = rev_data * mask_rev\n",
" data_label = data_label[mask_rev==1]\n",
" recon_no2 = rev_recon * mask_rev\n",
" recon_no2 = recon_no2[mask_rev==1]\n",
" y_true = rev_data.flatten()\n",
" y_pred = rev_recon.flatten()\n",
" mae = mean_absolute_error(y_true, y_pred)\n",
" rmse = np.sqrt(mean_squared_error(y_true, y_pred))\n",
" mape = mean_absolute_percentage_error(y_true, y_pred)\n",
" r2 = r2_score(y_true, y_pred)\n",
" ioa = cal_ioa(data_label.detach().numpy(), recon_no2.detach().numpy())\n",
" eva_list.append([mae, rmse, mape, r2, ioa])"
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "e7b3323f-7116-4d4e-8483-2fd605e2fb57",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" mae | \n",
" rmse | \n",
" mape | \n",
" r2 | \n",
" ioa | \n",
"
\n",
" \n",
" \n",
" \n",
" count | \n",
" 75.000000 | \n",
" 75.000000 | \n",
" 75.000000 | \n",
" 75.000000 | \n",
" 75.000000 | \n",
"
\n",
" \n",
" mean | \n",
" 0.399366 | \n",
" 1.246761 | \n",
" 0.047188 | \n",
" 0.963991 | \n",
" 0.939587 | \n",
"
\n",
" \n",
" std | \n",
" 0.071295 | \n",
" 0.220616 | \n",
" 0.005035 | \n",
" 0.018081 | \n",
" 0.026807 | \n",
"
\n",
" \n",
" min | \n",
" 0.348072 | \n",
" 1.073966 | \n",
" 0.040716 | \n",
" 0.813181 | \n",
" 0.719442 | \n",
"
\n",
" \n",
" 25% | \n",
" 0.372762 | \n",
" 1.154684 | \n",
" 0.043751 | \n",
" 0.963354 | \n",
" 0.938713 | \n",
"
\n",
" \n",
" 50% | \n",
" 0.388768 | \n",
" 1.207949 | \n",
" 0.045860 | \n",
" 0.966356 | \n",
" 0.943430 | \n",
"
\n",
" \n",
" 75% | \n",
" 0.402351 | \n",
" 1.274836 | \n",
" 0.050051 | \n",
" 0.968919 | \n",
" 0.947026 | \n",
"
\n",
" \n",
" max | \n",
" 0.959251 | \n",
" 2.966476 | \n",
" 0.066256 | \n",
" 0.972840 | \n",
" 0.956998 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" mae rmse mape r2 ioa\n",
"count 75.000000 75.000000 75.000000 75.000000 75.000000\n",
"mean 0.399366 1.246761 0.047188 0.963991 0.939587\n",
"std 0.071295 0.220616 0.005035 0.018081 0.026807\n",
"min 0.348072 1.073966 0.040716 0.813181 0.719442\n",
"25% 0.372762 1.154684 0.043751 0.963354 0.938713\n",
"50% 0.388768 1.207949 0.045860 0.966356 0.943430\n",
"75% 0.402351 1.274836 0.050051 0.968919 0.947026\n",
"max 0.959251 2.966476 0.066256 0.972840 0.956998"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pd.DataFrame(eva_list, columns=['mae', 'rmse', 'mape', 'r2', 'ioa']).describe()"
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "3c881732-b18f-4b6f-802a-1204d0ffa70f",
"metadata": {},
"outputs": [],
"source": [
"eva_list_frame = list()\n",
"best_mape = 1\n",
"best_img = None\n",
"best_mask = None\n",
"best_recov = None\n",
"with torch.no_grad():\n",
" for batch_idx, (X, y, mask) in enumerate(test_loader):\n",
" X, y, mask = X.to(device), y.to(device), mask.to(device)\n",
" mask_rev = (torch.squeeze(mask, dim=1)==0) * 1 # mask取反获得修复区域\n",
" reconstructed = generator(X, mask)\n",
" rev_data = y * max_pixel_value\n",
" rev_recon = reconstructed * max_pixel_value\n",
" # todo: 这里需要只评估修补出来的模块\n",
" for i, sample in enumerate(rev_data):\n",
" used_mask = mask_rev[i]\n",
" data_label = sample[0] * used_mask\n",
" recon_no2 = rev_recon[i][0] * used_mask\n",
" data_label = data_label[used_mask==1]\n",
" recon_no2 = recon_no2[used_mask==1]\n",
" mae = mean_absolute_error(data_label, recon_no2)\n",
" rmse = np.sqrt(mean_squared_error(data_label, recon_no2))\n",
" mape = mean_absolute_percentage_error(data_label, recon_no2)\n",
" r2 = r2_score(data_label, recon_no2)\n",
" ioa = cal_ioa(data_label.detach().numpy(), recon_no2.detach().numpy())\n",
" r = np.corrcoef(data_label, recon_no2)[0, 1]\n",
" eva_list_frame.append([mae, rmse, mape, r2, ioa, r])\n",
" if mape < best_mape:\n",
" best_recov = rev_recon[i][0].numpy()\n",
" best_mask = used_mask.numpy()\n",
" best_img = sample[0].numpy()\n",
" best_mape = mape"
]
},
{
"cell_type": "code",
"execution_count": 24,
"id": "d3f6851c-eba3-48d5-bf6e-f94290b3d56e",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" mae | \n",
" rmse | \n",
" mape | \n",
" r2 | \n",
" ioa | \n",
" r | \n",
"
\n",
" \n",
" \n",
" \n",
" count | \n",
" 4739.000000 | \n",
" 4739.000000 | \n",
" 4739.000000 | \n",
" 4739.000000 | \n",
" 4739.000000 | \n",
" 4739.000000 | \n",
"
\n",
" \n",
" mean | \n",
" 1.977856 | \n",
" 2.505394 | \n",
" 0.236766 | \n",
" 0.444234 | \n",
" 0.826185 | \n",
" 0.795505 | \n",
"
\n",
" \n",
" std | \n",
" 0.966137 | \n",
" 1.156947 | \n",
" 0.075139 | \n",
" 0.309037 | \n",
" 0.112186 | \n",
" 0.109227 | \n",
"
\n",
" \n",
" min | \n",
" 0.588599 | \n",
" 0.782554 | \n",
" 0.106112 | \n",
" -5.779783 | \n",
" -2.754070 | \n",
" 0.284676 | \n",
"
\n",
" \n",
" 25% | \n",
" 1.195541 | \n",
" 1.551567 | \n",
" 0.187231 | \n",
" 0.300401 | \n",
" 0.781712 | \n",
" 0.735376 | \n",
"
\n",
" \n",
" 50% | \n",
" 1.606092 | \n",
" 2.094027 | \n",
" 0.220013 | \n",
" 0.506733 | \n",
" 0.849549 | \n",
" 0.822590 | \n",
"
\n",
" \n",
" 75% | \n",
" 2.658243 | \n",
" 3.338708 | \n",
" 0.266574 | \n",
" 0.658528 | \n",
" 0.899010 | \n",
" 0.876813 | \n",
"
\n",
" \n",
" max | \n",
" 9.428754 | \n",
" 9.982598 | \n",
" 0.903847 | \n",
" 0.889351 | \n",
" 0.969285 | \n",
" 0.960868 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" mae rmse mape r2 ioa \\\n",
"count 4739.000000 4739.000000 4739.000000 4739.000000 4739.000000 \n",
"mean 1.977856 2.505394 0.236766 0.444234 0.826185 \n",
"std 0.966137 1.156947 0.075139 0.309037 0.112186 \n",
"min 0.588599 0.782554 0.106112 -5.779783 -2.754070 \n",
"25% 1.195541 1.551567 0.187231 0.300401 0.781712 \n",
"50% 1.606092 2.094027 0.220013 0.506733 0.849549 \n",
"75% 2.658243 3.338708 0.266574 0.658528 0.899010 \n",
"max 9.428754 9.982598 0.903847 0.889351 0.969285 \n",
"\n",
" r \n",
"count 4739.000000 \n",
"mean 0.795505 \n",
"std 0.109227 \n",
"min 0.284676 \n",
"25% 0.735376 \n",
"50% 0.822590 \n",
"75% 0.876813 \n",
"max 0.960868 "
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pd.DataFrame(eva_list_frame, columns=['mae', 'rmse', 'mape', 'r2', 'ioa', 'r']).describe()"
]
},
{
"cell_type": "code",
"execution_count": 26,
"id": "02827026-b34d-4859-a663-f799b88d4b54",
"metadata": {},
"outputs": [],
"source": [
"real_test = NO2Dataset('./out_mat/96/test/', mask_dir)\n",
"real_loader = DataLoader(real_test, batch_size=1, shuffle=True, num_workers=4)"
]
},
{
"cell_type": "code",
"execution_count": 28,
"id": "80fe1990-44c1-43c6-9c89-fba8f0f1b0ee",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"torch.Size([1, 8, 96, 96]) torch.Size([1, 1, 96, 96]) torch.Size([1, 1, 96, 96])\n",
"torch.Size([1, 8, 96, 96]) torch.Size([1, 1, 96, 96]) torch.Size([1, 1, 96, 96])\n",
"torch.Size([1, 8, 96, 96]) torch.Size([1, 1, 96, 96]) torch.Size([1, 1, 96, 96])\n",
"torch.Size([1, 8, 96, 96]) torch.Size([1, 1, 96, 96]) torch.Size([1, 1, 96, 96])\n",
"torch.Size([1, 8, 96, 96]) torch.Size([1, 1, 96, 96]) torch.Size([1, 1, 96, 96])\n"
]
}
],
"source": [
"for batch_idx, (X, y, mask) in enumerate(real_loader):\n",
" print(X.shape, y.shape, mask.shape)\n",
" np.save(f'./test_img/{batch_idx}-img.npy', X[0])\n",
" np.save(f'./test_img/{batch_idx}-mask.npy', mask[0])\n",
" np.save(f'./test_img/{batch_idx}-real.npy', y[0])\n",
" if batch_idx >=4:\n",
" break"
]
},
{
"cell_type": "code",
"execution_count": 72,
"id": "65241f09-7c50-48e1-a701-a3c4ba5e060c",
"metadata": {},
"outputs": [],
"source": [
"test_imgs = [x for x in os.listdir('./test_img/') if 'img' in x]\n",
"test_imgs.sort()\n",
"test_masks = [x for x in os.listdir('./test_img/') if 'mask' in x]\n",
"test_masks.sort()\n",
"for img_npy, mask_npy in zip(test_imgs, test_masks):\n",
" img = np.load(f'./test_img/{img_npy}')\n",
" img_in = torch.tensor(np.expand_dims(img, 0), dtype=torch.float32)\n",
" mask = np.load(f'./test_img/{mask_npy}')\n",
" mask_in = torch.tensor(np.expand_dims(mask, 0), dtype=torch.float32)\n",
" out = generator(img_in, mask_in).detach().cpu().numpy() * max_pixel_value"
]
},
{
"cell_type": "code",
"execution_count": 73,
"id": "d8594321-a526-4476-b72a-b377acdf10d7",
"metadata": {},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "code",
"execution_count": 74,
"id": "449919c5-a05d-42d5-9461-cecb860f8d5d",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 74,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.imshow(out[0][0], cmap='RdYlGn_r')"
]
},
{
"cell_type": "code",
"execution_count": 75,
"id": "c9affe45-bf88-4227-9eeb-55bd0dd8532f",
"metadata": {},
"outputs": [],
"source": [
"test_real = [x for x in os.listdir('./test_img/') if 'real' in x]\n",
"test_real.sort()"
]
},
{
"cell_type": "code",
"execution_count": 77,
"id": "ac9cb241-e3bb-44ed-aadd-b87439ae3d9b",
"metadata": {},
"outputs": [],
"source": [
"y_real = np.load(f'./test_img/{test_real[4]}')*max_pixel_value"
]
},
{
"cell_type": "code",
"execution_count": 78,
"id": "4e8425d2-e9a9-4200-940f-3aa14c36367a",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 78,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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zc3ZD/7gD9qv/uqvegU5NWcgm0E++clPZvV6PfvP//k/Z3/1V3+V/dt/+2+z5eXl7OTJk0UPbSa45pprsrvuuit74IEHsq997WvZP/tn/yw7cOBAtra2tnHOz/7sz2b79+/Pjh8/nt13333Za1/72ux1r3tdgaOeDe69997ssssuy37oh34ou/HGGzf+XfPlc+rUqeyFL3xh9lM/9VPZV77ylexb3/pW9qd/+qfZ3/7t326c8/73vz9bWlrKPv3pT2df//rXs5/4iZ/IDh48mHU6nQJHXhy33357tnPnzuwzn/lM9sgjj2R33313Nj8/n/3H//gfN87RnPnM5AL0mte8Jjty5MhGezQaZfv27cuOHTtW4KhmlyeeeCIzs+wLX/hClmVZdubMmaxWq2V33333xjl//dd/nZlZds899xQ1zMI5e/Zs9uIXvzj73Oc+l/3jf/yPNxYgzVfIL/3SL2Wvf/3rpx4fj8fZ3r17s9/8zd/c+LczZ85kjUYj+4M/+IP/G0OcOd74xjdmP/3TP+3921ve8pbsuuuuy7JMc7YZMxeC6/f7dv/999vhw4c3/q1cLtvhw4ftnnvuKXBks8vKyoqZme3YscPMzO6//34bDAbeHF5++eV24MCB5/UcHjlyxN74xjd682Km+dqMP/7jP7Yrr7zSfvInf9J2795tr3zlK+0jH/nIxvFHHnnETpw44c3Z0tKSXXXVVc/bOXvd615nx48ft4ceesjMzL7+9a/bF7/4RfuxH/sxM9OcbcbMVcN+8sknbTQa2Z49e7x/37Nnj/3N3/xNQaOaXcbjsd1000129dVX28tf/nIzMztx4oTV63VbXl72zt2zZ4+dOHGigFEWzyc/+Un7i7/4C/vqV78aHNN8hXzrW9+yD37wg3b06FH75V/+ZfvqV79q73znO61er9v111+/MS+b/Zw+X+fsPe95j62urtrll19ulUrFRqOR3X777XbdddeZmWnONmHmFiCRjyNHjtgDDzxgX/ziF4seyszy2GOP2Y033mif+9znrNlsFj2cZwXj8diuvPJKe9/73mdmZq985SvtgQcesA996EN2/fXXFzy62eQP//AP7eMf/7h94hOfsJe97GX2ta99zW666Sbbt2+f5mwKMxeC27Vrl1UqlWAH0smTJ23v3r0FjWo2ueGGG+wzn/mM/c//+T8918G9e/dav9+3M2fOeOc/X+fw/vvvtyeeeMJe9apXWbVatWq1al/4whfsAx/4gFWrVduzZ4/mC1xyySX20pe+1Pu3l7zkJfboo4+amW3Mi35OJ/ziL/6ivec977G3vvWt9opXvML+9b/+1/aud73Ljh07Zmaas82YuQWoXq/bFVdcYcePH9/4t/F4bMePH7dDhw4VOLLZIcsyu+GGG+xTn/qUff7zn7eDBw96x6+44gqr1WreHD744IP26KOPPi/n8A1veIN94xvfsK997Wsbf6688kq77rrrNv6u+fK5+uqrg639Dz30kL3whS80M7ODBw/a3r17vTlbXV21r3zlK8/bOWu324H7Z6VSsfF4bGaas00pehfEZnzyk5/MGo1G9vu///vZN7/5zewd73hHtry8nJ04caLooc0EP/dzP5ctLS1lf/Znf5Y9/vjjG3/a7fbGOT/7sz+bHThwIPv85z+f3XfffdmhQ4eyQ4cOFTjq2cLdBZdlmi9y7733ZtVqNbv99tuzhx9+OPv4xz+etVqt7L/8l/+ycc773//+bHl5OfujP/qj7C//8i+zN73pTc/rLcXXX3999gM/8AMb27D/23/7b9muXbuyd7/73RvnaM58ZnIByrIs+53f+Z3swIEDWb1ez17zmtdkX/7yl4se0sxgZpv+ueuuuzbO6XQ62c///M9n27dvz1qtVvYv/sW/yB5//PHiBj1jcAHSfIX89//+37OXv/zlWaPRyC6//PLswx/+sHd8PB5nt9xyS7Znz56s0Whkb3jDG7IHH3ywoNEWz+rqanbjjTdmBw4cyJrNZvaiF70o+/f//t9nvV5v4xzNmY/8gIQQQhTCzGlAQgghnh9oARJCCFEIWoCEEEIUghYgIYQQhaAFSAghRCFoARJCCFEIWoCEEEIUghYgIYQQhaAFSAghRCFoARJCCFEIWoCEEEIUwv8PUp0JtrJp30AAAAAASUVORK5CYII=",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.imshow(y_real[0], cmap='RdYlGn_r')"
]
},
{
"cell_type": "code",
"execution_count": 79,
"id": "f662e7a6-2edd-4602-a33b-cda8ac2fae00",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(96, 96)"
]
},
"execution_count": 79,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"(y_real[0] * mask[0] + out[0][0] * (1-mask[0])).shape"
]
},
{
"cell_type": "code",
"execution_count": 80,
"id": "78b86ce5-296a-498a-89d0-8ee6d9cdac27",
"metadata": {},
"outputs": [],
"source": [
"d = y_real[0] * mask[0] + out[0][0] * (1-mask[0])"
]
},
{
"cell_type": "code",
"execution_count": 81,
"id": "756f6f85-6b07-4295-b8e4-a6dc77752a56",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 81,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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YgA4H2KagN577z0W//73v6esrCwqLS2l73znO+T1eum5556jl19+mS6//HIiItq4cSNNnDiRPv30U7r00kv7b+QAADConVMOyOv1EhFRenrX3UalpaXU0dFBCxYsiLxmwoQJlJeXRzt27DjtPgKBAPl8PvYFAABD31lPQOFwmJYvX07z5s2jKVOmEBGRx+Mhi8VCqamp7LUul4s8ntNXLS4uLian0xn5ys3NPdshAQDAIHLW64AKCwtp//79tH379nMawIoVK6ioqCgS+3w+ys3NpUtHpZC5u6z/9hO8JYLME/h17QDCoiX33JwkFsvaY8suvpjFdX6+NiTVyt9/47o/9vq9DFUvv/n3c3r/9f+xK/L4n35wAdtW18brxjmtff9Kylp/si5gvi6np6/bR0TUKtYBAYBaZzUBLVu2jN5++2366KOPaNSoUZHn3W43BYNBampqYmdBNTU15Ha7T7MnIqvVSlar9bTbAABg6IrpEpymabRs2TLavHkzbd26lfLz89n2GTNmkNlsppKSkshz5eXlVFlZSQUFBf0zYgAAGBJiOgMqLCykl19+md58801KTk6O5HWcTifZ7XZyOp106623UlFREaWnp1NKSgr96le/ooKCAtwBBwAATEwT0NNPP01ERN/73vfY8xs3bqSbbrqJiIgef/xxMhgMtHjxYgoEAnTllVfSU089FfPARqdYyNq9jiNL1H77yifyALqckFHkh+aP5PXAKpv5XXajK2pZPPaZD2IeK3xz731wJKbXX37FOBbLnM/IZH75tqo50OtrTx1tiOmzAWBgxTQBaaLQ5+nYbDZav349rV+//qwHBQAAQx9qwQEAgBKYgAAAQIm47QcUCGmkdRchq23j6zlkfTarMSvyuKqZryu5OHMKi69I5e/VPEfPeawwcLaW8J/PD6+6kMUH6vkasbwUW+Rxg5//LgBAfMEZEAAAKIEJCAAAlIjbS3B7qlvJmNhVYueumRlsW72fX5Jr6+z97rzGAK9B97sjh1l866R55zJM6Gff/z6/7Vq24JaX1UYkmlnstEZvw5+YyVttlPXD+ACg/+AMCAAAlMAEBAAASmACAgAAJeI2B5SRaCJz9/X9v54IsG3BEG+5sONEtLyO28Fvs36i7CCLrUZenmXVro/OeazQf7Zs4bddz/72mD5f72nlLbr15Xc2/+VQv40LAPof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",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.imshow(out[0][0] * (1-mask[0]), cmap='RdYlGn_r')"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "04034e72-02be-42ec-9aca-a5eb28141453",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.16"
}
},
"nbformat": 4,
"nbformat_minor": 5
}