From 6f81d12f11923b047726405f4dcf8f341d2b4e57 Mon Sep 17 00:00:00 2001 From: huachao Date: Mon, 21 Apr 2025 13:18:26 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=B5=8B=E8=AF=95binary=5Fcross=5Fentropy?= =?UTF-8?q?=E3=80=81binary=5Fcross=5Fentropy=5Fwith=5Flogits=E3=80=81l1=5F?= =?UTF-8?q?loss=E3=80=81mse=5Floss=E3=80=81grid=5Fsample?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/test_binary_cross_entropy.py | 478 +++++++++ test/test_binary_cross_entropy_with_logits.py | 616 ++++++++++++ test/test_grid_sample.py | 913 ++++++++++++++++++ test/test_l1_loss.py | 488 ++++++++++ test/test_mse_loss.py | 575 +++++++++++ 5 files changed, 3070 insertions(+) create mode 100644 test/test_binary_cross_entropy.py create mode 100644 test/test_binary_cross_entropy_with_logits.py create mode 100644 test/test_grid_sample.py create mode 100644 test/test_l1_loss.py create mode 100644 test/test_mse_loss.py diff --git a/test/test_binary_cross_entropy.py b/test/test_binary_cross_entropy.py new file mode 100644 index 0000000..26d6fef --- /dev/null +++ b/test/test_binary_cross_entropy.py @@ -0,0 +1,478 @@ +''' +dtype: + pytorch - float16, float32, float64 + mindspore - float16, float32 (和文档一致) +''' + + + + + +import numpy as np +import torch +import torch.nn.functional as F +import mindspore as ms +from mindspore import Tensor +import mindspore.mint.nn.functional as mint_F +import traceback + +# 设置全局精度容差 +TOLERANCE = 1e-3 + +def print_header(title): + print(f"\n{'='*80}\n{title}\n{'='*80}") + +def compare_outputs(pytorch_out, mindspore_out, name="输出"): + """比较两个框架的输出是否在容差范围内""" + pytorch_np = pytorch_out.detach().cpu().numpy() + mindspore_np = mindspore_out.asnumpy() + + max_diff = np.max(np.abs(pytorch_np - mindspore_np)) + mean_diff = np.mean(np.abs(pytorch_np - mindspore_np)) + + print(f"{name} 最大差异: {max_diff}") + print(f"{name} 平均差异: {mean_diff}") + + if max_diff < TOLERANCE: + print(f"✓ {name}在容差范围内一致 (< {TOLERANCE})") + return True + else: + print(f"✗ {name}超出容差范围 (> {TOLERANCE})") + return False + +def test_dtype_support(): + """测试不同数据类型的支持度""" + print_header("1.a) 测试不同数据类型(dtype)的支持度") + + shape = (3, 4) + dtypes_pytorch = [torch.float16, torch.float32, torch.float64, torch.bfloat16] + dtypes_mindspore = [ms.float16, ms.float32, ms.float64, ms.bfloat16] + + for pt_dtype, ms_dtype in zip(dtypes_pytorch, dtypes_mindspore): + print(f"\n测试数据类型: PyTorch {pt_dtype}, MindSpore {ms_dtype}") + + # 生成随机输入 (0-1之间的值用于BCE) + np_input = np.random.random(shape).astype(np.float32) + np_target = np.random.random(shape).astype(np.float32) + + try: + # PyTorch + pt_input = torch.tensor(np_input, dtype=pt_dtype) + pt_target = torch.tensor(np_target, dtype=pt_dtype) + pt_output = F.binary_cross_entropy(pt_input, pt_target, reduction='mean') + print(f"PyTorch 输出: {pt_output.item()}, shape: {pt_output.shape}") + pt_support = "支持" + except Exception as e: + print(f"PyTorch 错误: {str(e)}") + pt_support = "不支持" + + try: + # MindSpore + ms_input = Tensor(np_input, dtype=ms_dtype) + ms_target = Tensor(np_target, dtype=ms_dtype) + ms_output = mint_F.binary_cross_entropy(ms_input, ms_target, reduction='mean') + print(f"MindSpore 输出: {ms_output.asnumpy().item()}, shape: {ms_output.shape}") + ms_support = "支持" + except Exception as e: + print(f"MindSpore 错误: {str(e)}") + ms_support = "不支持" + + print(f"PyTorch: {pt_support}, MindSpore: {ms_support}") + +def test_random_inputs(): + """测试随机输入值的输出一致性""" + print_header("1.b) 测试随机输入值的输出一致性") + + shapes = [(2, 3), (3, 4, 5), (2, 3, 4, 5)] + + for shape in shapes: + print(f"\n测试shape: {shape}") + + # 生成随机输入 (0-1之间的值用于BCE) + np_input = np.random.random(shape).astype(np.float32) + np_target = np.random.random(shape).astype(np.float32) + + # PyTorch + pt_input = torch.tensor(np_input, requires_grad=True) + pt_target = torch.tensor(np_target) + pt_output = F.binary_cross_entropy(pt_input, pt_target, reduction='mean') + print(f"PyTorch 输出: {pt_output.item()}") + + # MindSpore + ms_input = Tensor(np_input, dtype=ms.float32) + ms_target = Tensor(np_target, dtype=ms.float32) + ms_output = mint_F.binary_cross_entropy(ms_input, ms_target, reduction='mean') + print(f"MindSpore 输出: {ms_output.asnumpy().item()}") + + compare_outputs(pt_output, ms_output) + + # 测试不同的reduction + for reduction in ['none', 'sum', 'mean']: + print(f"\n测试reduction: {reduction}") + + pt_output = F.binary_cross_entropy(pt_input, pt_target, reduction=reduction) + ms_output = mint_F.binary_cross_entropy(ms_input, ms_target, reduction=reduction) + + compare_outputs(pt_output, ms_output, f"reduction={reduction}") + +def test_param_support(): + """测试不同参数类型的支持度""" + print_header("1.c) 测试不同参数类型的支持度") + + shape = (3, 4) + np_input = np.random.random(shape).astype(np.float32) + np_target = np.random.random(shape).astype(np.float32) + np_weight = np.random.random(shape).astype(np.float32) + + # 基本输入 + pt_input = torch.tensor(np_input) + pt_target = torch.tensor(np_target) + pt_weight = torch.tensor(np_weight) + + ms_input = Tensor(np_input, dtype=ms.float32) + ms_target = Tensor(np_target, dtype=ms.float32) + ms_weight = Tensor(np_weight, dtype=ms.float32) + + # 测试不同reduction参数 + reductions = ['none', 'sum', 'mean', 'INVALID'] + + for reduction in reductions: + print(f"\n测试reduction参数: '{reduction}'") + + try: + pt_output = F.binary_cross_entropy(pt_input, pt_target, weight=pt_weight, reduction=reduction) + print(f"PyTorch: 支持 reduction='{reduction}'") + except Exception as e: + print(f"PyTorch 错误: {str(e)}") + + try: + ms_output = mint_F.binary_cross_entropy(ms_input, ms_target, weight=ms_weight, reduction=reduction) + print(f"MindSpore: 支持 reduction='{reduction}'") + except Exception as e: + print(f"MindSpore 错误: {str(e)}") + + # 测试权重参数 + print("\n测试weight参数:") + + # 有权重 + try: + pt_output = F.binary_cross_entropy(pt_input, pt_target, weight=pt_weight) + print("PyTorch: 支持带权重") + except Exception as e: + print(f"PyTorch 错误: {str(e)}") + + try: + ms_output = mint_F.binary_cross_entropy(ms_input, ms_target, weight=ms_weight) + print("MindSpore: 支持带权重") + except Exception as e: + print(f"MindSpore 错误: {str(e)}") + + # 无权重 + try: + pt_output = F.binary_cross_entropy(pt_input, pt_target, weight=None) + print("PyTorch: 支持无权重") + except Exception as e: + print(f"PyTorch 错误: {str(e)}") + + try: + ms_output = mint_F.binary_cross_entropy(ms_input, ms_target, weight=None) + print("MindSpore: 支持无权重") + except Exception as e: + print(f"MindSpore 错误: {str(e)}") + +def test_error_handling(): + """测试错误处理的准确性""" + print_header("1.d) 测试错误处理的准确性") + + # 测试输入和目标形状不匹配 + print("\n测试输入和目标形状不匹配:") + + pt_input = torch.rand(2, 3) + pt_target = torch.rand(3, 2) + + ms_input = Tensor(np.random.random((2, 3)), dtype=ms.float32) + ms_target = Tensor(np.random.random((3, 2)), dtype=ms.float32) + + try: + pt_output = F.binary_cross_entropy(pt_input, pt_target) + print("PyTorch结果:", pt_output.item()) + except Exception as e: + print(f"PyTorch错误: {str(e)}") + + try: + ms_output = mint_F.binary_cross_entropy(ms_input, ms_target) + print("MindSpore结果:", ms_output.asnumpy().item()) + except Exception as e: + print(f"MindSpore错误: {str(e)}") + + # 测试错误的输入类型 + print("\n测试错误的输入类型:") + + # 字符串输入 + try: + pt_output = F.binary_cross_entropy(pt_input, "wrong_target") + print("PyTorch支持字符串输入") + except Exception as e: + print(f"PyTorch错误: {type(e).__name__}: {str(e)}") + + try: + ms_output = mint_F.binary_cross_entropy(ms_input, "wrong_target") + print("MindSpore支持字符串输入") + except Exception as e: + print(f"MindSpore错误: {type(e).__name__}: {str(e)}") + + # 测试超出范围的值 + print("\n测试超出[0,1]范围的值:") + + pt_bad_input = torch.tensor([[-1.0, 0.5], [0.8, 2.0]]) + pt_bad_target = torch.tensor([[0.1, 0.2], [0.3, 0.4]]) + + ms_bad_input = Tensor(np.array([[-1.0, 0.5], [0.8, 2.0]]), dtype=ms.float32) + ms_bad_target = Tensor(np.array([[0.1, 0.2], [0.3, 0.4]]), dtype=ms.float32) + + try: + pt_output = F.binary_cross_entropy(pt_bad_input, pt_bad_target) + print(f"PyTorch结果: {pt_output.item()}") + except Exception as e: + print(f"PyTorch错误: {str(e)}") + + try: + ms_output = mint_F.binary_cross_entropy(ms_bad_input, ms_bad_target) + print(f"MindSpore结果: {ms_output.asnumpy().item()}") + except Exception as e: + print(f"MindSpore错误: {str(e)}") + +def test_nn_implementation(): + """测试神经网络实现""" + print_header("2.a/b) 测试神经网络实现和推理结果") + + # 简单的二分类网络 + class PTBinaryClassifier(torch.nn.Module): + def __init__(self, input_dim): + super(PTBinaryClassifier, self).__init__() + self.linear = torch.nn.Linear(input_dim, 1) + self.sigmoid = torch.nn.Sigmoid() + + def forward(self, x, target=None): + output = self.sigmoid(self.linear(x)) + if target is not None: + loss = F.binary_cross_entropy(output, target) + return loss + return output + + class MSBinaryClassifier(ms.nn.Cell): + def __init__(self, input_dim): + super(MSBinaryClassifier, self).__init__() + self.linear = ms.nn.Dense(input_dim, 1) + self.sigmoid = ms.nn.Sigmoid() + + def construct(self, x, target=None): + output = self.sigmoid(self.linear(x)) + if target is not None: + loss = mint_F.binary_cross_entropy(output, target) + return loss + return output + + # 固定输入和权重 + input_dim = 5 + batch_size = 3 + + np_input = np.random.random((batch_size, input_dim)).astype(np.float32) + np_target = np.random.random((batch_size, 1)).astype(np.float32) + + # 创建模型 + pt_model = PTBinaryClassifier(input_dim) + ms_model = MSBinaryClassifier(input_dim) + + # 固定权重 + np_weight = np.random.random((input_dim, 1)).astype(np.float32) + np_bias = np.random.random(1).astype(np.float32) + + pt_model.linear.weight.data = torch.tensor(np_weight).t() + pt_model.linear.bias.data = torch.tensor(np_bias) + + ms_model.linear.weight.set_data(Tensor(np_weight.T, dtype=ms.float32)) + ms_model.linear.bias.set_data(Tensor(np_bias, dtype=ms.float32)) + + # 前向传播测试 + pt_input = torch.tensor(np_input) + pt_target = torch.tensor(np_target) + + ms_input = Tensor(np_input, dtype=ms.float32) + ms_target = Tensor(np_target, dtype=ms.float32) + + # 输出测试 + pt_output = pt_model(pt_input) + ms_output = ms_model(ms_input) + + print("测试模型输出:") + compare_outputs(pt_output, ms_output, "模型输出") + + # 损失测试 + pt_loss = pt_model(pt_input, pt_target) + ms_loss = ms_model(ms_input, ms_target) + + print("\n测试模型损失:") + compare_outputs(pt_loss, ms_loss, "损失值") + +def test_gradient(): + """测试反向传播和梯度计算""" + print_header("2.c) 测试反向传播和梯度计算") + + # 函数的梯度测试 + shape = (3, 4) + np_input = np.random.random(shape).astype(np.float32) + np_target = np.random.random(shape).astype(np.float32) + + # PyTorch + pt_input = torch.tensor(np_input, requires_grad=True) + pt_target = torch.tensor(np_target) + pt_output = F.binary_cross_entropy(pt_input, pt_target) + pt_output.backward() + pt_grad = pt_input.grad + + print("PyTorch梯度:") + print(f"形状: {pt_grad.shape}") + print(f"平均值: {pt_grad.mean().item()}") + + # MindSpore - 创建一个计算图用于计算梯度 + ms_input = ms.Parameter(Tensor(np_input, dtype=ms.float32)) + ms_target = Tensor(np_target, dtype=ms.float32) + + def forward_fn(x, target): + return mint_F.binary_cross_entropy(x, target) + + grad_fn = ms.grad(forward_fn) + ms_grad = grad_fn(ms_input, ms_target) + + print("\nMindSpore梯度:") + print(f"形状: {ms_grad.shape}") + print(f"平均值: {ms_grad.asnumpy().mean()}") + + # 比较梯度 + compare_outputs(pt_grad, ms_grad, "梯度") + + # 神经网络的参数梯度测试 + print("\n测试神经网络参数梯度:") + + input_dim = 5 + hidden_dim = 3 + batch_size = 4 + + class PTSimpleNet(torch.nn.Module): + def __init__(self): + super(PTSimpleNet, self).__init__() + self.fc1 = torch.nn.Linear(input_dim, hidden_dim) + self.fc2 = torch.nn.Linear(hidden_dim, 1) + self.sigmoid = torch.nn.Sigmoid() + + def forward(self, x, target=None): + h = torch.nn.functional.relu(self.fc1(x)) + output = self.sigmoid(self.fc2(h)) + if target is not None: + loss = F.binary_cross_entropy(output, target) + return loss + return output + + class MSSimpleNet(ms.nn.Cell): + def __init__(self): + super(MSSimpleNet, self).__init__() + self.fc1 = ms.nn.Dense(input_dim, hidden_dim) + self.fc2 = ms.nn.Dense(hidden_dim, 1) + self.relu = ms.nn.ReLU() + self.sigmoid = ms.nn.Sigmoid() + + def construct(self, x, target=None): + h = self.relu(self.fc1(x)) + output = self.sigmoid(self.fc2(h)) + if target is not None: + loss = mint_F.binary_cross_entropy(output, target) + return loss + return output + + # 创建模型 + pt_net = PTSimpleNet() + ms_net = MSSimpleNet() + + # 固定权重 + np_fc1_weight = np.random.random((hidden_dim, input_dim)).astype(np.float32) + np_fc1_bias = np.random.random(hidden_dim).astype(np.float32) + np_fc2_weight = np.random.random((1, hidden_dim)).astype(np.float32) + np_fc2_bias = np.random.random(1).astype(np.float32) + + pt_net.fc1.weight.data = torch.tensor(np_fc1_weight) + pt_net.fc1.bias.data = torch.tensor(np_fc1_bias) + pt_net.fc2.weight.data = torch.tensor(np_fc2_weight) + pt_net.fc2.bias.data = torch.tensor(np_fc2_bias) + + ms_net.fc1.weight.set_data(Tensor(np_fc1_weight, dtype=ms.float32)) + ms_net.fc1.bias.set_data(Tensor(np_fc1_bias, dtype=ms.float32)) + ms_net.fc2.weight.set_data(Tensor(np_fc2_weight, dtype=ms.float32)) + ms_net.fc2.bias.set_data(Tensor(np_fc2_bias, dtype=ms.float32)) + + # 准备输入和目标 + np_net_input = np.random.random((batch_size, input_dim)).astype(np.float32) + np_net_target = np.random.random((batch_size, 1)).astype(np.float32) + + pt_net_input = torch.tensor(np_net_input) + pt_net_target = torch.tensor(np_net_target) + + ms_net_input = Tensor(np_net_input, dtype=ms.float32) + ms_net_target = Tensor(np_net_target, dtype=ms.float32) + + # PyTorch计算梯度 + pt_optimizer = torch.optim.SGD(pt_net.parameters(), lr=0.1) + pt_optimizer.zero_grad() + pt_loss = pt_net(pt_net_input, pt_net_target) + pt_loss.backward() + + # 获取PyTorch梯度 + pt_fc1_weight_grad = pt_net.fc1.weight.grad.numpy() + pt_fc1_bias_grad = pt_net.fc1.bias.grad.numpy() + pt_fc2_weight_grad = pt_net.fc2.weight.grad.numpy() + pt_fc2_bias_grad = pt_net.fc2.bias.grad.numpy() + + print("PyTorch网络梯度:") + print(f"fc1.weight梯度平均值: {pt_fc1_weight_grad.mean()}") + print(f"fc1.bias梯度平均值: {pt_fc1_bias_grad.mean()}") + print(f"fc2.weight梯度平均值: {pt_fc2_weight_grad.mean()}") + print(f"fc2.bias梯度平均值: {pt_fc2_bias_grad.mean()}") + + # MindSpore计算梯度 + def ms_forward_fn(inputs, targets): + return ms_net(inputs, targets) + + ms_grad_fn = ms.value_and_grad(ms_forward_fn, None, ms_net.trainable_params()) + ms_loss, ms_grads = ms_grad_fn(ms_net_input, ms_net_target) + + print("\nMindSpore网络梯度:") + for i, param in enumerate(ms_net.trainable_params()): + print(f"{param.name} 梯度平均值: {ms_grads[i].asnumpy().mean()}") + + # 比较具体参数的梯度 (注意可能需要转置比较) + print("\n比较fc2.weight梯度:") + ms_fc2_weight_grad = None + for i, param in enumerate(ms_net.trainable_params()): + if 'fc2.weight' in param.name: + ms_fc2_weight_grad = ms_grads[i] + break + + if ms_fc2_weight_grad is not None: + # 注意MindSpore和PyTorch的权重矩阵可能需要转置后比较 + ms_fc2_weight_grad_np = ms_fc2_weight_grad.asnumpy() + max_diff = np.max(np.abs(ms_fc2_weight_grad_np - pt_fc2_weight_grad)) + print(f"fc2.weight梯度最大差异: {max_diff}") + if max_diff < TOLERANCE: + print(f"✓ fc2.weight梯度在容差范围内一致 (< {TOLERANCE})") + else: + print(f"✗ fc2.weight梯度超出容差范围 (> {TOLERANCE})") + +if __name__ == "__main__": + # 运行所有测试 + test_dtype_support() + test_random_inputs() + test_param_support() + # test_error_handling() + test_nn_implementation() + test_gradient() + test_error_handling() diff --git a/test/test_binary_cross_entropy_with_logits.py b/test/test_binary_cross_entropy_with_logits.py new file mode 100644 index 0000000..eab86ff --- /dev/null +++ b/test/test_binary_cross_entropy_with_logits.py @@ -0,0 +1,616 @@ +''' +dtype: + pytorch - float16, float32, float64, bfloat16 + mindspore - float16, float32, bfloat16 + +pos_weight: + pos_weight shape与target shape不一致时 mindspore直到使用输出值时才报错 + 代码: + ms_output = mint_F.binary_cross_entropy_with_logits(ms_input, ms_target, pos_weight=ms_wrong_pos_weight) + print("MindSpore支持不匹配的pos_weight尺寸") + print(f"结果为{ms_output}") # 在这一行才报错 +''' + + +import numpy as np +import torch +import torch.nn.functional as F +import mindspore as ms +from mindspore import Tensor +import mindspore.mint.nn.functional as mint_F +import traceback + +# 设置全局精度容差 +TOLERANCE = 1e-3 + +def print_header(title): + print(f"\n{'='*80}\n{title}\n{'='*80}") + +def compare_outputs(pytorch_out, mindspore_out, name="输出"): + """比较两个框架的输出是否在容差范围内""" + pytorch_np = pytorch_out.detach().cpu().numpy() + mindspore_np = mindspore_out.asnumpy() + + max_diff = np.max(np.abs(pytorch_np - mindspore_np)) + mean_diff = np.mean(np.abs(pytorch_np - mindspore_np)) + + print(f"{name} 最大差异: {max_diff}") + print(f"{name} 平均差异: {mean_diff}") + + if max_diff < TOLERANCE: + print(f"✓ {name}在容差范围内一致 (< {TOLERANCE})") + return True + else: + print(f"✗ {name}超出容差范围 (> {TOLERANCE})") + return False + +def test_dtype_support(): + """测试不同数据类型的支持度""" + print_header("1.a) 测试不同数据类型(dtype)的支持度") + + shape = (3, 4) + # 添加bf16数据类型 + dtypes_pytorch = [torch.float16, torch.float32, torch.float64, torch.bfloat16] + dtypes_mindspore = [ms.float16, ms.float32, ms.float64, ms.bfloat16] + dtype_names = ["float16", "float32", "float64", "bfloat16"] + + for pt_dtype, ms_dtype, dtype_name in zip(dtypes_pytorch, dtypes_mindspore, dtype_names): + print(f"\n测试数据类型: PyTorch {dtype_name}, MindSpore {dtype_name}") + + # 生成随机输入 (对于logits可以是任何实数) + np_input = np.random.randn(*shape).astype(np.float32) + np_target = np.random.random(shape).astype(np.float32) # 目标在[0,1]范围内 + + try: + # PyTorch + pt_input = torch.tensor(np_input, dtype=pt_dtype) + pt_target = torch.tensor(np_target, dtype=pt_dtype) + pt_output = F.binary_cross_entropy_with_logits(pt_input, pt_target, reduction='mean') + print(f"PyTorch 输出: {pt_output.item()}, shape: {pt_output.shape}") + pt_support = "支持" + except Exception as e: + print(f"PyTorch 错误: {type(e).__name__}: {str(e)}") + pt_support = "不支持" + + try: + # MindSpore + ms_input = Tensor(np_input, dtype=ms_dtype) + ms_target = Tensor(np_target, dtype=ms_dtype) + ms_output = mint_F.binary_cross_entropy_with_logits(ms_input, ms_target, reduction='mean') + print(f"MindSpore 输出: {ms_output.asnumpy().item()}, shape: {ms_output.shape}") + ms_support = "支持" + except Exception as e: + print(f"MindSpore 错误: {type(e).__name__}: {str(e)}") + ms_support = "不支持" + + print(f"PyTorch {dtype_name}: {pt_support}, MindSpore {dtype_name}: {ms_support}") + + +def test_random_inputs(): + """测试随机输入值的输出一致性""" + print_header("1.b) 测试随机输入值的输出一致性") + + shapes = [(2, 3), (3, 4, 5), (2, 3, 4, 5)] + + for shape in shapes: + print(f"\n测试shape: {shape}") + + # 生成随机输入 + np_input = np.random.randn(*shape).astype(np.float32) + np_target = np.random.random(shape).astype(np.float32) + + # PyTorch + pt_input = torch.tensor(np_input, requires_grad=True) + pt_target = torch.tensor(np_target) + pt_output = F.binary_cross_entropy_with_logits(pt_input, pt_target, reduction='mean') + print(f"PyTorch 输出: {pt_output.item()}") + + # MindSpore + ms_input = Tensor(np_input, dtype=ms.float32) + ms_target = Tensor(np_target, dtype=ms.float32) + ms_output = mint_F.binary_cross_entropy_with_logits(ms_input, ms_target, reduction='mean') + print(f"MindSpore 输出: {ms_output.asnumpy().item()}") + + compare_outputs(pt_output, ms_output) + + # 测试不同的reduction + for reduction in ['none', 'sum', 'mean']: + print(f"\n测试reduction: {reduction}") + + pt_output = F.binary_cross_entropy_with_logits(pt_input, pt_target, reduction=reduction) + ms_output = mint_F.binary_cross_entropy_with_logits(ms_input, ms_target, reduction=reduction) + + compare_outputs(pt_output, ms_output, f"reduction={reduction}") + +def test_param_support(): + """测试不同参数类型的支持度""" + print_header("1.c) 测试不同参数类型的支持度") + + shape = (3, 4) + np_input = np.random.randn(*shape).astype(np.float32) + np_target = np.random.random(shape).astype(np.float32) + np_weight = np.random.random(shape).astype(np.float32) + np_pos_weight = np.random.random(shape[1:]).astype(np.float32) * 2 # pos_weight通常在最后一维匹配 + + # 基本输入 + pt_input = torch.tensor(np_input) + pt_target = torch.tensor(np_target) + pt_weight = torch.tensor(np_weight) + pt_pos_weight = torch.tensor(np_pos_weight) + + ms_input = Tensor(np_input, dtype=ms.float32) + ms_target = Tensor(np_target, dtype=ms.float32) + ms_weight = Tensor(np_weight, dtype=ms.float32) + ms_pos_weight = Tensor(np_pos_weight, dtype=ms.float32) + + # 测试不同reduction参数 + reductions = ['none', 'sum', 'mean', 'INVALID'] + + for reduction in reductions: + print(f"\n测试reduction参数: '{reduction}'") + + try: + pt_output = F.binary_cross_entropy_with_logits(pt_input, pt_target, weight=pt_weight, reduction=reduction) + print(f"PyTorch: 支持 reduction='{reduction}'") + except Exception as e: + print(f"PyTorch 错误: {str(e)}") + + try: + ms_output = mint_F.binary_cross_entropy_with_logits(ms_input, ms_target, weight=ms_weight, reduction=reduction) + print(f"MindSpore: 支持 reduction='{reduction}'") + except Exception as e: + print(f"MindSpore 错误: {str(e)}") + + # 测试权重参数 + print("\n测试weight参数:") + + # 使用随机权重进行多次测试 + num_tests = 3 # 测试3组不同的随机权重 + for i in range(num_tests): + # 生成新的随机权重 + np_random_weight = np.random.random(shape).astype(np.float32) + np_random_pos_weight = np.random.random(shape[1:]).astype(np.float32) * 5.0 # 0~5范围的随机值 + + pt_random_weight = torch.tensor(np_random_weight) + ms_random_weight = Tensor(np_random_weight, dtype=ms.float32) + pt_random_pos_weight = torch.tensor(np_random_pos_weight) + ms_random_pos_weight = Tensor(np_random_pos_weight, dtype=ms.float32) + + print(f"\n测试随机weight组 #{i+1}:") + print(f"随机weight平均值: {np_random_weight.mean():.4f}") + + try: + pt_output = F.binary_cross_entropy_with_logits(pt_input, pt_target, weight=pt_random_weight) + print(f"PyTorch weight输出: {pt_output.item():.6f}") + pt_weight_ok = True + except Exception as e: + print(f"PyTorch 错误: {str(e)}") + pt_weight_ok = False + + try: + ms_output = mint_F.binary_cross_entropy_with_logits(ms_input, ms_target, weight=ms_random_weight) + print(f"MindSpore weight输出: {ms_output.asnumpy().item():.6f}") + ms_weight_ok = True + except Exception as e: + print(f"MindSpore 错误: {str(e)}") + ms_weight_ok = False + + if pt_weight_ok and ms_weight_ok: + compare_outputs(pt_output, ms_output, f"随机weight #{i+1}输出") + + # 测试pos_weight + print(f"\n测试随机pos_weight组 #{i+1}:") + print(f"随机pos_weight平均值: {np_random_pos_weight.mean():.4f}") + + try: + pt_output = F.binary_cross_entropy_with_logits(pt_input, pt_target, pos_weight=pt_random_pos_weight) + print(f"PyTorch pos_weight输出: {pt_output.item():.6f}") + pt_pos_weight_ok = True + except Exception as e: + print(f"PyTorch 错误: {str(e)}") + pt_pos_weight_ok = False + + try: + ms_output = mint_F.binary_cross_entropy_with_logits(ms_input, ms_target, pos_weight=ms_random_pos_weight) + print(f"MindSpore pos_weight输出: {ms_output.asnumpy().item():.6f}") + ms_pos_weight_ok = True + except Exception as e: + print(f"MindSpore 错误: {str(e)}") + ms_pos_weight_ok = False + + if pt_pos_weight_ok and ms_pos_weight_ok: + compare_outputs(pt_output, ms_output, f"随机pos_weight #{i+1}输出") + + # 同时测试weight和pos_weight + print(f"\n同时测试随机weight和pos_weight组 #{i+1}:") + + try: + pt_output = F.binary_cross_entropy_with_logits( + pt_input, pt_target, weight=pt_random_weight, pos_weight=pt_random_pos_weight) + print(f"PyTorch weight+pos_weight输出: {pt_output.item():.6f}") + pt_both_ok = True + except Exception as e: + print(f"PyTorch 错误: {str(e)}") + pt_both_ok = False + + try: + ms_output = mint_F.binary_cross_entropy_with_logits( + ms_input, ms_target, weight=ms_random_weight, pos_weight=ms_random_pos_weight) + print(f"MindSpore weight+pos_weight输出: {ms_output.asnumpy().item():.6f}") + ms_both_ok = True + except Exception as e: + print(f"MindSpore 错误: {str(e)}") + ms_both_ok = False + + if pt_both_ok and ms_both_ok: + compare_outputs(pt_output, ms_output, f"随机weight+pos_weight #{i+1}输出") + + # 基本的支持测试 + print("\n基本权重支持测试:") + + # 有权重 + try: + pt_output = F.binary_cross_entropy_with_logits(pt_input, pt_target, weight=pt_weight) + print("PyTorch: 支持带权重") + except Exception as e: + print(f"PyTorch 错误: {str(e)}") + + try: + ms_output = mint_F.binary_cross_entropy_with_logits(ms_input, ms_target, weight=ms_weight) + print("MindSpore: 支持带权重") + except Exception as e: + print(f"MindSpore 错误: {str(e)}") + + # 无权重 + try: + pt_output = F.binary_cross_entropy_with_logits(pt_input, pt_target, weight=None) + print("PyTorch: 支持无权重") + except Exception as e: + print(f"PyTorch 错误: {str(e)}") + + try: + ms_output = mint_F.binary_cross_entropy_with_logits(ms_input, ms_target, weight=None) + print("MindSpore: 支持无权重") + except Exception as e: + print(f"MindSpore 错误: {str(e)}") + +def test_error_handling(): + """测试错误处理的准确性""" + print_header("1.d) 测试错误处理的准确性") + + # 测试输入和目标形状不匹配 + print("\n测试输入和目标形状不匹配:") + + pt_input = torch.randn(2, 3) + pt_target = torch.randn(3, 2) + + ms_input = Tensor(np.random.randn(2, 3), dtype=ms.float32) + ms_target = Tensor(np.random.randn(3, 2), dtype=ms.float32) + + try: + pt_output = F.binary_cross_entropy_with_logits(pt_input, pt_target) + print("PyTorch结果:", pt_output.item()) + except Exception as e: + print(f"PyTorch错误: {str(e)}") + + try: + ms_output = mint_F.binary_cross_entropy_with_logits(ms_input, ms_target) + print("MindSpore结果:", ms_output.asnumpy().item()) + except Exception as e: + print(f"MindSpore错误: {str(e)}") + + # 测试错误的输入类型 + print("\n测试错误的输入类型:") + + # 字符串输入 + try: + pt_output = F.binary_cross_entropy_with_logits(pt_input, "wrong_target") + print("PyTorch支持字符串输入") + except Exception as e: + print(f"PyTorch错误: {type(e).__name__}: {str(e)}") + + try: + ms_output = mint_F.binary_cross_entropy_with_logits(ms_input, "wrong_target") + print("MindSpore支持字符串输入") + except Exception as e: + print(f"MindSpore错误: {type(e).__name__}: {str(e)}") + + # 测试不正确尺寸的pos_weight (binary_cross_entropy_with_logits特有) + print("\n测试不正确尺寸的pos_weight:") + + pt_input = torch.randn(2, 3) + pt_target = torch.rand(2, 3) + pt_wrong_pos_weight = torch.rand(2, 4) # 错误的尺寸 + + ms_input = Tensor(np.random.randn(2, 3), dtype=ms.float32) + ms_target = Tensor(np.random.rand(2, 3), dtype=ms.float32) + ms_wrong_pos_weight = Tensor(np.random.rand(2, 4), dtype=ms.float32) # 错误的尺寸 + + try: + pt_output = F.binary_cross_entropy_with_logits(pt_input, pt_target, pos_weight=pt_wrong_pos_weight) + print("PyTorch支持不匹配的pos_weight尺寸") + except Exception as e: + print(f"PyTorch错误: {str(e)}") + + try: + ms_output = mint_F.binary_cross_entropy_with_logits(ms_input, ms_target, pos_weight=ms_wrong_pos_weight) + print("MindSpore支持不匹配的pos_weight尺寸") + print(f"结果为{ms_output}") + except Exception as e: + print(f"MindSpore错误: {str(e)}") + +def test_nn_implementation(): + """测试神经网络实现""" + print_header("2.a/b) 测试神经网络实现和推理结果") + + # 简单的二分类网络 + class PTBinaryClassifier(torch.nn.Module): + def __init__(self, input_dim): + super(PTBinaryClassifier, self).__init__() + self.linear = torch.nn.Linear(input_dim, 1) + + def forward(self, x, target=None): + logits = self.linear(x) + if target is not None: + loss = F.binary_cross_entropy_with_logits(logits, target) + return loss + return logits + + class MSBinaryClassifier(ms.nn.Cell): + def __init__(self, input_dim): + super(MSBinaryClassifier, self).__init__() + self.linear = ms.nn.Dense(input_dim, 1) + + def construct(self, x, target=None): + logits = self.linear(x) + if target is not None: + loss = mint_F.binary_cross_entropy_with_logits(logits, target) + return loss + return logits + + # 固定输入和权重 + input_dim = 5 + batch_size = 3 + + np_input = np.random.randn(batch_size, input_dim).astype(np.float32) + np_target = np.random.random((batch_size, 1)).astype(np.float32) + + # 创建模型 + pt_model = PTBinaryClassifier(input_dim) + ms_model = MSBinaryClassifier(input_dim) + + # 固定权重 + np_weight = np.random.randn(input_dim, 1).astype(np.float32) + np_bias = np.random.randn(1).astype(np.float32) + + pt_model.linear.weight.data = torch.tensor(np_weight).t() + pt_model.linear.bias.data = torch.tensor(np_bias) + + ms_model.linear.weight.set_data(Tensor(np_weight.T, dtype=ms.float32)) + ms_model.linear.bias.set_data(Tensor(np_bias, dtype=ms.float32)) + + # 前向传播测试 + pt_input = torch.tensor(np_input) + pt_target = torch.tensor(np_target) + + ms_input = Tensor(np_input, dtype=ms.float32) + ms_target = Tensor(np_target, dtype=ms.float32) + + # 输出测试 + pt_output = pt_model(pt_input) + ms_output = ms_model(ms_input) + + print("测试模型输出 (logits):") + compare_outputs(pt_output, ms_output, "模型输出") + + # 损失测试 + pt_loss = pt_model(pt_input, pt_target) + ms_loss = ms_model(ms_input, ms_target) + + print("\n测试模型损失:") + compare_outputs(pt_loss, ms_loss, "损失值") + +def test_gradient(): + """测试反向传播和梯度计算""" + print_header("2.c) 测试反向传播和梯度计算") + + # 函数的梯度测试 + shape = (3, 4) + np_input = np.random.randn(*shape).astype(np.float32) + np_target = np.random.random(shape).astype(np.float32) # 使用浮点值作为目标 + + # PyTorch + pt_input = torch.tensor(np_input, requires_grad=True) + pt_target = torch.tensor(np_target) + pt_output = F.binary_cross_entropy_with_logits(pt_input, pt_target) + pt_output.backward() + pt_grad = pt_input.grad + + print("PyTorch梯度:") + print(f"形状: {pt_grad.shape}") + print(f"平均值: {pt_grad.mean().item()}") + + # MindSpore - 创建一个计算图用于计算梯度 + ms_input = ms.Parameter(Tensor(np_input, dtype=ms.float32)) + ms_target = Tensor(np_target, dtype=ms.float32) + + def forward_fn(x, target): + return mint_F.binary_cross_entropy_with_logits(x, target) + + grad_fn = ms.grad(forward_fn) + ms_grad = grad_fn(ms_input, ms_target) + + print("\nMindSpore梯度:") + print(f"形状: {ms_grad.shape}") + print(f"平均值: {ms_grad.asnumpy().mean()}") + + # 比较梯度 + compare_outputs(pt_grad, ms_grad, "梯度") + + # 测试带权重的梯度 + print("\n测试带权重的梯度:") + np_weight = np.random.random(shape).astype(np.float32) + + pt_input = torch.tensor(np_input, requires_grad=True) + pt_target = torch.tensor(np_target) + pt_weight = torch.tensor(np_weight) + pt_output = F.binary_cross_entropy_with_logits(pt_input, pt_target, weight=pt_weight) + pt_output.backward() + pt_grad_weighted = pt_input.grad + + ms_input = ms.Parameter(Tensor(np_input, dtype=ms.float32)) + ms_target = Tensor(np_target, dtype=ms.float32) + ms_weight = Tensor(np_weight, dtype=ms.float32) + + def forward_fn_weighted(x, target, weight): + return mint_F.binary_cross_entropy_with_logits(x, target, weight=weight) + + grad_fn_weighted = ms.grad(forward_fn_weighted, 0) + ms_grad_weighted = grad_fn_weighted(ms_input, ms_target, ms_weight) + + compare_outputs(pt_grad_weighted, ms_grad_weighted, "带权重的梯度") + + # 测试带pos_weight的梯度 (binary_cross_entropy_with_logits特有) + print("\n测试带pos_weight的梯度:") + np_pos_weight = np.random.random(shape[1:]).astype(np.float32) * 2 + + pt_input = torch.tensor(np_input, requires_grad=True) + pt_target = torch.tensor(np_target) + pt_pos_weight = torch.tensor(np_pos_weight) + pt_output = F.binary_cross_entropy_with_logits(pt_input, pt_target, pos_weight=pt_pos_weight) + pt_output.backward() + pt_grad_pos_weighted = pt_input.grad + + ms_input = ms.Parameter(Tensor(np_input, dtype=ms.float32)) + ms_target = Tensor(np_target, dtype=ms.float32) + ms_pos_weight = Tensor(np_pos_weight, dtype=ms.float32) + + def forward_fn_pos_weighted(x, target, pos_weight): + return mint_F.binary_cross_entropy_with_logits(x, target, pos_weight=pos_weight) + + grad_fn_pos_weighted = ms.grad(forward_fn_pos_weighted, 0) + ms_grad_pos_weighted = grad_fn_pos_weighted(ms_input, ms_target, ms_pos_weight) + + compare_outputs(pt_grad_pos_weighted, ms_grad_pos_weighted, "带pos_weight的梯度") + + # 神经网络的参数梯度测试 + print("\n测试神经网络参数梯度:") + + input_dim = 5 + hidden_dim = 3 + batch_size = 4 + + class PTSimpleNet(torch.nn.Module): + def __init__(self): + super(PTSimpleNet, self).__init__() + self.fc1 = torch.nn.Linear(input_dim, hidden_dim) + self.fc2 = torch.nn.Linear(hidden_dim, 1) + + def forward(self, x, target=None): + h = torch.nn.functional.relu(self.fc1(x)) + logits = self.fc2(h) + if target is not None: + loss = F.binary_cross_entropy_with_logits(logits, target) + return loss + return logits + + class MSSimpleNet(ms.nn.Cell): + def __init__(self): + super(MSSimpleNet, self).__init__() + self.fc1 = ms.nn.Dense(input_dim, hidden_dim) + self.fc2 = ms.nn.Dense(hidden_dim, 1) + self.relu = ms.nn.ReLU() + + def construct(self, x, target=None): + h = self.relu(self.fc1(x)) + logits = self.fc2(h) + if target is not None: + loss = mint_F.binary_cross_entropy_with_logits(logits, target) + return loss + return logits + + # 创建模型 + pt_net = PTSimpleNet() + ms_net = MSSimpleNet() + + # 固定权重 + np_fc1_weight = np.random.randn(hidden_dim, input_dim).astype(np.float32) + np_fc1_bias = np.random.randn(hidden_dim).astype(np.float32) + np_fc2_weight = np.random.randn(1, hidden_dim).astype(np.float32) + np_fc2_bias = np.random.randn(1).astype(np.float32) + + pt_net.fc1.weight.data = torch.tensor(np_fc1_weight) + pt_net.fc1.bias.data = torch.tensor(np_fc1_bias) + pt_net.fc2.weight.data = torch.tensor(np_fc2_weight) + pt_net.fc2.bias.data = torch.tensor(np_fc2_bias) + + ms_net.fc1.weight.set_data(Tensor(np_fc1_weight, dtype=ms.float32)) + ms_net.fc1.bias.set_data(Tensor(np_fc1_bias, dtype=ms.float32)) + ms_net.fc2.weight.set_data(Tensor(np_fc2_weight, dtype=ms.float32)) + ms_net.fc2.bias.set_data(Tensor(np_fc2_bias, dtype=ms.float32)) + + # 准备输入和目标 + np_net_input = np.random.randn(batch_size, input_dim).astype(np.float32) + np_net_target = np.random.random((batch_size, 1)).astype(np.float32) + + pt_net_input = torch.tensor(np_net_input) + pt_net_target = torch.tensor(np_net_target) + + ms_net_input = Tensor(np_net_input, dtype=ms.float32) + ms_net_target = Tensor(np_net_target, dtype=ms.float32) + + # PyTorch计算梯度 + pt_optimizer = torch.optim.SGD(pt_net.parameters(), lr=0.1) + pt_optimizer.zero_grad() + pt_loss = pt_net(pt_net_input, pt_net_target) + pt_loss.backward() + + # 获取PyTorch梯度 + pt_fc1_weight_grad = pt_net.fc1.weight.grad.numpy() + pt_fc1_bias_grad = pt_net.fc1.bias.grad.numpy() + pt_fc2_weight_grad = pt_net.fc2.weight.grad.numpy() + pt_fc2_bias_grad = pt_net.fc2.bias.grad.numpy() + + print("PyTorch网络梯度:") + print(f"fc1.weight梯度平均值: {pt_fc1_weight_grad.mean()}") + print(f"fc1.bias梯度平均值: {pt_fc1_bias_grad.mean()}") + print(f"fc2.weight梯度平均值: {pt_fc2_weight_grad.mean()}") + print(f"fc2.bias梯度平均值: {pt_fc2_bias_grad.mean()}") + + # MindSpore计算梯度 + def ms_forward_fn(inputs, targets): + return ms_net(inputs, targets) + + ms_grad_fn = ms.value_and_grad(ms_forward_fn, None, ms_net.trainable_params()) + ms_loss, ms_grads = ms_grad_fn(ms_net_input, ms_net_target) + + print("\nMindSpore网络梯度:") + for i, param in enumerate(ms_net.trainable_params()): + print(f"{param.name} 梯度平均值: {ms_grads[i].asnumpy().mean()}") + + # 比较具体参数的梯度 + print("\n比较fc2.weight梯度:") + ms_fc2_weight_grad = None + for i, param in enumerate(ms_net.trainable_params()): + if 'fc2.weight' in param.name: + ms_fc2_weight_grad = ms_grads[i] + break + + if ms_fc2_weight_grad is not None: + # 注意MindSpore和PyTorch的权重矩阵可能需要转置后比较 + ms_fc2_weight_grad_np = ms_fc2_weight_grad.asnumpy() + max_diff = np.max(np.abs(ms_fc2_weight_grad_np - pt_fc2_weight_grad)) + print(f"fc2.weight梯度最大差异: {max_diff}") + if max_diff < TOLERANCE: + print(f"✓ fc2.weight梯度在容差范围内一致 (< {TOLERANCE})") + else: + print(f"✗ fc2.weight梯度超出容差范围 (> {TOLERANCE})") + +if __name__ == "__main__": + # 运行所有测试 + test_dtype_support() + test_random_inputs() + test_param_support() + test_error_handling() + test_nn_implementation() + test_gradient() diff --git a/test/test_grid_sample.py b/test/test_grid_sample.py new file mode 100644 index 0000000..29f81e1 --- /dev/null +++ b/test/test_grid_sample.py @@ -0,0 +1,913 @@ +''' +dtype: + pytorch - float32, float64 + mindspore - float32, float64 + +mode: + pytorch - bilinear, nearest, bicubic + mindspore - bilinear, nearest + +grid: + grid参数最后一维不为2时,mindspore直到使用输出值时才爆错 + 代码: + ms_output = mint_F.grid_sample(ms_input, ms_wrong_grid_dim) + print("MindSpore支持网格维度不是2") + print(ms_output) + +报错信息: + PyTorch错误: ValueError: nn.functional.grid_sample(): expected padding_mode to be 'zeros', 'border', or 'reflection', but got: 'invalid_padding' + MindSpore错误: ValueError: Failed to convert the value "invalid_padding" of input 'padding_mode' of 'GridSampler2D' to enum. + + PyTorch错误: ValueError: nn.functional.grid_sample(): expected mode to be 'bilinear', 'nearest' or 'bicubic', but got: 'invalid_mode' + MindSpore错误: ValueError: Failed to convert the value "invalid_mode" of input 'interpolation_mode' of 'GridSampler2D' to enum. + +''' + +import numpy as np +import torch +import torch.nn.functional as F +import mindspore as ms +from mindspore import Tensor +import mindspore.mint.nn.functional as mint_F +import traceback + +# 设置全局精度容差 +TOLERANCE = 1e-3 + +def print_header(title): + print(f"\n{'='*80}\n{title}\n{'='*80}") + +def compare_outputs(pytorch_out, mindspore_out, name="输出"): + """比较两个框架的输出是否在容差范围内""" + pytorch_np = pytorch_out.detach().cpu().numpy() + mindspore_np = mindspore_out.asnumpy() + + max_diff = np.max(np.abs(pytorch_np - mindspore_np)) + mean_diff = np.mean(np.abs(pytorch_np - mindspore_np)) + + print(f"{name} 最大差异: {max_diff}") + print(f"{name} 平均差异: {mean_diff}") + + if max_diff < TOLERANCE: + print(f"✓ {name}在容差范围内一致 (< {TOLERANCE})") + return True + else: + print(f"✗ {name}超出容差范围 (> {TOLERANCE})") + return False + +# 定义 MindSpore 的 grid_sample 替代函数,以防原始函数不可用 +def mindspore_grid_sample(input, grid, mode='bilinear', padding_mode='zeros', align_corners=False): + raise NotImplementedError("手动实现grid_sample非常复杂,本测试使用内置函数") + +def test_dtype_support(): + """测试不同数据类型的支持度""" + print_header("1.a) 测试不同数据类型(dtype)的支持度") + + batch_size = 2 + channels = 3 + height = 8 + width = 8 + + # 创建网格大小 + grid_height = 6 + grid_width = 6 + + # dtypes_pytorch = [torch.bfloat16, torch.float16, torch.float32, torch.float64] + # dtypes_mindspore = [ms.bfloat16, ms.float16, ms.float32, ms.float64] + # dtype_names = ["bfloat16", "float16", "float32", "float64"] + dtypes_pytorch = [torch.float16, torch.float32, torch.float64] + dtypes_mindspore = [ms.float16, ms.float32, ms.float64] + dtype_names = ["float16", "float32", "float64"] + + for pt_dtype, ms_dtype, dtype_name in zip(dtypes_pytorch, dtypes_mindspore, dtype_names): + print(f"\n测试数据类型: PyTorch {dtype_name}, MindSpore {dtype_name}") + + # 生成随机输入 + np_input = np.random.randn(batch_size, channels, height, width).astype(np.float32) + + # 创建采样网格:范围在[-1,1]之间的随机值 + np_grid = np.random.uniform(-1, 1, (batch_size, grid_height, grid_width, 2)).astype(np.float32) + + try: + # PyTorch + pt_input = torch.tensor(np_input, dtype=pt_dtype) + pt_grid = torch.tensor(np_grid, dtype=pt_dtype) + pt_output = F.grid_sample(pt_input, pt_grid, mode='bilinear', padding_mode='zeros', align_corners=False) + print(f"PyTorch 输出: shape={pt_output.shape}") + pt_support = "支持" + except Exception as e: + print(f"PyTorch 错误: {type(e).__name__}: {str(e)}") + pt_support = "不支持" + + try: + # 首先尝试 mint.nn.functional.grid_sample + ms_input = Tensor(np_input, dtype=ms_dtype) + ms_grid = Tensor(np_grid, dtype=ms_dtype) + ms_using_mint = True + + try: + ms_output = mint_F.grid_sample(ms_input, ms_grid, mode='bilinear', padding_mode='zeros', align_corners=False) + except (AttributeError, RuntimeError) as e: + print(f"mint.nn.functional.grid_sample 不可用: {type(e).__name__}: {str(e)}") + print("使用替代实现...") + ms_output = mindspore_grid_sample(ms_input, ms_grid, mode='bilinear', padding_mode='zeros', align_corners=False) + ms_using_mint = False + + print(f"MindSpore 输出 ({'mint API' if ms_using_mint else '替代实现'}): shape={ms_output.shape}") + ms_support = "支持" + except Exception as e: + print(f"MindSpore 错误: {type(e).__name__}: {str(e)}") + ms_support = "不支持" + + print(f"PyTorch {dtype_name}: {pt_support}, MindSpore {dtype_name}: {ms_support}") + +def test_random_inputs(): + """测试随机输入值的输出一致性""" + print_header("1.b) 测试随机输入值的输出一致性") + + # 检查mint API是否可用 + ms_using_mint = True + try: + _ = mint_F.grid_sample + except (AttributeError, RuntimeError): + ms_using_mint = False + print("mint.nn.functional.grid_sample 不可用,无法进行测试...") + return # 退出测试函数 + + # 不同的输入尺寸 + input_shapes = [ + (2, 1, 8, 8), # 单通道 + (2, 3, 16, 16), # 三通道,较大尺寸 + (1, 3, 32, 32) # 批次为1 + ] + + grid_shapes = [ + (2, 6, 6, 2), # 较小采样网格 + (2, 10, 10, 2), # 较大采样网格 + (1, 16, 16, 2) # 批次为1 + ] + + for i, (input_shape, grid_shape) in enumerate(zip(input_shapes, grid_shapes)): + print(f"\n测试输入尺寸 #{i+1}: 输入={input_shape}, 网格={grid_shape}") + + # 生成随机输入 + np_input = np.random.randn(*input_shape).astype(np.float32) + np_grid = np.random.uniform(-1, 1, grid_shape).astype(np.float32) + + # PyTorch + pt_input = torch.tensor(np_input) + pt_grid = torch.tensor(np_grid) + pt_output = F.grid_sample(pt_input, pt_grid, mode='bilinear', padding_mode='zeros', align_corners=False) + print(f"PyTorch 输出: shape={pt_output.shape}") + + # MindSpore + ms_input = Tensor(np_input, dtype=ms.float32) + ms_grid = Tensor(np_grid, dtype=ms.float32) + ms_output = mint_F.grid_sample(ms_input, ms_grid, mode='bilinear', padding_mode='zeros', align_corners=False) + print(f"MindSpore 输出: shape={ms_output.shape}") + + compare_outputs(pt_output, ms_output, f"输入尺寸 #{i+1}") + +def test_param_support(): + """测试不同参数的支持度""" + print_header("1.c) 测试不同参数的支持度") + + # 检查mint API是否可用 + ms_using_mint = True + try: + _ = mint_F.grid_sample + except (AttributeError, RuntimeError): + ms_using_mint = False + print("mint.nn.functional.grid_sample 不可用,无法进行测试...") + return # 退出测试函数 + + # 固定输入形状 + batch_size = 2 + channels = 3 + height = 16 + width = 16 + grid_height = 10 + grid_width = 10 + + np_input = np.random.randn(batch_size, channels, height, width).astype(np.float32) + np_grid = np.random.uniform(-1, 1, (batch_size, grid_height, grid_width, 2)).astype(np.float32) + + pt_input = torch.tensor(np_input) + pt_grid = torch.tensor(np_grid) + + ms_input = Tensor(np_input, dtype=ms.float32) + ms_grid = Tensor(np_grid, dtype=ms.float32) + + # 测试不同的插值模式 (mode) + modes = ['bilinear', 'nearest', 'bicubic'] + + for mode in modes: + print(f"\n测试mode='{mode}':") + + try: + pt_output = F.grid_sample(pt_input, pt_grid, mode=mode, padding_mode='zeros', align_corners=False) + print(f"PyTorch mode='{mode}': 支持") + pt_mode_supported = True + except Exception as e: + print(f"PyTorch 错误: {str(e)}") + pt_mode_supported = False + + try: + ms_output = mint_F.grid_sample(ms_input, ms_grid, mode=mode, padding_mode='zeros', align_corners=False) + print(f"MindSpore mode='{mode}': 支持") + ms_mode_supported = True + except Exception as e: + print(f"MindSpore 错误: {str(e)}") + ms_mode_supported = False + + if pt_mode_supported and ms_mode_supported: + compare_outputs(pt_output, ms_output, f"mode='{mode}'") + + # 测试不同的填充模式 (padding_mode) + padding_modes = ['zeros', 'border', 'reflection'] + + for padding_mode in padding_modes: + print(f"\n测试padding_mode='{padding_mode}':") + + try: + pt_output = F.grid_sample(pt_input, pt_grid, mode='bilinear', padding_mode=padding_mode, align_corners=False) + print(f"PyTorch padding_mode='{padding_mode}': 支持") + pt_padding_mode_supported = True + except Exception as e: + print(f"PyTorch 错误: {str(e)}") + pt_padding_mode_supported = False + + try: + ms_output = mint_F.grid_sample(ms_input, ms_grid, mode='bilinear', padding_mode=padding_mode, align_corners=False) + print(f"MindSpore padding_mode='{padding_mode}': 支持") + ms_padding_mode_supported = True + except Exception as e: + print(f"MindSpore 错误: {str(e)}") + ms_padding_mode_supported = False + + if pt_padding_mode_supported and ms_padding_mode_supported: + compare_outputs(pt_output, ms_output, f"padding_mode='{padding_mode}'") + + # 测试align_corners参数 + for align_corners in [True, False]: + print(f"\n测试align_corners={align_corners}:") + + try: + pt_output = F.grid_sample(pt_input, pt_grid, mode='bilinear', padding_mode='zeros', align_corners=align_corners) + print(f"PyTorch align_corners={align_corners}: 支持") + pt_align_corners_supported = True + except Exception as e: + print(f"PyTorch 错误: {str(e)}") + pt_align_corners_supported = False + + try: + ms_output = mint_F.grid_sample(ms_input, ms_grid, mode='bilinear', padding_mode='zeros', align_corners=align_corners) + print(f"MindSpore align_corners={align_corners}: 支持") + ms_align_corners_supported = True + except Exception as e: + print(f"MindSpore 错误: {str(e)}") + ms_align_corners_supported = False + + if pt_align_corners_supported and ms_align_corners_supported: + compare_outputs(pt_output, ms_output, f"align_corners={align_corners}") + + # 测试各种参数组合 + param_combinations = [ + {'mode': 'bilinear', 'padding_mode': 'zeros', 'align_corners': False}, + {'mode': 'nearest', 'padding_mode': 'border', 'align_corners': True}, + {'mode': 'bicubic', 'padding_mode': 'reflection', 'align_corners': True} + ] + + for i, params in enumerate(param_combinations): + print(f"\n测试参数组合 #{i+1}: {params}") + + try: + pt_output = F.grid_sample(pt_input, pt_grid, **params) + print(f"PyTorch 参数组合 #{i+1}: 支持") + pt_supported = True + except Exception as e: + print(f"PyTorch 错误: {str(e)}") + pt_supported = False + + try: + ms_output = mint_F.grid_sample(ms_input, ms_grid, **params) + print(f"MindSpore 参数组合 #{i+1}: 支持") + ms_supported = True + except Exception as e: + print(f"MindSpore 错误: {str(e)}") + ms_supported = False + + if pt_supported and ms_supported: + compare_outputs(pt_output, ms_output, f"参数组合 #{i+1}") + +def test_error_handling(): + """测试错误处理的准确性""" + print_header("1.d) 测试错误处理的准确性") + + # 检查mint API是否可用 + ms_using_mint = True + try: + _ = mint_F.grid_sample + except (AttributeError, RuntimeError): + ms_using_mint = False + print("mint.nn.functional.grid_sample 不可用,无法进行测试...") + return # 退出测试函数 + + # 创建基本有效输入 + batch_size = 2 + channels = 3 + height = 8 + width = 8 + grid_height = 6 + grid_width = 6 + + np_input = np.random.randn(batch_size, channels, height, width).astype(np.float32) + np_grid = np.random.uniform(-1, 1, (batch_size, grid_height, grid_width, 2)).astype(np.float32) + + pt_input = torch.tensor(np_input) + pt_grid = torch.tensor(np_grid) + + ms_input = Tensor(np_input, dtype=ms.float32) + ms_grid = Tensor(np_grid, dtype=ms.float32) + + # 测试批次大小不匹配 + print("\n测试批次大小不匹配:") + + np_wrong_grid = np.random.uniform(-1, 1, (batch_size+1, grid_height, grid_width, 2)).astype(np.float32) + pt_wrong_grid = torch.tensor(np_wrong_grid) + ms_wrong_grid = Tensor(np_wrong_grid, dtype=ms.float32) + + try: + pt_output = F.grid_sample(pt_input, pt_wrong_grid) + print(f"PyTorch支持批次大小不匹配: 输出shape={pt_output.shape}") + except Exception as e: + print(f"PyTorch错误: {type(e).__name__}: {str(e)}") + + try: + ms_output = mint_F.grid_sample(ms_input, ms_wrong_grid) + print(f"MindSpore支持批次大小不匹配: 输出shape={ms_output.shape}") + except Exception as e: + print(f"MindSpore错误: {type(e).__name__}: {str(e)}") + + # 测试网格最后一维不是2 + print("\n测试网格最后一维不是2:") + + np_wrong_grid_dim = np.random.uniform(-1, 1, (batch_size, grid_height, grid_width, 3)).astype(np.float32) + pt_wrong_grid_dim = torch.tensor(np_wrong_grid_dim) + ms_wrong_grid_dim = Tensor(np_wrong_grid_dim, dtype=ms.float32) + + try: + pt_output = F.grid_sample(pt_input, pt_wrong_grid_dim) + print("PyTorch支持网格维度不是2") + except Exception as e: + print(f"PyTorch错误: {type(e).__name__}: {str(e)}") + + try: + ms_output = mint_F.grid_sample(ms_input, ms_wrong_grid_dim) + print("MindSpore支持网格维度不是2") + print(ms_output) + except Exception as e: + print(f"MindSpore错误: {type(e).__name__}: {str(e)}") + + # 测试无效的插值模式 + print("\n测试无效的插值模式:") + + try: + pt_output = F.grid_sample(pt_input, pt_grid, mode='invalid_mode') + print("PyTorch支持无效的插值模式") + except Exception as e: + print(f"PyTorch错误: {type(e).__name__}: {str(e)}") + + try: + ms_output = mint_F.grid_sample(ms_input, ms_grid, mode='invalid_mode') + print("MindSpore支持无效的插值模式") + except Exception as e: + print(f"MindSpore错误: {type(e).__name__}: {str(e)}") + + # 测试无效的填充模式 + print("\n测试无效的填充模式:") + + try: + pt_output = F.grid_sample(pt_input, pt_grid, padding_mode='invalid_padding') + print("PyTorch支持无效的填充模式") + except Exception as e: + print(f"PyTorch错误: {type(e).__name__}: {str(e)}") + + try: + ms_output = mint_F.grid_sample(ms_input, ms_grid, padding_mode='invalid_padding') + print("MindSpore支持无效的填充模式") + except Exception as e: + print(f"MindSpore错误: {type(e).__name__}: {str(e)}") + +def test_specific_cases(): + """测试特定的边界情况""" + print_header("1.e) 测试特定的边界情况") + + # 检查mint API是否可用 + ms_using_mint = True + try: + _ = mint_F.grid_sample + except (AttributeError, RuntimeError): + ms_using_mint = False + print("mint.nn.functional.grid_sample 不可用,无法进行测试...") + return # 退出测试函数 + + batch_size = 2 + channels = 3 + height = 8 + width = 8 + grid_height = 6 + grid_width = 6 + + # 创建基本有效输入 + np_input = np.random.randn(batch_size, channels, height, width).astype(np.float32) + + # 测试极限值的网格 + print("\n测试网格坐标为极限值 (-1, -1) 和 (1, 1):") + + # 创建坐标为极限值的网格 + np_extreme_grid = np.zeros((batch_size, grid_height, grid_width, 2), dtype=np.float32) + # 左上角为 (-1, -1) + np_extreme_grid[0, 0, 0] = [-1, -1] + # 右下角为 (1, 1) + np_extreme_grid[0, -1, -1] = [1, 1] + + pt_input = torch.tensor(np_input) + pt_extreme_grid = torch.tensor(np_extreme_grid) + + ms_input = Tensor(np_input, dtype=ms.float32) + ms_extreme_grid = Tensor(np_extreme_grid, dtype=ms.float32) + + try: + pt_output = F.grid_sample(pt_input, pt_extreme_grid) + print(f"PyTorch 支持极限值网格, 输出shape={pt_output.shape}") + pt_supported = True + except Exception as e: + print(f"PyTorch 错误: {str(e)}") + pt_supported = False + + try: + ms_output = mint_F.grid_sample(ms_input, ms_extreme_grid) + print(f"MindSpore 支持极限值网格, 输出shape={ms_output.shape}") + ms_supported = True + except Exception as e: + print(f"MindSpore 错误: {str(e)}") + ms_supported = False + + if pt_supported and ms_supported: + compare_outputs(pt_output, ms_output, "极限值网格") + + # 测试超出范围的网格坐标 + print("\n测试超出范围的网格坐标:") + + # 创建超出[-1,1]范围的网格 + np_out_of_range_grid = np.random.uniform(-2, 2, (batch_size, grid_height, grid_width, 2)).astype(np.float32) + + pt_out_of_range_grid = torch.tensor(np_out_of_range_grid) + ms_out_of_range_grid = Tensor(np_out_of_range_grid, dtype=ms.float32) + + try: + pt_output = F.grid_sample(pt_input, pt_out_of_range_grid) + print(f"PyTorch 支持超出范围的网格坐标, 输出shape={pt_output.shape}") + pt_supported = True + except Exception as e: + print(f"PyTorch 错误: {str(e)}") + pt_supported = False + + try: + ms_output = mint_F.grid_sample(ms_input, ms_out_of_range_grid) + print(f"MindSpore 支持超出范围的网格坐标, 输出shape={ms_output.shape}") + ms_supported = True + except Exception as e: + print(f"MindSpore 错误: {str(e)}") + ms_supported = False + + if pt_supported and ms_supported: + compare_outputs(pt_output, ms_output, "超出范围的网格坐标") + + # 测试网格中包含NaN值 + print("\n测试网格中包含NaN值:") + + # 创建包含NaN的网格 + np_nan_grid = np.random.uniform(-1, 1, (batch_size, grid_height, grid_width, 2)).astype(np.float32) + np_nan_grid[0, 0, 0, 0] = np.nan # 设置一个NaN值 + + pt_nan_grid = torch.tensor(np_nan_grid) + ms_nan_grid = Tensor(np_nan_grid, dtype=ms.float32) + + try: + pt_output = F.grid_sample(pt_input, pt_nan_grid) + print(f"PyTorch 支持网格中包含NaN值, 输出shape={pt_output.shape}") + pt_supported = True + except Exception as e: + print(f"PyTorch 错误: {str(e)}") + pt_supported = False + + try: + ms_output = mint_F.grid_sample(ms_input, ms_nan_grid) + print(f"MindSpore 支持网格中包含NaN值, 输出shape={ms_output.shape}") + ms_supported = True + except Exception as e: + print(f"MindSpore 错误: {str(e)}") + ms_supported = False + + if pt_supported and ms_supported: + compare_outputs(pt_output, ms_output, "网格中包含NaN值") + +def test_nn_implementation(): + """测试神经网络实现""" + print_header("2.a/b) 测试神经网络实现和推理结果") + + # 检查mint API是否可用 + ms_using_mint = True + try: + _ = mint_F.grid_sample + except (AttributeError, RuntimeError): + ms_using_mint = False + print("mint.nn.functional.grid_sample 不可用,无法进行测试...") + return # 退出测试函数 + + # 定义使用grid_sample的简单网络 + class PTSpatialTransformerNet(torch.nn.Module): + def __init__(self): + super(PTSpatialTransformerNet, self).__init__() + self.conv = torch.nn.Conv2d(3, 3, kernel_size=3, padding=1) + + def forward(self, x, grid): + x = self.conv(x) + return F.grid_sample(x, grid, mode='bilinear', padding_mode='zeros', align_corners=False) + + class MSSpatialTransformerNet(ms.nn.Cell): + def __init__(self): + super(MSSpatialTransformerNet, self).__init__() + self.conv = ms.nn.Conv2d(3, 3, kernel_size=3, padding=1, pad_mode='pad', has_bias=True) + + def construct(self, x, grid): + x = self.conv(x) + return mint_F.grid_sample(x, grid, mode='bilinear', padding_mode='zeros', align_corners=False) + + # 创建模型 + pt_model = PTSpatialTransformerNet() + ms_model = MSSpatialTransformerNet() + + # 固定权重 + np_weight = np.random.randn(3, 3, 3, 3).astype(np.float32) * 0.1 + np_bias = np.random.randn(3).astype(np.float32) * 0.1 + + pt_model.conv.weight.data = torch.tensor(np_weight) + pt_model.conv.bias.data = torch.tensor(np_bias) + + ms_model.conv.weight.set_data(Tensor(np_weight, dtype=ms.float32)) + ms_model.conv.bias.set_data(Tensor(np_bias, dtype=ms.float32)) + + # 创建输入 + batch_size = 2 + height = 16 + width = 16 + grid_height = 12 + grid_width = 12 + + np_input = np.random.randn(batch_size, 3, height, width).astype(np.float32) + np_grid = np.random.uniform(-1, 1, (batch_size, grid_height, grid_width, 2)).astype(np.float32) + + pt_input = torch.tensor(np_input) + pt_grid = torch.tensor(np_grid) + + ms_input = Tensor(np_input, dtype=ms.float32) + ms_grid = Tensor(np_grid, dtype=ms.float32) + + # 前向传播 + pt_output = pt_model(pt_input, pt_grid) + ms_output = ms_model(ms_input, ms_grid) + + print(f"PyTorch模型输出shape: {pt_output.shape}") + print(f"MindSpore模型输出shape: {ms_output.shape}") + + compare_outputs(pt_output, ms_output, "模型输出") + +def test_gradient(): + """测试反向传播和梯度计算""" + print_header("2.c) 测试反向传播和梯度计算") + + # 检查mint API是否可用 + ms_using_mint = True + try: + _ = mint_F.grid_sample + except (AttributeError, RuntimeError): + ms_using_mint = False + print("mint.nn.functional.grid_sample 不可用,无法进行测试...") + return # 退出测试函数 + + # 输入数据 + batch_size = 2 + channels = 3 + height = 8 + width = 8 + grid_height = 6 + grid_width = 6 + + np_input = np.random.randn(batch_size, channels, height, width).astype(np.float32) + np_grid = np.random.uniform(-0.9, 0.9, (batch_size, grid_height, grid_width, 2)).astype(np.float32) + + # PyTorch计算输入的梯度 + pt_input = torch.tensor(np_input, requires_grad=True) + pt_grid = torch.tensor(np_grid, requires_grad=True) + pt_output = F.grid_sample(pt_input, pt_grid, mode='bilinear', padding_mode='zeros', align_corners=False) + + # 设置输出梯度为全1 + pt_grad_output = torch.ones_like(pt_output) + pt_output.backward(pt_grad_output) + + pt_input_grad = pt_input.grad + pt_grid_grad = pt_grid.grad + + print("PyTorch梯度:") + print(f"输入梯度shape: {pt_input_grad.shape}, 平均值: {pt_input_grad.mean().item()}") + print(f"网格梯度shape: {pt_grid_grad.shape}, 平均值: {pt_grid_grad.mean().item()}") + + # MindSpore计算输入的梯度 + ms_input = ms.Parameter(Tensor(np_input, dtype=ms.float32)) + ms_grid = ms.Parameter(Tensor(np_grid, dtype=ms.float32)) + + # 使用MindSpore计算输入图像的梯度 + def forward_fn_input(x, grid): + return mint_F.grid_sample(x, grid, mode='bilinear', padding_mode='zeros', align_corners=False) + + grad_fn_input = ms.grad(forward_fn_input, 0) # 对输入参数求导 + ms_input_grad = grad_fn_input(ms_input, ms_grid) + + print("\nMindSpore输入梯度:") + print(f"输入梯度shape: {ms_input_grad.shape}, 平均值: {ms_input_grad.asnumpy().mean()}") + + # 比较输入梯度 + compare_outputs(pt_input_grad, ms_input_grad, "输入梯度") + + # 使用MindSpore计算网格的梯度 + def forward_fn_grid(x, grid): + return mint_F.grid_sample(x, grid, mode='bilinear', padding_mode='zeros', align_corners=False) + + grad_fn_grid = ms.grad(forward_fn_grid, 1) # 对网格参数求导 + ms_grid_grad = grad_fn_grid(ms_input, ms_grid) + + print("\nMindSpore网格梯度:") + print(f"网格梯度shape: {ms_grid_grad.shape}, 平均值: {ms_grid_grad.asnumpy().mean()}") + + # 比较网格梯度 + compare_outputs(pt_grid_grad, ms_grid_grad, "网格梯度") + + # 测试网络模型中的梯度 + print("\n测试神经网络中的梯度:") + + class PTSpatialTransformerNet(torch.nn.Module): + def __init__(self): + super(PTSpatialTransformerNet, self).__init__() + self.conv = torch.nn.Conv2d(3, 3, kernel_size=3, padding=1) + + def forward(self, x, grid): + x = self.conv(x) + return F.grid_sample(x, grid, mode='bilinear', padding_mode='zeros', align_corners=False) + + class MSSpatialTransformerNet(ms.nn.Cell): + def __init__(self): + super(MSSpatialTransformerNet, self).__init__() + self.conv = ms.nn.Conv2d(3, 3, kernel_size=3, padding=1, pad_mode='pad', has_bias=True) + + def construct(self, x, grid): + x = self.conv(x) + return mint_F.grid_sample(x, grid, mode='bilinear', padding_mode='zeros', align_corners=False) + + # 创建模型 + pt_model = PTSpatialTransformerNet() + ms_model = MSSpatialTransformerNet() + + # 固定权重 + np_weight = np.random.randn(3, 3, 3, 3).astype(np.float32) * 0.1 + np_bias = np.random.randn(3).astype(np.float32) * 0.1 + + pt_model.conv.weight.data = torch.tensor(np_weight) + pt_model.conv.bias.data = torch.tensor(np_bias) + + ms_model.conv.weight.set_data(Tensor(np_weight, dtype=ms.float32)) + ms_model.conv.bias.set_data(Tensor(np_bias, dtype=ms.float32)) + + # 创建输入和目标 + batch_size = 2 + height = 16 + width = 16 + grid_height = 12 + grid_width = 12 + + np_input = np.random.randn(batch_size, 3, height, width).astype(np.float32) + np_grid = np.random.uniform(-1, 1, (batch_size, grid_height, grid_width, 2)).astype(np.float32) + + # 生成伪标签/目标 + np_target = np.random.randn(batch_size, 3, grid_height, grid_width).astype(np.float32) + + # PyTorch设置 + pt_input = torch.tensor(np_input, requires_grad=True) + pt_grid = torch.tensor(np_grid, requires_grad=True) + pt_target = torch.tensor(np_target) + + # 前向传播 + pt_output = pt_model(pt_input, pt_grid) + pt_loss = torch.nn.functional.mse_loss(pt_output, pt_target) + + # 反向传播 + pt_loss.backward() + + # 获取权重梯度 + pt_conv_weight_grad = pt_model.conv.weight.grad + pt_conv_bias_grad = pt_model.conv.bias.grad + + print("\nPyTorch网络梯度:") + print(f"conv.weight梯度平均值: {pt_conv_weight_grad.mean().item()}") + print(f"conv.bias梯度平均值: {pt_conv_bias_grad.mean().item()}") + + # MindSpore设置 + ms_input = Tensor(np_input, dtype=ms.float32) + ms_grid = Tensor(np_grid, dtype=ms.float32) + ms_target = Tensor(np_target, dtype=ms.float32) + + # 定义损失函数和前向计算 + def forward_fn(model, x, grid, target): + output = model(x, grid) + loss = ms.nn.MSELoss()(output, target) + return loss + + # 计算梯度 + grad_fn = ms.value_and_grad(forward_fn, None, ms_model.trainable_params(), has_aux=False) + loss, grads = grad_fn(ms_model, ms_input, ms_grid, ms_target) + + print("\nMindSpore网络梯度:") + for i, param in enumerate(ms_model.trainable_params()): + print(f"{param.name}梯度平均值: {grads[i].asnumpy().mean()}") + + # 比较卷积权重梯度 + ms_conv_weight_grad = None + for i, param in enumerate(ms_model.trainable_params()): + if 'conv.weight' in param.name: + ms_conv_weight_grad = grads[i] + break + + if ms_conv_weight_grad is not None: + print("\n比较conv.weight梯度:") + compare_outputs(pt_conv_weight_grad, ms_conv_weight_grad, "conv.weight梯度") + +def test_real_world_usage(): + """测试实际应用场景""" + print_header("2.d) 测试实际应用场景") + + # 检查mint API是否可用 + ms_using_mint = True + try: + _ = mint_F.grid_sample + except (AttributeError, RuntimeError): + ms_using_mint = False + print("mint.nn.functional.grid_sample 不可用,无法进行测试...") + return # 退出测试函数 + + # 实际应用场景 1: 仿射变换 + print("\n测试场景1: 仿射变换") + + batch_size = 1 + channels = 3 + height = 32 + width = 32 + + # 创建输入图像 + np_input = np.random.randn(batch_size, channels, height, width).astype(np.float32) + + # 创建仿射变换矩阵 (旋转45度) + angle = 45.0 * np.pi / 180.0 + cos_val = np.cos(angle).astype(np.float32) # 确保是float32 + sin_val = np.sin(angle).astype(np.float32) # 确保是float32 + + # 旋转矩阵 + affine_matrix = np.array([ + [cos_val, -sin_val, 0], + [sin_val, cos_val, 0] + ], dtype=np.float32) + + # 生成采样网格 + grid_x, grid_y = np.meshgrid( + np.linspace(-1, 1, width, dtype=np.float32), # 指定dtype=np.float32 + np.linspace(-1, 1, height, dtype=np.float32) # 指定dtype=np.float32 + ) + grid = np.stack([grid_x, grid_y], axis=2) + grid = np.broadcast_to(grid, (batch_size, height, width, 2)) + + # 应用仿射变换到网格 + grid_x = grid[:, :, :, 0].reshape(batch_size, -1) + grid_y = grid[:, :, :, 1].reshape(batch_size, -1) + ones = np.ones_like(grid_x) + points = np.stack([grid_x, grid_y, ones], axis=2) + + # 应用变换 + transformed_points = np.matmul(points, affine_matrix.T) + transformed_grid = transformed_points.reshape(batch_size, height, width, 2) + + # 确保变换网格是float32类型 + transformed_grid = transformed_grid.astype(np.float32) + + # PyTorch + pt_input = torch.tensor(np_input, dtype=torch.float32) # 明确指定dtype + pt_grid = torch.tensor(transformed_grid, dtype=torch.float32) # 明确指定dtype + + # MindSpore + ms_input = Tensor(np_input, dtype=ms.float32) + ms_grid = Tensor(transformed_grid, dtype=ms.float32) + + # 执行采样 + pt_output = F.grid_sample(pt_input, pt_grid, mode='bilinear', padding_mode='zeros', align_corners=True) + ms_output = mint_F.grid_sample(ms_input, ms_grid, mode='bilinear', padding_mode='zeros', align_corners=True) + + print("仿射变换结果:") + compare_outputs(pt_output, ms_output, "旋转45度") + + # 实际应用场景 2: 图像缩放 + print("\n测试场景2: 图像缩放") + + # 缩小一半 + scale = 0.5 + + # 创建缩放网格 + grid_x, grid_y = np.meshgrid( + np.linspace(-scale, scale, width, dtype=np.float32), # 指定dtype=np.float32 + np.linspace(-scale, scale, height, dtype=np.float32) # 指定dtype=np.float32 + ) + scaled_grid = np.stack([grid_x, grid_y], axis=2) + scaled_grid = np.broadcast_to(scaled_grid, (batch_size, height, width, 2)) + scaled_grid = scaled_grid.astype(np.float32) # 确保是float32 + + # PyTorch + pt_scaled_grid = torch.tensor(scaled_grid, dtype=torch.float32) # 明确指定dtype + + # MindSpore + ms_scaled_grid = Tensor(scaled_grid, dtype=ms.float32) + + # 执行采样 + pt_scaled_output = F.grid_sample(pt_input, pt_scaled_grid, mode='bilinear', padding_mode='zeros', align_corners=True) + ms_scaled_output = mint_F.grid_sample(ms_input, ms_scaled_grid, mode='bilinear', padding_mode='zeros', align_corners=True) + + print("缩放图像结果:") + compare_outputs(pt_scaled_output, ms_scaled_output, "缩小一半") + + +def test_bfloat16(): + batch_size = 2 + channels = 3 + height = 8 + width = 8 + grid_height = 6 + grid_width = 6 + np_input = np.random.randn(batch_size, channels, height, width).astype(np.float32) + np_grid = np.random.uniform(-1, 1, (batch_size, grid_height, grid_width, 2)).astype(np.float32) + ms_dtype=ms.bfloat16 + try: + # 首先尝试 mint.nn.functional.grid_sample + ms_input = Tensor(np_input, dtype=ms_dtype) + ms_grid = Tensor(np_grid, dtype=ms_dtype) + ms_output = mint_F.grid_sample(ms_input, ms_grid, mode='bilinear', padding_mode='zeros', align_corners=False) + print(f"MindSpore 输出 ({'mint API' if ms_using_mint else '替代实现'}): shape={ms_output.shape}") + ms_support = "支持" + except Exception as e: + print(f"MindSpore 错误: {type(e).__name__}: {str(e)}") + ms_support = "不支持" + + input_shape = (2, 1, 8, 8) # 单通道 + + grid_shape = (2, 6, 6, 2) + + print(f"\n测试输入尺寸: 输入={input_shape}, 网格={grid_shape}") + + # 生成随机输入 + np_input = np.random.randn(*input_shape).astype(np.float32) + np_grid = np.random.uniform(-1, 1, grid_shape).astype(np.float32) + + # MindSpore + ms_input = Tensor(np_input, dtype=ms.float32) + ms_grid = Tensor(np_grid, dtype=ms.float32) + ms_output = mint_F.grid_sample(ms_input, ms_grid, mode='bilinear', padding_mode='zeros', align_corners=False) + print(f"MindSpore 输出: shape={ms_output.shape}") + + mindspore_np = mindspore_out.asnumpy() + + +if __name__ == "__main__": + + mint_available = True + + + if mint_available: + # 运行所有测试 + test_dtype_support() + test_random_inputs() + test_param_support() + test_error_handling() + test_specific_cases() + test_nn_implementation() + test_gradient() + test_real_world_usage() + test_bfloat16() + else: + print("由于API不可用,测试已跳过") diff --git a/test/test_l1_loss.py b/test/test_l1_loss.py new file mode 100644 index 0000000..22c4b65 --- /dev/null +++ b/test/test_l1_loss.py @@ -0,0 +1,488 @@ +''' +dtype: + pytorch - float16, float32, float64, bfloat16 + mindspore - float16, float32, bfloat16 +''' + +import numpy as np +import torch +import torch.nn.functional as F +import mindspore as ms +from mindspore import Tensor +import mindspore.mint.nn.functional as mint_F +import traceback + +# 设置全局精度容差 +TOLERANCE = 1e-3 + +def print_header(title): + print(f"\n{'='*80}\n{title}\n{'='*80}") + +def compare_outputs(pytorch_out, mindspore_out, name="输出"): + """比较两个框架的输出是否在容差范围内""" + pytorch_np = pytorch_out.detach().cpu().numpy() + mindspore_np = mindspore_out.asnumpy() + + max_diff = np.max(np.abs(pytorch_np - mindspore_np)) + mean_diff = np.mean(np.abs(pytorch_np - mindspore_np)) + + print(f"{name} 最大差异: {max_diff}") + print(f"{name} 平均差异: {mean_diff}") + + if max_diff < TOLERANCE: + print(f"✓ {name}在容差范围内一致 (< {TOLERANCE})") + return True + else: + print(f"✗ {name}超出容差范围 (> {TOLERANCE})") + return False + +def test_dtype_support(): + """测试不同数据类型的支持度""" + print_header("1.a) 测试不同数据类型(dtype)的支持度") + + shape = (3, 4) + dtypes_pytorch = [torch.float16, torch.float32, torch.float64, torch.bfloat16] + dtypes_mindspore = [ms.float16, ms.float32, ms.float64, ms.bfloat16] + dtype_names = ["float16", "float32", "float64", "bfloat16"] + + for pt_dtype, ms_dtype, dtype_name in zip(dtypes_pytorch, dtypes_mindspore, dtype_names): + print(f"\n测试数据类型: PyTorch {dtype_name}, MindSpore {dtype_name}") + + # 生成随机输入 + np_input = np.random.randn(*shape).astype(np.float32) + np_target = np.random.randn(*shape).astype(np.float32) + + try: + # PyTorch + pt_input = torch.tensor(np_input, dtype=pt_dtype) + pt_target = torch.tensor(np_target, dtype=pt_dtype) + pt_output = F.l1_loss(pt_input, pt_target, reduction='mean') + print(f"PyTorch 输出: {pt_output.item()}, shape: {pt_output.shape}") + pt_support = "支持" + except Exception as e: + print(f"PyTorch 错误: {type(e).__name__}: {str(e)}") + pt_support = "不支持" + + try: + # MindSpore + ms_input = Tensor(np_input, dtype=ms_dtype) + ms_target = Tensor(np_target, dtype=ms_dtype) + ms_output = mint_F.l1_loss(ms_input, ms_target, reduction='mean') + print(f"MindSpore 输出: {ms_output.asnumpy().item()}, shape: {ms_output.shape}") + ms_support = "支持" + except Exception as e: + print(f"MindSpore 错误: {type(e).__name__}: {str(e)}") + ms_support = "不支持" + + print(f"PyTorch {dtype_name}: {pt_support}, MindSpore {dtype_name}: {ms_support}") + +def test_random_inputs(): + """测试随机输入值的输出一致性""" + print_header("1.b) 测试随机输入值的输出一致性") + + shapes = [(2, 3), (3, 4, 5), (2, 3, 4, 5)] + + for shape in shapes: + print(f"\n测试shape: {shape}") + + # 生成随机输入 + np_input = np.random.randn(*shape).astype(np.float32) + np_target = np.random.randn(*shape).astype(np.float32) + + # PyTorch + pt_input = torch.tensor(np_input, requires_grad=True) + pt_target = torch.tensor(np_target) + pt_output = F.l1_loss(pt_input, pt_target, reduction='mean') + print(f"PyTorch 输出: {pt_output.item()}") + + # MindSpore + ms_input = Tensor(np_input, dtype=ms.float32) + ms_target = Tensor(np_target, dtype=ms.float32) + ms_output = mint_F.l1_loss(ms_input, ms_target, reduction='mean') + print(f"MindSpore 输出: {ms_output.asnumpy().item()}") + + compare_outputs(pt_output, ms_output) + + # 测试不同的reduction + for reduction in ['none', 'sum', 'mean']: + print(f"\n测试reduction: {reduction}") + + pt_output = F.l1_loss(pt_input, pt_target, reduction=reduction) + ms_output = mint_F.l1_loss(ms_input, ms_target, reduction=reduction) + + compare_outputs(pt_output, ms_output, f"reduction={reduction}") + +def test_param_support(): + """测试不同参数类型的支持度""" + print_header("1.c) 测试不同参数类型的支持度") + + shape = (3, 4) + np_input = np.random.randn(*shape).astype(np.float32) + np_target = np.random.randn(*shape).astype(np.float32) + + # 基本输入 + pt_input = torch.tensor(np_input) + pt_target = torch.tensor(np_target) + + ms_input = Tensor(np_input, dtype=ms.float32) + ms_target = Tensor(np_target, dtype=ms.float32) + + # 测试不同reduction参数 + reductions = ['none', 'sum', 'mean', 'INVALID'] + + for reduction in reductions: + print(f"\n测试reduction参数: '{reduction}'") + + try: + pt_output = F.l1_loss(pt_input, pt_target, reduction=reduction) + print(f"PyTorch: 支持 reduction='{reduction}'") + except Exception as e: + print(f"PyTorch 错误: {str(e)}") + + try: + ms_output = mint_F.l1_loss(ms_input, ms_target, reduction=reduction) + print(f"MindSpore: 支持 reduction='{reduction}'") + except Exception as e: + print(f"MindSpore 错误: {str(e)}") + + # 使用随机权重进行多次测试 + num_tests = 3 # 测试3组不同的输入 + for i in range(num_tests): + # 生成新的随机输入 + np_random_input = np.random.randn(*shape).astype(np.float32) + np_random_target = np.random.randn(*shape).astype(np.float32) + + pt_random_input = torch.tensor(np_random_input) + ms_random_input = Tensor(np_random_input, dtype=ms.float32) + pt_random_target = torch.tensor(np_random_target) + ms_random_target = Tensor(np_random_target, dtype=ms.float32) + + print(f"\n测试随机输入组 #{i+1}:") + print(f"随机输入平均值: {np_random_input.mean():.4f}, 随机目标平均值: {np_random_target.mean():.4f}") + + for reduction in ['none', 'sum', 'mean']: + try: + pt_output = F.l1_loss(pt_random_input, pt_random_target, reduction=reduction) + if reduction != 'none': + print(f"PyTorch {reduction}输出: {pt_output.item():.6f}") + else: + print(f"PyTorch {reduction}输出形状: {pt_output.shape}") + pt_ok = True + except Exception as e: + print(f"PyTorch 错误: {str(e)}") + pt_ok = False + + try: + ms_output = mint_F.l1_loss(ms_random_input, ms_random_target, reduction=reduction) + if reduction != 'none': + print(f"MindSpore {reduction}输出: {ms_output.asnumpy().item():.6f}") + else: + print(f"MindSpore {reduction}输出形状: {ms_output.shape}") + ms_ok = True + except Exception as e: + print(f"MindSpore 错误: {str(e)}") + ms_ok = False + + if pt_ok and ms_ok: + compare_outputs(pt_output, ms_output, f"随机输入 #{i+1}, reduction={reduction}") + +def test_error_handling(): + """测试错误处理的准确性""" + print_header("1.d) 测试错误处理的准确性") + + # 测试输入和目标形状不匹配 + print("\n测试输入和目标形状不匹配:") + + pt_input = torch.randn(2, 3) + pt_target = torch.randn(3, 2) + + ms_input = Tensor(np.random.randn(2, 3), dtype=ms.float32) + ms_target = Tensor(np.random.randn(3, 2), dtype=ms.float32) + + try: + pt_output = F.l1_loss(pt_input, pt_target) + print("PyTorch结果:", pt_output.item()) + except Exception as e: + print(f"PyTorch错误: {str(e)}") + + try: + ms_output = mint_F.l1_loss(ms_input, ms_target) + print("MindSpore结果:", ms_output.asnumpy().item()) + except Exception as e: + print(f"MindSpore错误: {str(e)}") + + # 测试错误的输入类型 + print("\n测试错误的输入类型:") + + # 字符串输入 + try: + pt_output = F.l1_loss(pt_input, "wrong_target") + print("PyTorch支持字符串输入") + except Exception as e: + print(f"PyTorch错误: {type(e).__name__}: {str(e)}") + + try: + ms_output = mint_F.l1_loss(ms_input, "wrong_target") + print("MindSpore支持字符串输入") + except Exception as e: + print(f"MindSpore错误: {type(e).__name__}: {str(e)}") + + # 测试各种奇怪输入 + print("\n测试各种奇怪输入:") + + # 测试None输入 + try: + pt_output = F.l1_loss(None, pt_target) + print("PyTorch支持None输入") + except Exception as e: + print(f"PyTorch错误: {type(e).__name__}: {str(e)}") + + try: + ms_output = mint_F.l1_loss(None, ms_target) + print("MindSpore支持None输入") + except Exception as e: + print(f"MindSpore错误: {type(e).__name__}: {str(e)}") + + # 测试0维张量 + try: + pt_output = F.l1_loss(torch.tensor(5.0), torch.tensor(3.0)) + print(f"PyTorch支持0维张量, 输出: {pt_output.item()}") + except Exception as e: + print(f"PyTorch错误: {type(e).__name__}: {str(e)}") + + try: + ms_output = mint_F.l1_loss(Tensor(5.0, ms.float32), Tensor(3.0, ms.float32)) + print(f"MindSpore支持0维张量, 输出: {ms_output.asnumpy().item()}") + except Exception as e: + print(f"MindSpore错误: {type(e).__name__}: {str(e)}") + +def test_nn_implementation(): + """测试神经网络实现""" + print_header("2.a/b) 测试神经网络实现和推理结果") + + # 简单的回归网络 + class PTRegressionNet(torch.nn.Module): + def __init__(self, input_dim, output_dim): + super(PTRegressionNet, self).__init__() + self.linear = torch.nn.Linear(input_dim, output_dim) + + def forward(self, x, target=None): + output = self.linear(x) + if target is not None: + loss = F.l1_loss(output, target) + return loss + return output + + class MSRegressionNet(ms.nn.Cell): + def __init__(self, input_dim, output_dim): + super(MSRegressionNet, self).__init__() + self.linear = ms.nn.Dense(input_dim, output_dim) + + def construct(self, x, target=None): + output = self.linear(x) + if target is not None: + loss = mint_F.l1_loss(output, target) + return loss + return output + + # 固定输入和权重 + input_dim = 5 + output_dim = 2 + batch_size = 3 + + np_input = np.random.randn(batch_size, input_dim).astype(np.float32) + np_target = np.random.randn(batch_size, output_dim).astype(np.float32) + + # 创建模型 + pt_model = PTRegressionNet(input_dim, output_dim) + ms_model = MSRegressionNet(input_dim, output_dim) + + # 固定权重 - 注意这里不需要转置 + np_weight = np.random.randn(output_dim, input_dim).astype(np.float32) + np_bias = np.random.randn(output_dim).astype(np.float32) + + pt_model.linear.weight.data = torch.tensor(np_weight) + pt_model.linear.bias.data = torch.tensor(np_bias) + + ms_model.linear.weight.set_data(Tensor(np_weight, dtype=ms.float32)) + ms_model.linear.bias.set_data(Tensor(np_bias, dtype=ms.float32)) + + # 前向传播测试 + pt_input = torch.tensor(np_input) + pt_target = torch.tensor(np_target) + + ms_input = Tensor(np_input, dtype=ms.float32) + ms_target = Tensor(np_target, dtype=ms.float32) + + # 输出测试 + pt_output = pt_model(pt_input) + ms_output = ms_model(ms_input) + + print("测试模型输出:") + compare_outputs(pt_output, ms_output, "模型输出") + + # 损失测试 + pt_loss = pt_model(pt_input, pt_target) + ms_loss = ms_model(ms_input, ms_target) + + print("\n测试模型损失:") + compare_outputs(pt_loss, ms_loss, "损失值") + +def test_gradient(): + """测试反向传播和梯度计算""" + print_header("2.c) 测试反向传播和梯度计算") + + # 函数的梯度测试 + shape = (3, 4) + np_input = np.random.randn(*shape).astype(np.float32) + np_target = np.random.randn(*shape).astype(np.float32) + + # PyTorch + pt_input = torch.tensor(np_input, requires_grad=True) + pt_target = torch.tensor(np_target) + pt_output = F.l1_loss(pt_input, pt_target) + pt_output.backward() + pt_grad = pt_input.grad + + print("PyTorch梯度:") + print(f"形状: {pt_grad.shape}") + print(f"平均值: {pt_grad.mean().item()}") + + # MindSpore - 创建一个计算图用于计算梯度 + ms_input = ms.Parameter(Tensor(np_input, dtype=ms.float32)) + ms_target = Tensor(np_target, dtype=ms.float32) + + def forward_fn(x, target): + return mint_F.l1_loss(x, target) + + grad_fn = ms.grad(forward_fn) + ms_grad = grad_fn(ms_input, ms_target) + + print("\nMindSpore梯度:") + print(f"形状: {ms_grad.shape}") + print(f"平均值: {ms_grad.asnumpy().mean()}") + + # 比较梯度 + compare_outputs(pt_grad, ms_grad, "梯度") + + # 神经网络的参数梯度测试 + print("\n测试神经网络参数梯度:") + + input_dim = 5 + hidden_dim = 3 + output_dim = 2 + batch_size = 4 + + class PTSimpleNet(torch.nn.Module): + def __init__(self): + super(PTSimpleNet, self).__init__() + self.fc1 = torch.nn.Linear(input_dim, hidden_dim) + self.fc2 = torch.nn.Linear(hidden_dim, output_dim) + + def forward(self, x, target=None): + h = torch.nn.functional.relu(self.fc1(x)) + output = self.fc2(h) + if target is not None: + loss = F.l1_loss(output, target) + return loss + return output + + class MSSimpleNet(ms.nn.Cell): + def __init__(self): + super(MSSimpleNet, self).__init__() + self.fc1 = ms.nn.Dense(input_dim, hidden_dim) + self.fc2 = ms.nn.Dense(hidden_dim, output_dim) + self.relu = ms.nn.ReLU() + + def construct(self, x, target=None): + h = self.relu(self.fc1(x)) + output = self.fc2(h) + if target is not None: + loss = mint_F.l1_loss(output, target) + return loss + return output + + # 创建模型 + pt_net = PTSimpleNet() + ms_net = MSSimpleNet() + + # 固定权重 - 注意这里不需要转置 + np_fc1_weight = np.random.randn(hidden_dim, input_dim).astype(np.float32) + np_fc1_bias = np.random.randn(hidden_dim).astype(np.float32) + np_fc2_weight = np.random.randn(output_dim, hidden_dim).astype(np.float32) + np_fc2_bias = np.random.randn(output_dim).astype(np.float32) + + pt_net.fc1.weight.data = torch.tensor(np_fc1_weight) + pt_net.fc1.bias.data = torch.tensor(np_fc1_bias) + pt_net.fc2.weight.data = torch.tensor(np_fc2_weight) + pt_net.fc2.bias.data = torch.tensor(np_fc2_bias) + + ms_net.fc1.weight.set_data(Tensor(np_fc1_weight, dtype=ms.float32)) + ms_net.fc1.bias.set_data(Tensor(np_fc1_bias, dtype=ms.float32)) + ms_net.fc2.weight.set_data(Tensor(np_fc2_weight, dtype=ms.float32)) + ms_net.fc2.bias.set_data(Tensor(np_fc2_bias, dtype=ms.float32)) + + # 准备输入和目标 + np_net_input = np.random.randn(batch_size, input_dim).astype(np.float32) + np_net_target = np.random.randn(batch_size, output_dim).astype(np.float32) + + pt_net_input = torch.tensor(np_net_input) + pt_net_target = torch.tensor(np_net_target) + + ms_net_input = Tensor(np_net_input, dtype=ms.float32) + ms_net_target = Tensor(np_net_target, dtype=ms.float32) + + # PyTorch计算梯度 + pt_optimizer = torch.optim.SGD(pt_net.parameters(), lr=0.1) + pt_optimizer.zero_grad() + pt_loss = pt_net(pt_net_input, pt_net_target) + pt_loss.backward() + + # 获取PyTorch梯度 + pt_fc1_weight_grad = pt_net.fc1.weight.grad.numpy() + pt_fc1_bias_grad = pt_net.fc1.bias.grad.numpy() + pt_fc2_weight_grad = pt_net.fc2.weight.grad.numpy() + pt_fc2_bias_grad = pt_net.fc2.bias.grad.numpy() + + print("PyTorch网络梯度:") + print(f"fc1.weight梯度平均值: {pt_fc1_weight_grad.mean()}") + print(f"fc1.bias梯度平均值: {pt_fc1_bias_grad.mean()}") + print(f"fc2.weight梯度平均值: {pt_fc2_weight_grad.mean()}") + print(f"fc2.bias梯度平均值: {pt_fc2_bias_grad.mean()}") + + # MindSpore计算梯度 + def ms_forward_fn(inputs, targets): + return ms_net(inputs, targets) + + ms_grad_fn = ms.value_and_grad(ms_forward_fn, None, ms_net.trainable_params()) + ms_loss, ms_grads = ms_grad_fn(ms_net_input, ms_net_target) + + print("\nMindSpore网络梯度:") + for i, param in enumerate(ms_net.trainable_params()): + print(f"{param.name} 梯度平均值: {ms_grads[i].asnumpy().mean()}") + + # 比较具体参数的梯度 (不需要转置) + print("\n比较fc2.weight梯度:") + ms_fc2_weight_grad = None + for i, param in enumerate(ms_net.trainable_params()): + if 'fc2.weight' in param.name: + ms_fc2_weight_grad = ms_grads[i] + break + + if ms_fc2_weight_grad is not None: + ms_fc2_weight_grad_np = ms_fc2_weight_grad.asnumpy() + max_diff = np.max(np.abs(ms_fc2_weight_grad_np - pt_fc2_weight_grad)) + print(f"fc2.weight梯度最大差异: {max_diff}") + if max_diff < TOLERANCE: + print(f"✓ fc2.weight梯度在容差范围内一致 (< {TOLERANCE})") + else: + print(f"✗ fc2.weight梯度超出容差范围 (> {TOLERANCE})") + +if __name__ == "__main__": + # 运行所有测试 + test_dtype_support() + test_random_inputs() + test_param_support() + test_error_handling() + test_nn_implementation() + test_gradient() diff --git a/test/test_mse_loss.py b/test/test_mse_loss.py new file mode 100644 index 0000000..694eb2e --- /dev/null +++ b/test/test_mse_loss.py @@ -0,0 +1,575 @@ +''' +dtype: + pytorch - float16, float32, float64 + mindspore - float16, float32, bfloat16 +''' + +import numpy as np +import torch +import torch.nn.functional as F +import mindspore as ms +from mindspore import Tensor +import mindspore.mint.nn.functional as mint_F +import traceback + +# 设置全局精度容差 +TOLERANCE = 1e-3 + +def print_header(title): + print(f"\n{'='*80}\n{title}\n{'='*80}") + +def compare_outputs(pytorch_out, mindspore_out, name="输出"): + """比较两个框架的输出是否在容差范围内""" + pytorch_np = pytorch_out.detach().cpu().numpy() + mindspore_np = mindspore_out.asnumpy() + + max_diff = np.max(np.abs(pytorch_np - mindspore_np)) + mean_diff = np.mean(np.abs(pytorch_np - mindspore_np)) + + print(f"{name} 最大差异: {max_diff}") + print(f"{name} 平均差异: {mean_diff}") + + if max_diff < TOLERANCE: + print(f"✓ {name}在容差范围内一致 (< {TOLERANCE})") + return True + else: + print(f"✗ {name}超出容差范围 (> {TOLERANCE})") + return False + +# 定义 MindSpore 的 mse_loss 替代函数,以防原始函数不可用 +def mindspore_mse_loss(inputs, targets, reduction='mean'): + squared_diff = ms.ops.square(inputs - targets) + if reduction == 'none': + return squared_diff + elif reduction == 'mean': + return ms.ops.mean(squared_diff) + elif reduction == 'sum': + return ms.ops.sum(squared_diff) + else: + raise ValueError(f"Unsupported reduction mode: {reduction}") + +def test_dtype_support(): + """测试不同数据类型的支持度""" + print_header("1.a) 测试不同数据类型(dtype)的支持度") + + shape = (3, 4) + dtypes_pytorch = [torch.float16, torch.float32, torch.float64, torch.bfloat16] + dtypes_mindspore = [ms.float16, ms.float32, ms.float64, ms.bfloat16] + dtype_names = ["float16", "float32", "float64", "bfloat16"] + + for pt_dtype, ms_dtype, dtype_name in zip(dtypes_pytorch, dtypes_mindspore, dtype_names): + print(f"\n测试数据类型: PyTorch {dtype_name}, MindSpore {dtype_name}") + + # 生成随机输入 + np_input = np.random.randn(*shape).astype(np.float32) + np_target = np.random.randn(*shape).astype(np.float32) + + try: + # PyTorch + pt_input = torch.tensor(np_input, dtype=pt_dtype) + pt_target = torch.tensor(np_target, dtype=pt_dtype) + pt_output = F.mse_loss(pt_input, pt_target, reduction='mean') + print(f"PyTorch 输出: {pt_output.item()}, shape: {pt_output.shape}") + pt_support = "支持" + except Exception as e: + print(f"PyTorch 错误: {type(e).__name__}: {str(e)}") + pt_support = "不支持" + + try: + # 首先尝试 mint.nn.functional.mse_loss + ms_input = Tensor(np_input, dtype=ms_dtype) + ms_target = Tensor(np_target, dtype=ms_dtype) + ms_using_mint = True + + try: + ms_output = mint_F.mse_loss(ms_input, ms_target, reduction='mean') + except (AttributeError, RuntimeError) as e: + print(f"mint.nn.functional.mse_loss 不可用: {type(e).__name__}: {str(e)}") + print("使用替代实现...") + ms_output = mindspore_mse_loss(ms_input, ms_target, reduction='mean') + ms_using_mint = False + + print(f"MindSpore 输出 ({'mint API' if ms_using_mint else '替代实现'}): {ms_output.asnumpy().item()}, shape: {ms_output.shape}") + ms_support = "支持" + except Exception as e: + print(f"MindSpore 错误: {type(e).__name__}: {str(e)}") + ms_support = "不支持" + + print(f"PyTorch {dtype_name}: {pt_support}, MindSpore {dtype_name}: {ms_support}") + +def test_random_inputs(): + """测试随机输入值的输出一致性""" + print_header("1.b) 测试随机输入值的输出一致性") + + shapes = [(2, 3), (3, 4, 5), (2, 3, 4, 5)] + + # 检查mint API是否可用 + ms_using_mint = True + try: + _ = mint_F.mse_loss + except (AttributeError, RuntimeError): + ms_using_mint = False + print("mint.nn.functional.mse_loss 不可用,使用替代实现...") + + mse_loss_fn = mint_F.mse_loss if ms_using_mint else mindspore_mse_loss + + for shape in shapes: + print(f"\n测试shape: {shape}") + + # 生成随机输入 + np_input = np.random.randn(*shape).astype(np.float32) + np_target = np.random.randn(*shape).astype(np.float32) + + # PyTorch + pt_input = torch.tensor(np_input, requires_grad=True) + pt_target = torch.tensor(np_target) + pt_output = F.mse_loss(pt_input, pt_target, reduction='mean') + print(f"PyTorch 输出: {pt_output.item()}") + + # MindSpore + ms_input = Tensor(np_input, dtype=ms.float32) + ms_target = Tensor(np_target, dtype=ms.float32) + ms_output = mse_loss_fn(ms_input, ms_target, reduction='mean') + print(f"MindSpore 输出 ({'mint API' if ms_using_mint else '替代实现'}): {ms_output.asnumpy().item()}") + + compare_outputs(pt_output, ms_output) + + # 测试不同的reduction + for reduction in ['none', 'sum', 'mean']: + print(f"\n测试reduction: {reduction}") + + pt_output = F.mse_loss(pt_input, pt_target, reduction=reduction) + ms_output = mse_loss_fn(ms_input, ms_target, reduction=reduction) + + compare_outputs(pt_output, ms_output, f"reduction={reduction}") + +def test_param_support(): + """测试不同参数类型的支持度""" + print_header("1.c) 测试不同参数类型的支持度") + + shape = (3, 4) + np_input = np.random.randn(*shape).astype(np.float32) + np_target = np.random.randn(*shape).astype(np.float32) + + # 基本输入 + pt_input = torch.tensor(np_input) + pt_target = torch.tensor(np_target) + + ms_input = Tensor(np_input, dtype=ms.float32) + ms_target = Tensor(np_target, dtype=ms.float32) + + # 检查mint API是否可用 + ms_using_mint = True + try: + _ = mint_F.mse_loss + except (AttributeError, RuntimeError): + ms_using_mint = False + print("mint.nn.functional.mse_loss 不可用,使用替代实现...") + + mse_loss_fn = mint_F.mse_loss if ms_using_mint else mindspore_mse_loss + + # 测试不同reduction参数 + reductions = ['none', 'sum', 'mean', 'INVALID'] + + for reduction in reductions: + print(f"\n测试reduction参数: '{reduction}'") + + try: + pt_output = F.mse_loss(pt_input, pt_target, reduction=reduction) + print(f"PyTorch: 支持 reduction='{reduction}'") + except Exception as e: + print(f"PyTorch 错误: {str(e)}") + + try: + ms_output = mse_loss_fn(ms_input, ms_target, reduction=reduction) + print(f"MindSpore ({'mint API' if ms_using_mint else '替代实现'}): 支持 reduction='{reduction}'") + except Exception as e: + print(f"MindSpore 错误: {str(e)}") + + # 使用随机输入进行多次测试 + num_tests = 3 # 测试3组不同的输入 + for i in range(num_tests): + # 生成新的随机输入 + np_random_input = np.random.randn(*shape).astype(np.float32) + np_random_target = np.random.randn(*shape).astype(np.float32) + + pt_random_input = torch.tensor(np_random_input) + ms_random_input = Tensor(np_random_input, dtype=ms.float32) + pt_random_target = torch.tensor(np_random_target) + ms_random_target = Tensor(np_random_target, dtype=ms.float32) + + print(f"\n测试随机输入组 #{i+1}:") + print(f"随机输入平均值: {np_random_input.mean():.4f}, 随机目标平均值: {np_random_target.mean():.4f}") + + for reduction in ['none', 'sum', 'mean']: + try: + pt_output = F.mse_loss(pt_random_input, pt_random_target, reduction=reduction) + if reduction != 'none': + print(f"PyTorch {reduction}输出: {pt_output.item():.6f}") + else: + print(f"PyTorch {reduction}输出形状: {pt_output.shape}") + pt_ok = True + except Exception as e: + print(f"PyTorch 错误: {str(e)}") + pt_ok = False + + try: + ms_output = mse_loss_fn(ms_random_input, ms_random_target, reduction=reduction) + if reduction != 'none': + print(f"MindSpore {reduction}输出: {ms_output.asnumpy().item():.6f}") + else: + print(f"MindSpore {reduction}输出形状: {ms_output.shape}") + ms_ok = True + except Exception as e: + print(f"MindSpore 错误: {str(e)}") + ms_ok = False + + if pt_ok and ms_ok: + compare_outputs(pt_output, ms_output, f"随机输入 #{i+1}, reduction={reduction}") + +def test_error_handling(): + """测试错误处理的准确性""" + print_header("1.d) 测试错误处理的准确性") + + # 检查mint API是否可用 + ms_using_mint = True + try: + _ = mint_F.mse_loss + except (AttributeError, RuntimeError): + ms_using_mint = False + print("mint.nn.functional.mse_loss 不可用,使用替代实现...") + + mse_loss_fn = mint_F.mse_loss if ms_using_mint else mindspore_mse_loss + + # 测试输入和目标形状不匹配 + print("\n测试输入和目标形状不匹配:") + + pt_input = torch.randn(2, 3) + pt_target = torch.randn(3, 2) + + ms_input = Tensor(np.random.randn(2, 3), dtype=ms.float32) + ms_target = Tensor(np.random.randn(3, 2), dtype=ms.float32) + + try: + pt_output = F.mse_loss(pt_input, pt_target) + print("PyTorch结果:", pt_output.item()) + except Exception as e: + print(f"PyTorch错误: {str(e)}") + + try: + ms_output = mse_loss_fn(ms_input, ms_target) + print("MindSpore结果:", ms_output.asnumpy().item()) + except Exception as e: + print(f"MindSpore错误: {str(e)}") + + # 测试错误的输入类型 + print("\n测试错误的输入类型:") + + # 字符串输入 + try: + pt_output = F.mse_loss(pt_input, "wrong_target") + print("PyTorch支持字符串输入") + except Exception as e: + print(f"PyTorch错误: {type(e).__name__}: {str(e)}") + + try: + ms_output = mse_loss_fn(ms_input, "wrong_target") + print("MindSpore支持字符串输入") + except Exception as e: + print(f"MindSpore错误: {type(e).__name__}: {str(e)}") + + # 测试各种奇怪输入 + print("\n测试各种奇怪输入:") + + # 测试None输入 + try: + pt_output = F.mse_loss(None, pt_target) + print("PyTorch支持None输入") + except Exception as e: + print(f"PyTorch错误: {type(e).__name__}: {str(e)}") + + try: + ms_output = mse_loss_fn(None, ms_target) + print("MindSpore支持None输入") + except Exception as e: + print(f"MindSpore错误: {type(e).__name__}: {str(e)}") + + # 测试0维张量 + try: + pt_output = F.mse_loss(torch.tensor(5.0), torch.tensor(3.0)) + print(f"PyTorch支持0维张量, 输出: {pt_output.item()}") + except Exception as e: + print(f"PyTorch错误: {type(e).__name__}: {str(e)}") + + try: + ms_output = mse_loss_fn(Tensor(5.0, ms.float32), Tensor(3.0, ms.float32)) + print(f"MindSpore支持0维张量, 输出: {ms_output.asnumpy().item()}") + except Exception as e: + print(f"MindSpore错误: {type(e).__name__}: {str(e)}") + +def test_nn_implementation(): + """测试神经网络实现""" + print_header("2.a/b) 测试神经网络实现和推理结果") + + # 检查mint API是否可用 + ms_using_mint = True + try: + _ = mint_F.mse_loss + except (AttributeError, RuntimeError): + ms_using_mint = False + print("mint.nn.functional.mse_loss 不可用,使用替代实现...") + + mse_loss_fn = mint_F.mse_loss if ms_using_mint else mindspore_mse_loss + + # 简单的回归网络 + class PTRegressionNet(torch.nn.Module): + def __init__(self, input_dim, output_dim): + super(PTRegressionNet, self).__init__() + self.linear = torch.nn.Linear(input_dim, output_dim) + + def forward(self, x, target=None): + output = self.linear(x) + if target is not None: + loss = F.mse_loss(output, target) + return loss + return output + + class MSRegressionNet(ms.nn.Cell): + def __init__(self, input_dim, output_dim, use_mint=True): + super(MSRegressionNet, self).__init__() + self.linear = ms.nn.Dense(input_dim, output_dim) + self.use_mint = use_mint + + def construct(self, x, target=None): + output = self.linear(x) + if target is not None: + if self.use_mint: + loss = mint_F.mse_loss(output, target) + else: + loss = mindspore_mse_loss(output, target) + return loss + return output + + # 固定输入和权重 + input_dim = 5 + output_dim = 2 + batch_size = 3 + + np_input = np.random.randn(batch_size, input_dim).astype(np.float32) + np_target = np.random.randn(batch_size, output_dim).astype(np.float32) + + # 创建模型 + pt_model = PTRegressionNet(input_dim, output_dim) + ms_model = MSRegressionNet(input_dim, output_dim, use_mint=ms_using_mint) + + # 固定权重 - 不需要转置 + np_weight = np.random.randn(output_dim, input_dim).astype(np.float32) + np_bias = np.random.randn(output_dim).astype(np.float32) + + pt_model.linear.weight.data = torch.tensor(np_weight) + pt_model.linear.bias.data = torch.tensor(np_bias) + + ms_model.linear.weight.set_data(Tensor(np_weight, dtype=ms.float32)) + ms_model.linear.bias.set_data(Tensor(np_bias, dtype=ms.float32)) + + # 前向传播测试 + pt_input = torch.tensor(np_input) + pt_target = torch.tensor(np_target) + + ms_input = Tensor(np_input, dtype=ms.float32) + ms_target = Tensor(np_target, dtype=ms.float32) + + # 输出测试 + pt_output = pt_model(pt_input) + ms_output = ms_model(ms_input) + + print("测试模型输出:") + compare_outputs(pt_output, ms_output, "模型输出") + + # 损失测试 + pt_loss = pt_model(pt_input, pt_target) + ms_loss = ms_model(ms_input, ms_target) + + print("\n测试模型损失:") + compare_outputs(pt_loss, ms_loss, "损失值") + +def test_gradient(): + """测试反向传播和梯度计算""" + print_header("2.c) 测试反向传播和梯度计算") + + # 检查mint API是否可用 + ms_using_mint = True + try: + _ = mint_F.mse_loss + except (AttributeError, RuntimeError): + ms_using_mint = False + print("mint.nn.functional.mse_loss 不可用,使用替代实现...") + + mse_loss_fn = mint_F.mse_loss if ms_using_mint else mindspore_mse_loss + + # 函数的梯度测试 + shape = (3, 4) + np_input = np.random.randn(*shape).astype(np.float32) + np_target = np.random.randn(*shape).astype(np.float32) + + # PyTorch + pt_input = torch.tensor(np_input, requires_grad=True) + pt_target = torch.tensor(np_target) + pt_output = F.mse_loss(pt_input, pt_target) + pt_output.backward() + pt_grad = pt_input.grad + + print("PyTorch梯度:") + print(f"形状: {pt_grad.shape}") + print(f"平均值: {pt_grad.mean().item()}") + + # MindSpore - 创建一个计算图用于计算梯度 + ms_input = ms.Parameter(Tensor(np_input, dtype=ms.float32)) + ms_target = Tensor(np_target, dtype=ms.float32) + + def forward_fn(x, target): + return mse_loss_fn(x, target) + + grad_fn = ms.grad(forward_fn) + ms_grad = grad_fn(ms_input, ms_target) + + print("\nMindSpore梯度:") + print(f"形状: {ms_grad.shape}") + print(f"平均值: {ms_grad.asnumpy().mean()}") + + # 比较梯度 + compare_outputs(pt_grad, ms_grad, "梯度") + + # 神经网络的参数梯度测试 + print("\n测试神经网络参数梯度:") + + input_dim = 5 + hidden_dim = 3 + output_dim = 2 + batch_size = 4 + + class PTSimpleNet(torch.nn.Module): + def __init__(self): + super(PTSimpleNet, self).__init__() + self.fc1 = torch.nn.Linear(input_dim, hidden_dim) + self.fc2 = torch.nn.Linear(hidden_dim, output_dim) + + def forward(self, x, target=None): + h = torch.nn.functional.relu(self.fc1(x)) + output = self.fc2(h) + if target is not None: + loss = F.mse_loss(output, target) + return loss + return output + + class MSSimpleNet(ms.nn.Cell): + def __init__(self, use_mint=True): + super(MSSimpleNet, self).__init__() + self.fc1 = ms.nn.Dense(input_dim, hidden_dim) + self.fc2 = ms.nn.Dense(hidden_dim, output_dim) + self.relu = ms.nn.ReLU() + self.use_mint = use_mint + + def construct(self, x, target=None): + h = self.relu(self.fc1(x)) + output = self.fc2(h) + if target is not None: + if self.use_mint: + loss = mint_F.mse_loss(output, target) + else: + loss = mindspore_mse_loss(output, target) + return loss + return output + + # 创建模型 + pt_net = PTSimpleNet() + ms_net = MSSimpleNet(use_mint=ms_using_mint) + + # 固定权重 - 不需要转置 + np_fc1_weight = np.random.randn(hidden_dim, input_dim).astype(np.float32) + np_fc1_bias = np.random.randn(hidden_dim).astype(np.float32) + np_fc2_weight = np.random.randn(output_dim, hidden_dim).astype(np.float32) + np_fc2_bias = np.random.randn(output_dim).astype(np.float32) + + pt_net.fc1.weight.data = torch.tensor(np_fc1_weight) + pt_net.fc1.bias.data = torch.tensor(np_fc1_bias) + pt_net.fc2.weight.data = torch.tensor(np_fc2_weight) + pt_net.fc2.bias.data = torch.tensor(np_fc2_bias) + + ms_net.fc1.weight.set_data(Tensor(np_fc1_weight, dtype=ms.float32)) + ms_net.fc1.bias.set_data(Tensor(np_fc1_bias, dtype=ms.float32)) + ms_net.fc2.weight.set_data(Tensor(np_fc2_weight, dtype=ms.float32)) + ms_net.fc2.bias.set_data(Tensor(np_fc2_bias, dtype=ms.float32)) + + # 准备输入和目标 + np_net_input = np.random.randn(batch_size, input_dim).astype(np.float32) + np_net_target = np.random.randn(batch_size, output_dim).astype(np.float32) + + pt_net_input = torch.tensor(np_net_input) + pt_net_target = torch.tensor(np_net_target) + + ms_net_input = Tensor(np_net_input, dtype=ms.float32) + ms_net_target = Tensor(np_net_target, dtype=ms.float32) + + # PyTorch计算梯度 + pt_optimizer = torch.optim.SGD(pt_net.parameters(), lr=0.1) + pt_optimizer.zero_grad() + pt_loss = pt_net(pt_net_input, pt_net_target) + pt_loss.backward() + + # 获取PyTorch梯度 + pt_fc1_weight_grad = pt_net.fc1.weight.grad.numpy() + pt_fc1_bias_grad = pt_net.fc1.bias.grad.numpy() + pt_fc2_weight_grad = pt_net.fc2.weight.grad.numpy() + pt_fc2_bias_grad = pt_net.fc2.bias.grad.numpy() + + print("PyTorch网络梯度:") + print(f"fc1.weight梯度平均值: {pt_fc1_weight_grad.mean()}") + print(f"fc1.bias梯度平均值: {pt_fc1_bias_grad.mean()}") + print(f"fc2.weight梯度平均值: {pt_fc2_weight_grad.mean()}") + print(f"fc2.bias梯度平均值: {pt_fc2_bias_grad.mean()}") + + # MindSpore计算梯度 + def ms_forward_fn(inputs, targets): + return ms_net(inputs, targets) + + ms_grad_fn = ms.value_and_grad(ms_forward_fn, None, ms_net.trainable_params()) + ms_loss, ms_grads = ms_grad_fn(ms_net_input, ms_net_target) + + print("\nMindSpore网络梯度:") + for i, param in enumerate(ms_net.trainable_params()): + print(f"{param.name} 梯度平均值: {ms_grads[i].asnumpy().mean()}") + + # 比较具体参数的梯度 (不需要转置) + print("\n比较fc2.weight梯度:") + ms_fc2_weight_grad = None + for i, param in enumerate(ms_net.trainable_params()): + if 'fc2.weight' in param.name: + ms_fc2_weight_grad = ms_grads[i] + break + + if ms_fc2_weight_grad is not None: + ms_fc2_weight_grad_np = ms_fc2_weight_grad.asnumpy() + max_diff = np.max(np.abs(ms_fc2_weight_grad_np - pt_fc2_weight_grad)) + print(f"fc2.weight梯度最大差异: {max_diff}") + if max_diff < TOLERANCE: + print(f"✓ fc2.weight梯度在容差范围内一致 (< {TOLERANCE})") + else: + print(f"✗ fc2.weight梯度超出容差范围 (> {TOLERANCE})") + +if __name__ == "__main__": + # 检查mint.nn.functional.mse_loss是否可用 + try: + _ = mint_F.mse_loss + print("mint.nn.functional.mse_loss 可用,使用官方API进行测试") + except (AttributeError, RuntimeError) as e: + print(f"mint.nn.functional.mse_loss 不可用: {e}") + print("将使用自定义实现进行测试...") + + # 运行所有测试 + test_dtype_support() + test_random_inputs() + test_param_support() + test_error_handling() + test_nn_implementation() + test_gradient() From feaebe16c2386c1ccc00e2b2a41fdad531e92668 Mon Sep 17 00:00:00 2001 From: huachao Date: Mon, 21 Apr 2025 13:22:38 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E4=BB=BB=E5=8A=A136=E6=B5=8B=E8=AF=95=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...13\350\257\225\346\226\207\346\241\243.pdf" | Bin 0 -> 476004 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 "test/mindspore.mint\346\216\245\345\217\243\346\265\213\350\257\225\344\273\273\345\212\24136 \346\265\213\350\257\225\346\226\207\346\241\243.pdf" diff --git "a/test/mindspore.mint\346\216\245\345\217\243\346\265\213\350\257\225\344\273\273\345\212\24136 \346\265\213\350\257\225\346\226\207\346\241\243.pdf" "b/test/mindspore.mint\346\216\245\345\217\243\346\265\213\350\257\225\344\273\273\345\212\24136 \346\265\213\350\257\225\346\226\207\346\241\243.pdf" new file mode 100644 index 0000000000000000000000000000000000000000..fbbcf1bf5bc098bfe888b98dbcd3df8a8d831b77 GIT binary patch literal 476004 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

*VStAJ;DDerJ5`E7WCuH?O7lS877k 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

0cg7ec92qV`QExs|dig@*HAje+%(udY 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 z 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

vdsDT6rbWA=KwEP5y}1`c%=7 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

_2cZyrTchyo-Ug$i& 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 z z3`(uJ745vsTjEa=>yxhJB54-WVVlP2VY2hcH!^wb-!*Rh_ua8n_La!_A9gps$$fv> z-PBsUxT&lfx71EN<7mc=Xc6p(C-+*0DA3b{li;mLAI+Bm zx2O(%UhL`Hel}5bt*r3LR=#da|uoqg>mJv{d~SeM#iW-3)%GlBI-7i8)}!;|+}A)iH>O;#eeyhkckdfdh6Usw zm6aF38o?5*5kyw12d&9O#9#ug59ka(&`C)r_@9f<%5KrDU z(QU7+7mUFdwj~a90FGin{hc>z(g3N6i7}YXk?2-NRneu`hVwz;?^@%0{5Z{b(GF3vhC+G%09oBHhj z(eq*XmDKN76|CP{{Oj$~>qUCSpGWn%2Ikt`YNeE!NSjOj)B?+%>+LnN#NAms+yih_ z8o!@uE4Rxqyp+-iHE9@wvq;D^R)U|v>dnb#jW@Sh;XIZ1e)MQ|g^aFl##Q@ZZ_I4G1PzPca8m7#%hwnAehpaTP$i^+jwBm$!QLcM=oO}>HG(n9sq zTNuA#byX}a-E67e@*)<0$GA#{s%>1L9Sa?X)}2uNWa+NwA#J*oVDYc_gx@xt9?fYy z!Lj&?|6=hW_bErsHXW@O%l4cL+j+7SIe$X)ntiU^R5C$zL)r%K$3YU1?k;1{ zY*KRa(;v8k{~j)y54+VY_KzE~-|F8pdQf}&n88~Z?+)er-5;l2We6yE7CuMOqbsL@ zuG_*{$uBR_)+$-8Lq6Erv9w9Ox#P!Og8ul-*QIa^E_!M(KKGho zggQklBUGS+mO1|Ylp>uY)xLSYYS(sZRhDL<7Y$S9-s|ZpNt03~2cLBMyCRom&>s;) zuc8LsUCf(>BKk%os+!f`;P9!5);RR5(8|-}dtl`l0A=`Ob+oRAP=L z=DEq@!xOghIV01b;_59%klDEKbiq%FJ;hSnIBNIfg63RNq-yQ{H>`2-=Zq2Qb((yN zOf=qX@`$AoW>l%%F%Sff^~BuUw1UBTxw+2h>%gu7T+LHowmg_(#wRTsOdafgeQ@Sk z?hl9OFbljU#C_|30LJm2PDY5KX6vQHVde*7{eDNtM-kcu#c()y``vvU!jKb(Ftm{i zE;aq%A1nCr-@c-V3J@NH0=B_Jyp$g8Mm4bm9wtC3N%d@&O)gYhDnE(W+pA+l zrcj|vzp_Ly-9WQ@!YqWfA$A$=vqqIsYihw{^!_XOjaQp~ctc~Rc&H`l{?PZf(G!}z zvoJ8M4N>>wi2g^#1`a%6m3ZQjX96-KS|Xfj7RSq`~W~S>8-_c%37P z;_IxJ&DzSQ!Yu88*B+;RjSD{f^z1D-7#te>q@WsEwCz3{(9H0l3G+OJ%z_xKec1;Oy96S{Q_T?FTPSN3$B5XHR@a@ z_^oB;vmDGZrWGT>mi9iHcGWUmkCycUPhDCFI5;};u$ybYcUvzKO$SJb;lgA#>{S>) z!^jS!9%t}EoqC70oH>hKxo}W}zlpsQF8?~%m-Fg%6f4==XFCmMXCp|+$uQ2AqNk4)|CaBxK{%)zf~L@t!vqW2RSx`9@U6i7Z;|&A-oG1R z!vlNC9L(}EujH<(YHu=bk-S)Wg!d{2OfOX#HLc29l13St{*nhzhLCZHcP@MBbs}~&)N8M&eZ$HwDZ6ThaC^#JVcVF;Sr`5O?GRCA|DEbJVF6&aC z7QC)}Aeb~GYqI1qa^MjI_+C)GWk4l58LIiBYyNvE$$MR9*(TIyZWcWYI!~ed@L)_Tn{j@Vknew@}d-yQ=37W-iFCKxz5xk>6 z*E#vM{{&t01k7-{0DpW3+<-#bUxi0%gLX#;XRooXqH4;$qw?$3 z%qM??u$+?~ze_YMs5LO-D)>0oo(k24x$w*eH+lQhmATQCHQ+N&GRokVmtsnEvvZyw zFIn2Unw#j$gjQ)H~2u8U<=~?^K@bXv{Nd;XeNjvGP8C&ChG4^n)HYi1s{Y`gR1b=IP^(1v&{N zI@F#w<75I8%W=R56&AiB3aKEKr);lbDV8Qce6s7>F=?^J?*uE#l^UN z!t#7O)bZ85CbZ8?mvMFOGDkkN*)BhvLW|dj)NS||h_Mbwfv5-ZCdP<_8x}NkGK9Uq zs#tj5ODJa!ahpyk^sX=sC^C-vm5pQ}#D$e7y^D)CBX=@8+y|BV3fuEVTh)lApo(p*^ zYz=CJgP;g3zjN55#rT$JX-Y$<;RlEQ>4~Rbc zCxbVNb<5$aF-_%+>)+a#(=l>#mmGZ=Px({5ROsuF&O$~YUy%R>;f(S0)mV0?9V$Zh z8WUTXcFD6kk-V!w+?lN@_3z1iN6FJt>MkJgZnY7wj$LZM89qUe2Nr`^V@#evFMVER z_G^-b1i4jIm-AfKP^NW#dF0-Rq(Q!$E*Aj>hBjXomYbj}yx*haO)h6f{cllVho7<<^bslr_PO4|#b7US1&{d)JvxD9yU`DJFMQaLZ;Wzc|d zFCkMF?bVQB)1^%7WHi4V>h=%A1&87^OJ|+nBBZzYHq^S;P^Y^NKe;>6J zptJ7zS&dt&HHW^}S(B;=w@0{d79q6e#Gw~5>!axoNoQR~!|9~QJ{+cXo zS-3h99JzP%MZE*ieht@c52CdD10N?rks}I8{ z_FoTw-MV!Bhet_}Kik_*C(U}=HceE(Snp=WELMKeT z#rT>4v)A-9$A_eSaM#4rvgPReVpV?S@(+Mm_OV_=Uo zbIh$jAca^4xcNHzjE%Uezj{$l>XEaL?n0Vca3Mz{qy7{3%;H8x3dJl z7}8h+VK_ZEQEAjw9{Z){=?d*3%6lVj;t$}yBY%mHrBOEh)N;FRe8K$N7LPu>=6y|B zT=B9t@A#4MhoU^4{dk-N@h}p-`~b1BZiPe8%P14;Y)h6#Egu|C%O6##3s$*u$O4s; zhb1i;FAbP0u*T`Nn-}3T!@9e1ckuTC_nN^12NcG!*67v4A3JMr8|3DDf*3~Oe+k?| zb}avOFc<)y$6RVB@N(;>IXjg$tN609Hs9|QmskYt%zuNNNXGkm8!kH7_7cB z8+Rtdl}ijdydpSh+BTkVdROSUXrfi4xVp&tJgU2e13#Ed`(iTJQH*NRuX|!B$B7Z~ zjryep9_=a9NwLd{963-vsk^+bi-vwhMf@U3^I1bQTMaqd26LSGtkKI`JvNW``>gw` zmAI2DdqV>u`uhTmd7(wKP~jA#}|I6~1N+{M|-8Z>0XFx}d4@y*AESe6{m9;wr6 z+c*1XQy+?&Zl=fiye!Z3&!kpAB#F~(R0n=OK1hs8K?C_p+0&_AxQgp;PKD0bD=vwf zP}|xsh4*NXc3;1O*?xG0B>_){te|4eE}e}w?|7j#Wxwm5KLgS~zq>0*_Z=nDs;<_U z;!h8cQ49Rt;k58Z;nB597hOX+Ug*U^Nn9`Mw4O2ziCYMgv03M*k#FD~cH9h7uio~9 z20j>d&TmKPgOb#_UUk&<_AHahTuf5_Z^C7Wrcl=fCe`WGk$ydfVfBfUh3uD*ZkyRz zb#D*euAMgA&3OZ$4@W^dYfSGW|0_`lQf_UjM?ay0>&mkxG8Z-a=oyP(?C8+nLhRRRTWfXVM#_kUc`)Cv4L3* zKj!U-&BWObXfA+-40&*vmS`JxR&deywg~L6>(-T1vWw03;Z|a!Ntk%s)9EQC_dbWz zmtdWJ8d0G zzY8KI?rIy7l`Og$!Nn-%W(VA)T+;RVc5sF>W}oNJD1JUQ6%=2e;C=dqfIW-yXw%T9 z^_F_8mw8m5^+S{5&lLQ-h5bEGkvfv(Cl?0Un5~1zC=G!hAPG_Bw>AAuDwa@7~b<}4~2i(UHU>)~DF9LytA5Bs+wz{c6YIEl-wx%@c z_2>qd4TkWJ3U>#C6#HcR8d0aG9#2)Eu1E=q9{=n-)k%;H_0Y|5)1maN%Wum1xRo;5 zl5!)dl!+BfgC6EXxmjFDG;BYntd9Jf*@E1b<-ovHDd=YwM1|d+CUR1fNHPIVD(bf< z&*&<)Q%0H(j7-$(RJh~Z;=CBkVqrC-PR^IPyO|A`r1R`eVpy7s5pC6rtaRzq5rv$M ztsNt8zxCLPpFiz^CsG-gCLf-)PrWLC{Ct+wEzx)#BC?}D@Fx3a`e3CoCp|fs#{IRg z2`+`$Zey7^iS-P7({fa(JYV=fJ4`2ifxp8=e`nq6n<@6&m9jcV_8QOEMHn?Ow}QJ%|Vh3rA5<)>};4{_z@X&y+89IG1{M@gC2 zr!u;in(W-Zh`x1zEH3qq^DasMK9;u2yAI3BZ;Vj2HbNCG_kc5@tihpxgOy>t} za%+hn5Nf^a*88fW=ky1_+JAJ@K8d4^7-!E3BFQK8`tB@(|PTQh7n zh!zQ8nu8o)wzIK0t$l=k$gymcO*7Y>IJs|Zoqe;l0lIAJAU?(q(cHb-xd=+~YF8|P zwzjmM`$On)V%d9|cXfHf8{#`dvZZBsyAwlB9CzfneK&ZVo|1f12|=OCH?FucuGr1k zn2&JfJ-xV_`2&#`s4nByw3F@~*ounG_c`u6It&{U)5>zMw1CmvECm>P?VyO$nsVrl z(EOUlYC1P`rA8Lkg#qW+Y&Yk&DERxJl*fIGjSTiI8QhSJk(5~~z_c-zihU2rbxHBk zmTLDZaB)O|>rhTQFwJ>c9ExQoI}dyZoqe5QP~meq2q4_Q(Np~4rSCdI3iGd=o>BU+ zb``?DH{bl>2d+0K>&C&WTt|B}Ea1}1~vj*#e-G7D)YBks!qA7>JTbs)YPt%$D1MsK4@^}j!a?u%gW(D`` zET@>axzc;1A1G-;;U}Y&SP$oAT=mcrG{`Qz;0Qz}fKNivB9IeE(DVw0{-{vtkVL~@ zLuWS_s#*N@T`-b{!EL74M%Q_FX^f?1f9Th#ENL`k!BV}FRim?d{88Qr4J6lit)_5t z$Aww6cHX#$`l}vaOS?4Karp6s3*=YIFz0DUYHYY^h1=srh84NUS1Btd=xR$uf@AK0 zU;j~jj9A*%OhRs*W=lWrE7dx*f|cZ9{s8vL6fh?P_vy`VEeH59v*SJaq|EzMo&n&O zi1{Y$aeJu7vDVCN%09fuvO({ms4sSSUdzSYp%Z?P7X|sM`X0UTp5*>PVNQT5TZQ3y ztO2UJn$L-!PQsZ6TI!J0^;gQ?RQxVCq3vMyTtzeY_18sn4i&V(dXmDfWK3Xvjf2}q zC0K3DTFL}lv~=;}^AEPNt&VYRxH`MCuBV7r`=nRT02TWk7UW3g*J-yeVAnkr%|-RQ z2z>*J58C}J43>nDH$;=roUdW)q1JS8$W+A&$`$sWmf2x+RXSX z$NPmd@7+*X#;MBWq6}VOw(V}G{9sUeV%q6&f;20s_^%21D>6!K`dNlpvbhs@!zFuO zhjB)kkfvj0{7cz+q4C6HRTr0!Q)68*(nTiEH+}FipLSfH8n<2zcm7RO#`A^laCcKT zJN#;)UKiXH>|^rx1Ieu#(EjU9UCG~O4w3$tq6q}@lO*f+4f ziP9 z6=w2hWeujUwRrgE_0%n|f7u=k*#ft{8!%^H2d`gxTM&H*WFVVpcm3WTfBPj17je2$ z3MfNTrIq)?MNxAsh*Szwf~6dWeaX{3(*$_6q22U3^+W9FZ*d}$rvlFXfJJte;4VqNC0o6Gbs8x1>Xko2vM9z%4 z$0IbMF_$4`G>+l)-V^@KZno(^suOAtREX>~=0c1IX z+)Ad-+m?|;!rnnoh;y6X6Cp>lm)R$3c183ip5=j-zcr@5PcWcaq4_0cp!OAeWON>6 zil81tmTPiJI{$3ylM}e-cOp}EDL0vH?7^S0+TGlUK%Bd=PD4}F*k=fTf?W`u42$5x zJp)=}x@uUtBWXM?@4J-Ue9XZd4A2kYgG7z(Un*y>6{_2vB}Wd(Cr1;i6%*GIck>j@*al^(8)V4LDYFJw8KX*&}PA}re#d%75mzd0|gFK#f?fsRg z!^>stYfXF0{-a#{Z>`*HDcnlM(&gw=?a`_8xmvMubg<{(Z|OKptBudI-i+2E1Z{6* z*p5V3CPQMz_Q|disLa*mjtQ!8g;pjDdqKvP4jDm5r180ceX(fO+x7_N3zxtAiQayY zmZ;noqkdy-?3-fT(3df&09}o9_ucd}Fj|q3Qfivi$e8{Em?}9;qG{_rw6F|Iaxv554y^qI9gq;DHzp#(I3_}@{HgEkwIcp`sFGdZ zVjhJGz3Q|jrFLq=Tg%@BeGqdh{!^_;;UNP1>Gd_MqrsNf9f(Cv85OykicOnwGk&^R zEK)n#0tMdcW`-p9+jV@HESyAC>UkjvG}{l&qJ--IULx?>)mBh^t|ij>h~ zA8(J^`o)m*AW1iq;rYDy_CW(~wSRizsv#jw$?zEm7$78mOJD(ND)qza6vN=6l zK7b4(Ks4#Zp8Dx`iF~7`2x#ROnOd=fFzz%2dbc`RlxG|o5`f2wHYpfxDwwtN7Eo{# zen@LcQ7Pa3xtyILNrqdnxrQkSIh^_jU~%3Kafe<&`JylA{9cDtVAWW*Fm3KV@*eA4 zi+Sabva7=?>@MY?JoDsFel#d@%4Xe;n^af=(&wswpI$4@3H)#<4K#42{XU|LbjZ+8 zFs1G&Rh{6YP~R#gdxUqE`Nr~a)6ehPzEuv8P`QV*16#UtAn*r}>2jlz_y-VE;l)IY z0ns|Yht?l4{k&>Y$qaM!K(d1)i|ujAWSa0Bov<)FZNd=8-ch4;Ul@p zWBj;8wf3|)(XICZt?HtR4QgonkTA#p@{X9iu$n>?;)#db za{@AW#Vaz+xO}Zm2bbm>82oqKiY3a06=j9iVVLe&7EN_sN_Z}ib4K}pvG>+rQTFft z=qM;6Wzem3OLvLHfVAXL3P=uJLk%Gz5&{C!(%lS0BOu)kL+8*9(thvfv-e(SpS?fN zv({PbtaW}l{{YN=-|x7t*Y%2WF}xLxd*t?5cgbCUKpomm`za`$K-VI=-mZMc&b#BU zIjU>2s(-h=ltpjCaP*3WPr^lue>Pl z^87y_O<)|2Cdyg*q68DuE!I`SD{SmlT=iWDp=u!i+1QYDdrr~Jbnaz2VDhETX# z<5zwC7bj@9pLC>;uzb5PZdmc?)JIES9AT17wU{VNPh{CMWdFp6kQ%q;KaDNCaMvEm zj5K^b)&r)nPUnU&9WutK;_p1QiYicgPp@4NVDy^s*b#92g)1V9FTAdK+VC{GG$OAC z7ER*$nR{id_#@ZWTk+2f5IC0p81cOUb0sqFg;)`CoVpjf>}5%gi9IjNx_{Ol>H52XN! zK1omlF0sdYQn=+Z6LX`amtXZCls3;AEqXTH>)&fqe*6D0nJb2=N5zc%a703q7* zvbRm2rY}kmsUMCNdXjr9sy^SrNQ5x2xZrSf*Tp31(ve$cv>!=7p8xi{=U1_sK4HhN ziYyck=QoNhIJSpuY-}i?yoTTk@F~{A%Du*@>W=et-tIZEAufsw+>GTq+f` z{W%gPG48#4>E+mho?R4oOz(_r-&Y?M6NDAc^m$gHP^iw?w^JIn8b0@03!S$ryNciz z((HmU@$ckod^Xqohwu1j4FU2yj~Je5%k?{5irg7w--*&m>U_o2Y4HJ86n^@1>9q)j zA#^$*@j8dj-uRrPoSx?*+(?uXlcIv`_@<|a3bumHS#xJNc{#xt`>TtRii4AUJ%BSB z1ScV4J&KGwM&~PmgSd@7M1n@75s;$Zjb6i1clM%v$5kyGox)eze?Xze?aC`B7Vx|w zS7)cqO684jPt8C-K(JjEANXUXcOg}lOQ!>z*V?rL=fneIerEoDpx;dX8rJoUd09N1 zfG@KBb>6>x+#9@qzNL4lg@x=7IvuPQ;16xvA)$StC%^%4%Q+gvE5p@T2=sS*p?d!IXaYIS*PEIjb)a* z)4}Y+uY2i$Ur&PZWb5MkRf>iFX4n5XMvID!EOoR;07d^F<5t&>F$}J81oitcP%9hvtA((Dduj{QBe#>1UV&wo~Jt;v>OJ-M^ zY3e`!y@a!M0WFxb>6um1r>AzXJ>ttH;w!Sao3Ss{) z=2kNbc4h{~MX@Fphg6ccT2aeiaQa#>7i9Bzy2J;TBK4G@Gf&jOOk+2e2lhKZD4UBi ztvz{PZWBj5`~#|Y`YZQ=O`_pe*=68re4@R38shX z_Bl^g045DwSPPaBD|H;ZE>Rpv@VbFd#^4kDWYtn}ui=({3gq%d%44}9o?oxXzH><+ z>~+VOM$TAlIgJG4#mqXvMpEKG&q{FmZeMPA(3KD0wZBRQC+w**%6XbhK}vy5Cny*m z6twqgO3+;;^aNHM@bcXQ5PnmOh+9*!V3y^HB3o(A2w$oIm5$nk2BgSKDHjp^z$aIZ zI@`-MuZdwWHFMkZ**3~BJ6`!gn~bB~XaXiTWdQ78Zy{#tYM(%PP_f!YoZSWx%9)a= z&-Qk|H8NRVti1l%Kru`3XvQN+{K=NH68&J|C~O~-!4Cx*60g6yBkHhzMa8RM8$d=O zFjkrM`w|j(w(^PC+$)p;Q5&=1!oqH=_3iv+W@%QJb(P^3>bqK*&&QZLY6k zXE@saDdtWx7^k$+>N5+A9k?~xv5EyQuNxiDoToj1m-e1%FATLCQMEX7OxJ@MHQZsA zkb4A6aMc`9qc-7bZ@Lxi-Htg=+u&ynA^rd5)vu&H%1@=eUa||Nwt9Ym4>B$gBj{|n zo>qEEedj$Dme){qBv+C*t@KjXmGvNuYn2`&QoJXp z_9h&vBRB2>(-40>@xy}5;Oo!ZNA%i1{_mBzj<*V0^{_KGW4>p@_*bXZ!@UKKlx6S@ z@GBt`e0vlfo^!F&9>M(eiSOv2LFxlu`$u$9r+vdJXzzR8&f7tY+U(GEZKbk`%d`1m z?Vgm=nGCgKs7KCkFuRhrwys6bO-wfm=UXLhBoLQazKmR1CcM8r8@!zM>1r&jDZ#Kz|Cu#oY74y6YP%4VSaI>dh9rXQptN;BX&=^_&YY_xxlNrf8yn3RLt8Zl7N;oM{rC8+j*CKEd z!Ix->a7kl~J6*)xBIo#(b4IE=cwzfpdT?T>OfqjYWKJwxSWL87Hdi8t<5RSLE;j6u zW>42VllUzgXTuk9xf9Jp!B9J{Qfip{FP`~ed5{ZDkW-R&tWU84qB$Kam9_M^VZx)E zY%NM%9&&$D@QlT^1pM#+APc`Tfz~jJqy;Ik@%pWqLP-qw?Wp6pj*>sK)bqgamSx`^!!eqqUE>gAJFgvf*nvHjkqp)_B?jRm!VZhd1RtR>Bi+6T$7?{!T)jzD+IUB^F+ALY^6Y zW!9XL$46ZgL+^JM{OBiKpz`u@bmJWQ4;|xra0!M3WR2|~UVMf|w2sjqx9u;F*GSF} z!WBo3WDp@irzQB?syug$yb6LAy_zX3l2KcyMZWkD!SRf7{N^e0q8Il^4ZF!gY1tH< zYkipasUk^oh<?&=}kdk8$+j!aY^C9ja~d*^sGHM*q< z2ZAwDK6)yyssm1I8}BbaMmy!xBoYxP<}6xIJzQv;$@_}?^%aPE?T~GRk8G)YBB4G0 zEww1bioWg}yboN?dx4*RSJ-vf5wyM-VE=L~(KK!2P@X-fW;c|XK6dMl&m92E@s0oL zZporuapVHw^TN0UE7(NohIhI3ju&v4mANAWN>`bbgkU7)EB=ry2#A+J{8S&u-re1| z-`7TsVkLdt4CS%jFIwJ%$Oj7}a8w!Sp@rTZwrNeDOJiGWj`D&KkfA-yv1}OebC-5T z{-5*&&MA)XK8}>^KFDo>7IGGSNMJ!DCbE?IKt8Q$+wDuLEN2s zDQNc5k~!vjGjoduC5UVSzJZY^W>Y`D=$77?<5$_QeBs57VNqz@?F*3KKlh|gAI(8l zA(7Nfbzjt?RJh#Nl4E#Gjj(Yd*HRpBnOhvMC3EbtxH6v1wPB)LSrY_t1r)>(_`zwaE$29&F9dmPz{aP_W4pD;DH&cA3YcJu064G957A2E-qu#ucklXaZkMXV~K;>i1) zcm(Fw_mWxp*AkHij7faJ1zAJ=wDO40^Tp^!JUCS=`(*Bs(!J_?Xeg1&UBEEoi5YuokR}})iNYu+Cs>y2kG+!g#9t#uLCzVQlLGMvG$H%0O7h{n#b>-?er{^aJMG7U!e^t!(k5R=a z+gga)Ilznj5O%tL2n`o}Izxj$XVC6fmhV&XZtd(n^?u+@pn-VjXI77lQ(cJH<(&o+ zS#Tqq8RUGJm!)-AgWtGzWS}pGJks{h7vc$k2gRCv=MnHg#cpUvc`?u zbx=wI$yN-(KPrP1-bT^Jsgm_9!P5|M^}u#&sx)zdgSW}*^;!>C?8UPlD-06ix1f_i ztJXJH@6NBpYx3ASD-0UgtzsMfCn~~Ck8)>GcuM*ZB_fB|fg0MII1P`XVb>Bk;e5OM z$|IKxtSh3(S>18!S|QVm^mS#n8TaRI4ZF^+;&H_Z$a2&hEwjWn7H2;|-a6%&KXW0k zazt*qm!rzoyIsPR_EV-77sLx#Lj$#Ha1H8X)QVCQ0D!58gu&W`fFKq^%rjBXL-}>E z^(a=RZO_E%e{`ZD5$j*bxKqmLBo+{gNN;c+3Ya8#;aD~{m`4*bt~fj{5Q|OQsOOLy zY7=n}9g~N$!i;pZti;amQ~fl#m*%;Ko;u914PGb#45Q|^jPO1gTbFQDCw+2rhP|52 z&g6X|B>a)y6ciap5a!K~mm83jqHmUDP(T~0Zg!m;Bm2vxamN+F1Z(Z?P@4XmV%C4 za855^k%F}G=P4H_6;Oo(W?_zizgA6Lo`E$gTw7q)dq(A+soyIe@Oj~w{MrybWa6CL zu&1|1G|GC*h4&Wd7;nwORh{obti8f-&uK!Ai&I~oysbWgSG%O|;Z4uneI2pgNlSI^ zT30Oz8eK(1Jl>HH7_>>Gb!~|1m!?<)BE`fv17FvtOQq}S(Gnj@bOHotVKEod-)ALU z#M4_f=OW@8spjX>FdT)gjq0@TYq!=glM#LbtZnj$+^BQ5FFFwzJ~?ZHx@Jp9^6;Jf zvWkJNa}xbj6l&&|d7}RdX^cE0WgXf8>20>^3ujjoe#?@`i=*%mcyT+lmWsFG)%Wqe_XNM#+^HNyVI^J_E_17mpYR(=N}C_)`!YGrqH;fsD( z?a|JE+tkAWn4!`Nt@x*T>7YmRkRy8tVI%&q^%>K*scZNp;ifbZvhOVzGYVuZ?C`g; zAJy%}j^DD`bO<`kUj$G|+`9`ht(oMvkChUxn*zT}1Y^N%WJxvE*)8q)@1_UyVn;p;H6^Rq&&h81Or$*zu*X^8Cl zEPH5%;B!AM@LI}m{t;^d-=|}Za!I0An!U&MMPPLKlYI;j?#UFBL`x8knZTLl5_9Q+ z;-T%!Yb`5i_BdTta!>F)!_!3U);?}JQcRb8Z_VX=C?DbY${79VI*={{LHtbAr4FZH zY8j22C>6CaeRJb^J*jK1VL+&k7L!_k$fhV(m(!g?6i_S}_)nat1;4 ztFeZ}aR902!~ht#AO1zWtvn?=o!)OOkypBQNQ`^_dygbxh$*rOu9)4l^K@W;uI&HC z8=i&1rLosu8}N6V-SmAHY?G?3$6*dUaq5q-dGn`{V^4?F zAtE`0pS|p#S$V##5j6TJoYGy~5+#$OJ@^kd-M!8c9g|p9LlZDNPjeb0eOHQblo&3$ zRD6pcY-={Yo}d)0RUmLWr_v!HMjTB>VGg2PgyV^ySeY#*)}?1c9vehaUIq`t_s z2+0{2j*X{Qvf-j0OpOJEOp55)`bj@tej)fvbGG#r2XqC5K7Yw{tL z!?PN4-AA=`U83vaSj||cr6s33Y%S09wgq)6^|w2@na<&95{Hz`;{IJKH`l{-{T#(y zoMpaU52|Af*2>~ZHZWa>0A%3bRn;?AV7eKPFKP|-$}jhA%2>gnJwcvdYqwP#yNnP6 zHsqKNTc)}d6FQnTJhpK+mEjSyKqt|iEg?H^arHP4H|lw(qu$2@Tpt>pN^)Ur0GT0SVua{An?5`Fz1>$bx@9_0!=ijf9v> z^Uu3N0M~pctf*+K%8EQ?k_3-J3Hx5SS)4HF=&QID2SbdH{(@e%6}{EBD&Zcn$TP&M z5cy75g4{g}Ckabl{AkWr1CN!b!!7Lpm9Qc|(oKAc?7AuSRv$~t{sBll4tysQ=ckvr= zp(oO`!9Ax%A_K@zeBy?-=uvcf|D!=~v{sP9_A95ZCXiFTTu{M|k^Q+VGJV|?K3Eiv zrcyZNo7Z_We)>^%oP!(>$bnpYB^gSuqnWL%XK2;TR5fP*9wKikR0g@$COh9! zT7g(pjqpX`HtspQonSqS6D6edBTUQM0P0jtUnAqtLE?WZHFZ6?f_LG_GaCwoV9X49 z_k6)V-r~mh`^^?k&Y(c`hv75f>VyeX1czDTJmdPVg9p%`H?7#%=o&2u@rjnOF2xg2 zMh=#ZJNx1A;{n6D@Vtn*4 zHE+|?o7_gO%6jj*?{i?y3#`n0DbM%e`9&J7nby<<rmeR``L#V;aMMV@#H8Ba^5m8sRhb?`i~bnEpEVQ?5>hJ6!LWN7*wb%Ut)&_~K>E z9A-NetkO-k<>zV8+Y3DrHqHZ^1)TI?3->UhAkuYH4F&bB7;p~4zZ3{>cxxXwK_Zd8 z5;Ly)nw4!Vp|$4KoV=O0sG~Ff{pO7G4$at!PhRx|$9T>)A`EcIb#xe1cbU z@GhwZ<M_QzVqYAh$zx~F=mhAO6SS}n)fA3l_Us94Hr}zCC;S&+pwJGR7 zwlG{l@5fHdNR_j3Fc`);7-!o>Ek5$xQ%MyaE^gg~En_|-P}g^`)Y060zQaa;e*tT{ z*BH$d8AyGHV61>=8?>)aTf*Oemw4M^4dW4BeTXm*d^0XalW#4MBspEmVZ?`bo)9bi zJ~ps}>am+fMUT26V_=?@<7R^XMj2tklP=}}HW#0Ux$t9o@jswcy}Ge#L)F)Y5T)vv zo*#fkJ_kx;DVXl7s`zcgSWV3xf}w#eC5~uQ=O2&-w$KTvc9&K|wH$kS|44x6S9}(t z57n0DadZave=!d=8T`B1pmo!KQ-FB{-S91N3AkT*|JD)Y{6fEAB~2{#7=)Gf3+Tb} zpr2K>VNL(ogMC|k;$hu8rWmN1@V0hzf=PFuV{-W;d&os}CG2V?cSru#T9ooGdbwdh zdk`{_HaR&dfcjV;`yqA{AJ1Z&IQ@N7%*%M}2y) zb;Pjw^Kz=d-Ks`2BG^!+7yCX$s%)JM8+1Gn02=tG!cEZJK|e){5HMGX5S2@p9tWt| zWb_c7*SNMaPv9Y?!a_95Z;j;HWL@>+;v?Y8fyGwZsviyw9+?N_@I1uI_zP^QMkL!m zvh=K<8Oj-w{QflMaM$o`tOnl^2N6XTh(f#L@`J zZt-N{c~<1mfE?4W&hLm8^)rNb!%oh92ZD>X6?8YW95_`Ak2YUdYkmlnhQgYkT@Ccq&9ThWmygzdpuLg+evM!4S@BfHyh!N&Gs?C zwFXYgrE>I%X&IGui6=24e>3{R=1sg0#$bSKY;VY(U9%3InS4KNi1ExylU5S zo_))wJui5F%TQYE$V0GZ-sZ>}Ok|fQXe0tOpn(49^{y9v_`>^M=(<7|kh&qkCznlE z?EN?OvYolze%X$_FQwop+i)*m{=AhIyjH6${YB|qiDZWp7?-WZiF7yplNpI`y7-*c z)jltP4ABVt-4Z>=D1=fKOgtelX_No&7f7i!2KHo@z;@rgT54T*BZ)iN?+*T=^6Wk0 zUlXS@)e$N-IKdG)pZq#`6jS^>x~UN=^~Pj{Em52!!CKkjPxlZuZvTjTBrEmXyF~%G zhcfS*5nAL_&cw@j%hMgd(C%N{WOS5{LjZY3fv*WiD^PKqo!w{vq6V@0VTJ1-vasz_ zaXF?41U;@0DBS>xn8$r>`nR`*bF)^1BSO7ZBDwPUxYET%MOM4}W;JyYSxLNz==wlI z-(pRJBcJ))jADtj7vE*9NQ1I5(HNw3_NM8cKDj}8B}1X`nvJyGX_&>{V}-A0OyR33 z_Xe%)edKLKDaEa&GYnOKs1_H0#qppqWr3%piQsx&P3)=I;~H)bai-faro$`5nZ zx?zK2d(cVm|A4TLUo8Q%z&s=*^t9`E+RV;X^ItjPx^@wi;gLCpU`*;CQ?B{a(3N>9 zYY~CU_u~TLdUM=z8d!&d%d@A&>G)P0&IQIY@GL`X!B>YLo`wGOPC0OrU)~wu%oyIV zER!0);V>l~<%B5ui03vb!SZ*JoG$`(Lt6w~!;4ueCAN>Z*2PA>h)hElf63#jDqb$@5` zejPnczBO{jPq#g(4^J_(FX$q z*iP0gCbQ74W6W4RZGg$0<$ewkwPH-J_aECyOOLSM)BtFMKhpdiERO|@ zMppt{4B7PSfFvSU@riA@WBGR0?-Nmy8t{X{ZwJ)&J9(EOsP#MG{EBYh_9dHiNw%+E z)U8%SQ?wU>d=6FEUeCBmqtP@+MOVN4rw;hL-KU)8P zH924lb4MR9s?=&UvftALJ|RVkoaWKPLmA7LM1LX&)QQg z?d6zkMp)0kIj~rB8f#~0JeFqNixFUM7jDIRnB81iJGQ?t zxi86S2C7`6G`lZM>GHCEUbP*Ezow!f1dia?4HohzwQL83IJ>H4)-9!5R|cM?RVCX; zU`JeyE_$A4vZf}7nt~BAJ$viAdHy*(_X%EO zqiatO^gaK+r`7g+_dCh_?8crntpCMVZqdk9|47NUd>!}9tzlzbkEC|lgu!4Pe-roK zL)|pzA<8?gpcPV=2vKswZyfw{Oe7?cy53ILR|;*iI) zasHBO$|87=w|(yWn49@QeqNI)-K-rAn=Ve4?9>yTC%h-DSY$Z=c5q$y-bqcc{#@Mp zwA?Z&B=8JRZcP4~sH3RUzj^f7f}O{~BdgYSq(@ypiJ>zcH;QUM+?DBD;jhf)ELI;0 zqq^>!BGX?r`mYW2tUTRPYU;xyGrbMOipcElo1KXTc&w!Qt!*?y!LLOe!dqU(qC*8Qx|Q{pQizK}znYZupc zp>k##)B0KmY_^P#Rr!am4hR6&xQZ->8f5(ThN#Dr#>!Xk)aR0>CmOjW zVxja%k@%$1u87Hzp+p$1&z#r9!96_M9qn{Wk`T3%sJJSN*oc;nH0P;2gwB!R4c*4} z?_D^`LhV|{?xeAWO*C@XG(AT!=ToH9zZ>*&{OvM!s)^o8vTJhBTinW1Q7 zKvdj|lbJ`*h?>+Dn?6y6n_4m9OilnU&Q3R|-kAG(LojqmQC zVeip5>*~r=6+4CgMrtTMdj)z~X0z}-+^S~E?aFjZ2hX8gjKG0WgA|a-{dN6N`$dYX zRK}{0(^dw>{pWb@tU~|@H>TLyV_-E4>bKR&pat?Zi(}jC<-c(7edp`3<6Mc;Dx-EY zkjz(aCF;J2y^~W`x@!hfbA}_Rig8MAS~PjWn19?4+iv8}vmDzLNy{jbq5onHw~5c9SwJCgOn6~UVfcVwsJf1? zE=HO%e$RnX8!PK!&%tSl^51?^hWv$)WOYM$$SIzLp}lrhou)fOqItmVz;XZDGm$%t zlS0qEh$_PweTZd(i1K(P%r;h3L_h&lMBN0-LVkBY7ViBgtOIsl_5L=Y*id(W;l9C_`3M5`Ssi{-4QXk63AhQ=<7W0yvN9+c+5LTppPtEuyofx`Y#G>%7*jH zO6Q$nG||*WmO^ESe$y1<>!==Hbh|y-i(H?;0vZ>1dXX0+f60(wW_E2fL+S#vHlb-; z1o(w~E|@VZn=bRe>u7`$qpsz0#}4+Z`=$@r*N^j}L?Mw#UE@jJhza%*z6k3!zLYPW zQQhoVkBe0Yh73$|KBz0zle-C`C-=&{S?qJ?yV#6odXiyM54@YVRh+Nfh^&o?x@uR0xP>CzR~^Ya{CDkdQpfwJoPfb*ixGt1vRmxn>9%C?1ep<8&W z_V`(oFyH&E&G@kn+hc5|_@zMlPcD>>k#U3SV5?g zWX4Hu7W)H=N@cohJ%a16Tb~yd8SjwbIOeOO6^qIRIt*~p< zWcK+*(q0yG@57O5z`FA;E?nefG$zc)j*8vQVf*gcm)FS(*u~!&zbW>=f%ubdI)^)M z>1m^yB1!@DAv&k^+91s2BTie9#Rf12dSEi5)bic!n2_>`O~s_EJ+_U`qHVphIRkV4 zo7c3BKHyS;zYL=BbiiXd6YuMkI;$E(+k#)^O4Y3j3k|a7768#W=$Vjno%6i(T8lj+ zqxq)01K}+_LNy$jst}#SZ~BBNDP^-(zD(^8FXtY0$)uP@DfW^#g&UEM^Mz_GC6@jw zuL@dz2sk-RVU%~6jDWL$?r?c)LSakOrv)F9_xj5DzEhC0tfruax~!A+CK?$^jD0G% z_`iM2%y{}J;OLC87RB-xnY{B4DCmsMkgG#|5a$cY$IwLXTDiIV)2or#g-Mg&Py$GX z)V7LG66@x7LOn}S?PtaH2-keW1sQw1{ylcLol4rpHgV=%szIdsls60fz5V<39pXs` zf_PF)Y4DjaeXOp);$ir0C3?>o)$+0XS~70^pv&iSbu7nJUH&^2KC)C#HK#ReOCSa^ zEz6WN!1fVLF@8>EqcWy<7?&FX%gMB1q^Qi5dr!O^rQ$d{T3gSIUvMtS2ZVbmAJNR} zvlT#JFqDi0Byik_)?q|8dTG0$BKlE9*1%+73y&)`U2ahJU1sD@w@QzM_5_h{o)eSl z-l!Om_mA!OoFbI5(U-mtD^9!j#pGA~#m+Shi>vHY>ALTM&vvm+i&@hqkN5j45OqoS zS8+c$HH2hzJf5lrqV#k+iA8)YwzF_1hl;4A)x z_lfdUco244tN|8gVvLE=*UhWTS)PAQ#b#99oNAaE^x4FZSnO%1!dW3Ie9N`K(4g}X z*xX%h-T^E&Va*acTQ{+{aTt{LwSc)cU^(X_tt~A&W6*ghNBeL;13#`z-&mz|4##4^O06j}i(z}u{BzhN zBr~bF^E5ojkx;E#n+5`;Q-)=J-FCa`=LJ}zlHdP;ENsP~dudsI!l${$9>Kkfsx@QP z6tGNW*n5X#gQdn&5erIFe}e(SdvowM<>j)yxXC}DDlYQdumo*$?u<=6SdY+FiZ4;R z`3i*jOx)0(gT8i*p9Mz@)?Nmfj&{P%Zfp`V{RH@}yv3jz;x892ls4>OoQWO=G~XTw zouX0IyRMShTO>GM=2nFU^IiQ)F5USQQ|rLwZi+<~WZ$tW?u)?`?fp`Z-byj_tDo-L z8RqX24%M#u@N)rdb7ywv&h#yI07Z9@#&kWEi0e|9vUBs~iaKMqCqvj2*m2y{+@lMA z(X450@=-81V!Of%^ptEoORhf~hVodD-g5?`2BQl0x$O2Qh&Q&a;<-OP zQ_y7wA}FYb`bDye4-+e>38o~g-)u~ILvF(DcRG2y47A9B45T@e_#SvLFWXHfZ*-9tY`|*PcGYJcwQrWN;PXmr2-Z5Yc(bvZ> zA`(60#N`qE)6g1QkI`f7Gt1&V3fHDjY_<_;*hYCLtA~Z^|6T@AT+iYex+V6aX!D9M zb`GEgHqB7Hk0H`NZl#Q_J-fk^&tI?CRo-7 zSXPv3gb^oWOgVY=6>!;qY)Gay8#JsKqu)rx9I|($Jff0S#tZz$TI5?>a zAi!viDE<1egJcaUf^SrB8MjlQKy~2n!hAjw& zBP6b;bL2u?$B4WV79`ozJB>0#JqZ$BNcwc5q_Ks|4a@MaYX)-ku_(iaw-0Wa6lSdO z?kTf0F{tZ*|?_BKGv{@eSApY#1vTW@|s%#FAlJq@`?>>TOd$9o;8B z9v#!Fs|yYOY^TpJ)t(^=E7b-*7v4^tkNu1KDT&#FU!xuDo#0X40BK=b_|>*j#A_U7 zSXniF%qYF>Px^MAqrfSNJ4B)^1;&(f)rdE|K*nRB$WY1Ae!U!*}0(gocEnYdsa9~dAA?~PbrEu^{VocSJsHn#zwrOX-j>%qk@( zX?MCGKbP?1G}s~@dAKQLg^)h+pvg%I z@V$|c*Sr_LT6XYfD64vJZ6orql{xli=OJfAYBDLM6F2Zi#HDsmjcK;k7I>|vH0B_e zw)f?6P4;&^ANN#_pI#5BK;?gF7%MsHk&#cBg7!!+{ku$>#CINtS&T=-43C(k&nGNE$lA@2Ln*R(o4PccSI&#g)WHb<%)SCm+6&lI#-+6@=KWHZR! z55Ok?a^QD#4)3y7Y?`z$`5ELaQ4c=J5%m6`nvwWn`mj!)RXZ6Dfq#|s{4D~1x?PW- zlb@eiY=$q>^f~v_TH8aT# zQGahzdPSVmv{-Ljdx|S>(SYL9tG#D*7Lj?>=?R`udQ;WO>G<;5RyCTCY@PeET!Bq) zDe=PBztVf_JXtufeC*r+0AV?Tb<=3NwOEFhOrVeTlHKRBhekg^s;;vB5dE1G!MqO9 z%aeCOcCPoCL5C=xu>}`7SPQzHlMr(&*PxaHS)o{NBF^DaZILUGTstF=u-+-4206vC z$_!wcTwbfAZH#QTx~5F|bxD9>`tvX$i5^n(DE_l1V}5pWd*A1E-Yk&D)sS zosDB*yv|&bk3S!mVgs2Bq(noI{`22YhsfGHTgR^hqt!>`2A9r6=4G@FbE_QBXRnnt z7WSpYMy$KlBe~O)Zyrc5?|h+Rw@zwwDocF)z4$|1!T>`g#?xJq)ktM$KJ`tEz;d7E z$X&EBntyV^27ri-*anO`FS!EzSrFzkoDYS2x^E;!)_~}jkT+Adwv6K(cD8ATtfwcB zkwc`Iaji@-yjqC=Q4IO+6ZGCs@pRtPJypZ9%H3HY9W4#o3n%}@b1&AmvMi=+F(vw} zxKG^k(Jta*Bj{IsJnn~Ak2B`LSWJ2RL+Ub9Qu>dJwE|ga1Ha0;P9-e{yC#I4=u|W- zE&Wi0>bWWTM>;u40x>#|nKAMXZzm#CZ;MLkVF= z1(u%8#mIA|e2(3*498c}q-vm5%#=e({kbEC-ywVl#C`70Ha-$r_??d)hbldIplWah z4}t-do}z+wmTrkNi43@F!GiewTC?o|5LS!3Wa1#SColWn)m;RKh7dC7%FN%V$5h=C zJ7`b8ob`T;tn0^35w8|7K=H99W&W2Sq)#B@&rJGR7I>cdb7Xe&t8Tt?&P2IzYFmq@8_{72R>v)9+GU z5!aC(M?5c>$<0JYvGNwTVtPq+kqQrCw3Pg9rQ=+!1{70)A`SM>wuU51p!q0efn>OF z3MMU>!h-g!E6;a+hf711pobEil`3mt1v2$8eMGX|e6e$&N2nn+KN!-1jNecaXYG6! zKiEd=ze-yi3H#W+GjvwW5b*I+e|h%@yy{v_q(tIb{*Eem>dcUgURh$dt&*~GPaE@U zDNu?+f?E?mYPk>gF1x@|DPyVBaoqP|?%%x!9S%6$y}*!vVt0>kU?O>J7{9GZjd&V0 z;%WnZ{_Bg6Jz*t^jVI`<{|lMuL7@T8Vt_OgwHq}4G7T&zJ0kt8;5U}I4A(nH- z5p=x{NJXxQW2h<*rS<4$qf67P6gj!IQEL16%R|!OZsd8g;gS6@cS{-R5S62WIV4cM z0a;#K5eBW9!X(qQ6s;IbG4myK@qIr5BfqLa=D|PY0tLJ(QAX@Ql2U+J55*#-r*?dD znTM%jJxR?gnj--nj>(6j1r5 zR?{!O2KVrAg0IF2*WBcFG=nw2`fPQ{rN38t_y6yQ|1b9g)4#Ux?#^xWZ4TP*vUzHK zZ#HnuUU-m=H7pr_qfv+a$>HwT9&-m&g?)?zz|$l<9m+$lYI--{*RQoEZZ-?z;Hccp5Sd^Xx#RV5|qBQ52ACOQ+(J8l7CT?)K84**H(-NUBx+* z^L+0sedU~TPP1&FMaUt5RWJeZ$VF|ezKhbWj#1)}{uN~MzMhfl(ID@zua>daq)W$e zXH@2_fxO)@_Q&|OfPHys|DRNBshM%rDwciyy^}Zm zv{>K%FP@>ya@=wvV?<5;D|3lYPHZL3Q)1jDjqXW^pi`ac` zr#t82V(mOO)xc&#a6o(`;x*CobcdY(F4GmtXN{dtrrw=G8~%W*96W?^ zR{9|fwBw4W)0Q;QHEX}eujEw+I*~1UAqPlG?GK5FKbLN~X^W)Axe^^r+oiiWNxgdu z62kyohtEol!a&>n5zcbS?a^E0hB^H>R6oD*WmBzMVWxQqi;FnE^VTVX?CAG2)_|Y! zlIPNcDE)VpKa9wXyYrvUYv3qjXqQLR^DMxO^wb0*iorwtwim%H-hviZJc_P3*ny~i z5F3(iok{ps^fAyE&jSSewtpxu%(r4ae1-R?)R0XcdR0(%cFbr$RrQo-a+0i_nK8ro zgXj+Ow;_tvPpzNN%nYF$6WGgmpWqWZhg&QZ4Xy6M5ZDaC2hfVIm2W<%JQrgT8dCLK z2WpKU9`PswN{Kpq=!+WX6S--;UeJ8^POKI`TRK4(y}SO)ZSHyYHYp?pt~HjJ3A$8d zl8Dgl7^7sI-}teOAPuyodV*tr4P$_~IEZwW?6T#j76*m)7~jXH24wIGWUP+8zp&wh z=FMB@-xZtOms66mAQ$o)q*d|e`J!#4{hk**c1Z1UZ~7i3S~BFMgv|%iCUC_u8DCIB zYL{p@9g4i4M@PAe%yFz%dpP-}2x6H=583g^i67DX#{LQWF=eD0xRzB>d(44wadm(0pXUv#;!1Y_|8zyDDU3uZP z+nprabePaTcWlUWSS!i=*m3Jpd!Q?vBX_EdS_$@XuI?| zHsg^tza)YdcApYWw+Au+Y+P6yE)79Ni;CvxZRAN(PV=mvN9K5B7Ojbt(AnLbEbD3W z&`G50-Ymous0+nv*(msigug$Lzyr7n*S-=3XiRd|_%M!_MjI7Fy+15U&#=4BI;BM9 z9TuJbTcr6TsIs6f2)^$g}yK=&Q-{qXC;n#n7sc{uV!?j$}H!@XN` z?&W&<7g3q9del!keI+WT7pJ+^Rv|^X5ikFZ)8|BO_i4FyUuR;+`0!qM_bc^qN)zn$ zYYq;T)&|rr{my}*pj-FqG@ku4VOrNhR9v8hVyfAd2(#DG7nDh2b{{k>`PN~|yO^|8 znE8U{URcX#mz+YFEKRPKD(Kw<{05gJXRW!Dx9>#nUe{epqoWgG- zY67IjE;S8`fLg=p&&f-sOUU5dp-)-=3=%(g-YG>>gIo~X7NdnsZl~~+$dcF;S^( zWZwpiD%h`e)U9uyYba{nknC2K{jCj+tCxoHNLymXCX8@#;ZsoQ(Epm(cfn7mE^rLD zQ@ZJn01^v%h_N4}{ZHEPw@qiA)J%<#Cwd!^00xh0pP_H zy&SOX5bf{sD4JS$vZwMyu(e^RA_+Nkgu~emO4#w`hW&HnkSiBS`n|O2d31%n-KAB>({4_Is645Hcw5g|0 zhJ`fo$sF?Vk*uh)e@XhfQZ+HY?}J1E6P!|s_! z?k`zsrAuih;AmKho51Y6?5tpxXqoT_1T(@k+4#G>7@Dfx%}wBRVAUJ(1TCWSl73m6 z<3t%uy<#E^&z4jk%P6?g0z$dwAO8``4d!&V;TXxFLrI;!UBdvmZ93%#=nR*6OIhS@ zYM!=3p0|s@?;hM45{o$RGL`|@=G&X1l(|!$^vOs^#Yhkd4@$7dlI@ms`1r(pzGVp1#K$iiY~5 zPxiJvHDh2dwv6=;I22yYwJoRYIeHQa1O5P(rOQ9tvr6asBODZKU2FJ_@Px`qpN+~k z73)1{nH_Kwg%LReLB|1S3@b~nI|FU#q$TNa7ebXY2RVQiEe8C@%Rsp$N>44 zd+WLTgeghyTWy(=U9;?;e2S%1p^*|2XUMhAsjZG{p$_kU%s4OS%{{&+=tqXNAkuqO ztiZ- zue-^r`$QpvpY3v{t;TYyAHvwQj1pCdlR1fA(x&g1Dk1P(;*uf)itVCr=7%(_GR4q= zbK>P4c_KrHc~fVVqn5|+0`9h&Tr$dhJ{eeJ*J%#jplcskBtSFEy3ZYq8y1+BZsA5I zi0pHOM0TNEB;KDQ70Ui~N({)ZN|p5k%n){)W#?&86nQxt)4m}!1PMEVAItDGZiUE# zXr02dChAk6(6Mktl3*BITr)^n(2D!^^VbW(^s!NRS#EYl4klzX@Y37QbBEnb@`QV@ z*mH<|8~6Sys(k;ayWwqhs+~f0&~Ff=v8F!#bzO|Nw?8|{@CnuWxt0JJtD>Zkf%x|Q zb%tpJ*WaMzzv{eo+sG6QIqN^!$e4EOmWV8QiLUGB{<)}Hs>d33oFsiT5r*H!a$5Ih zJwH+hR>7XnJ!w~1#q>Y+dk4)E=}}m<%=1wviWAdu0a`&>$^@&(gEE{vhgKQ&$h5~B z>F-FTS*N8hbw-u_n&b+bOFcY~=CrsMHdVF^a82kUAmw!W-OX7)Efw?Dq73n2U+NZI zs#e%vpzVg$YyQ!ecH%6ks%boU@Qg{i|5hZt~>x50vefOm5GmdjVL|ghVTMNmvonJ)!YFP zy!vsjV;Zp#{+Yg4z3R8Lr$Bs@biuxZb<D>;bl?qi6W zqHklUFq8X*Zl}8U2(Z`e4N87E-SM8uH2|%BW$V#=+A3}>wI zPqRDtIU7%0@7pS68vJ7_hz5uQ zTIf(mgsdu!^>Jb+;w4#y8SW^|s)+F1Iie(AZ%s8}r#g6?@ZbmYoX1M6Fh+_82-1oE zZ7|ob=OJYovvqlu+S7l?+i2@P2sBcNKE={Nl$$Z%cf4KNa0uNStlT%SJ`w8kCcC3p z#NB7lJE$bLcs}_U40567Zq1qgX`KWgZ=QA4ine=c)A8d)+C%2UZYe|Ezaqi(4u^jk z3FvFq{Fgbf ziTJUiYLyDk`?q>N2m@2XrOm$Q3r?r{^ z_d-;vcild!Oyo+G!MZc(Ql@Uw&V>-{0xEOBNOQGY>^?ZO*jwM#yC&npJJz(2TPlIb zjPK;MR_ed7V{zeTxy^LsEhvt8vbF;u}j(3Ij(aQ45AZlb_N8zd@Ap z{F)Eubo(7mqj?V^0~@2p4olzX)igC$al&oQ{pva>Q%V=t9Aql-y|l;o1H;qv+!0>- zLZ9w)YdHXU6j?>1(P;TT5&kdHgx)9yq5_c>rZ#p<3rv)Gp05#8u?~sO23cfAVTTW9G3nsWy0xzxVw>Oc6T^tm z$A*B#g5!@1CN`+c0tJ#IY8R%h<4zs1RzGXX0E8x23%}Uof=i~XDy=EB1V?Arg;L0v z?~vVc1!|E%BH@vsi;lO%iK*iMyEWvh$Q<2GF$SBAc+ym5d5S0!X!67BRS_a`7x$c` z0gD~of>qdXXJ67NOq`$JE5tTgz(E87exdIRG4B_73=p8V<>;}NxVf8qqZ-qVC;Eu| z2v*=|hV8N&D$zJ@?D+71!>(z^@bjdYA0&Nv)e(bV3Q2 zd0mvO!mGef^mSyL&5{>Ab~BtiTu6*vDhP3AHT#t(OBpAG(^F%!``h!%nR*=h zUrR;PKj-EZjH_#smcUeOq!f=lf2jZ*;>rK{3qYAXsi}gqVqL3@2K2q(cKN_kTr4ao~fNRZl@-I zrJ=d_4djX~05n?tHKH}B&Xt3jIC$3Po>IUx#+d4sZ)ga=G+XH!{IPwQZ84MnCaDAr zGK_$ZFNGLKXf(e@;c7sGL0D7w#=W5ZjUsPq+y)Ds-s6x{W*u_pS)XlwT29LA{7D>DpGONnukpRY;FqsrKfUmh>>)@g{&2WrVpQ zFfm97UN|%EFPZW{pCJg2fiRF-UD(Xj2s}1%vEj?CxCb!9r)8F-$BrTR)$tn0x?tr? zU3{GbvXtf2yfUiQur2>}S5Er-`?y_6bKu-wW3$=k-zopbO4H!v=TcXb*Bu;KIY^QH zb^mU~39HniK|m?wN!cgK8HPX}9)L($%U=Kc3rdFeuYMAZ6B@O7Vr!D@tsht`5?9}R zmEt!|c{YeIVcDv(5%t}Any4s?6P~Zj&jE0cuDka zS@A&uAP(H=&wO!z(je#VdA4J>Mn1G;-CLgcaiLV>v`=S8FCy7>53$Z6$aKg5+vy28 zME=ROvu}RRUJB1Arf`P))+DbGQ8^ujg`prJdQc&DGzX*;;4`;2JU(Q-`3MtuzjuKe zo9G%^vVbq~oXJ*mDQ~fM_*yaw_yEK7QKAt_utX#<;AF*}H^!-x5!S|Aw8I-D^%N6# zG~kxTj%tF!iam72-4v}>9^-Mmcr+-2u_`vaH>*Fh*1}fD!z^Tt(5a}2t^9dGUmZ8l z693R_?cGKi?F9cP3a?8R1dG^9J58$7HsLGlAMfw&lSRM&oGWS4z18dI$k)b-zgK)T zUe=w?l712=SoNCO`5h5d!qH=UQ=g}kQ09P`>=k2ul;*tf{1f~@+xnh2V?TL#X}8k? z3l|I_W^gm6Ss4dLTJE6&@w@t3FaCo>6@EJ=&?ZRD=lLC~(sZSCwTY|8MH0mTuqPze zqw^g{lb7_bd!7svnMni#Qj4>-7nMzRT%$DFIhWt@_}bQZ(+{k2O48$(@ZS8()$06; zn|Ax)J}qKmTwMI@1^MKaG>YfZ{wo=dL~=MfY)Qpkb2G(xz%hOjNgcQx@8;+c)9bih zeQ!TJ0P$t#xjyy0Sc!G_wAmbORpxUH6|Nr>V$=4DH;?tRF-fOv)N<1(_hEOtM!d+- ze9!yi!83X6vm!+t?8{^EODA33yb#uKI*1&}y_&7is-QNF=e8W7o}tGjq)Po4Yv5zc z0PVf4(X-mqHzUQVql|aI+63ahSV_1%6-X`wpu$1{&fk#?;#26~435q0zhqD8nS;b0 z_}H5Trp>YP^5w;)cZwV@)l0akIPa~E;RkV7_ugw8!Nkd7HRB!c@O_i4NjFo0b`vmD+*v9x4&L(@&SR`psy?b`+TK<=ocWu1rLds!aq%|_P^kzeEin%zO6ge}T(H*7 zn?Ic({$ool7NDJYAz9-pg?EO47}+P8Bz)hYa>oCg!pZ6^K;{FNm}1=r$c(Tpw|H5l zL7LH!CU!ZxwZ?_w!bbD`QzU|p=wu~>piw<(`&+k!sLnvI$?I+TJX8OFiu)-BOy1|<9%Iu!p=Q;kMb^yo5o#w zIi_&mRMX9e4lnT{09XaH4T@=a^Y=zb{^NVI2NJxYM_FFpK}W4WdIA7o{kke>e)Z3L zZyJMi{u^T|`}FA2#y;m_NYdhrao)>xB~PuK&FDVZ5^-(MBBX!)AtCwfL&r#2{Js1~ z#J0z6^ANW}_e>p|ZPVJOB=2nYDO2yGAxe=8l^RR>Pg%YuPI(6MRvsh>_x*Z#d|HeA zrK0fxU4l!vf@O^q-?m@Gv);?8eW0foO|BG81GpIpAO4j6|Fk~*pVWa|SW$2-#3D`e z!*hjKda-Jrk)n5l5TGb-mT;=a^4Z!sJqd_Tj$g~BZf!+|GoocN0OFk0yodHo)eyYy zsM|V>42$`}fE{~3P8r$fkr71H86s|1rKROA505SPt?LCrP4D;SMXJ&dzfQP7-Q%7L zi1lU}kdwNqNcvF+Y$MG@vM%4wu);^n5*!{6I(F0#mAn9hASWR=11EN(%1l7ND~H2O zW3I!PebjN^AE7sY#Sn{K~{=7W3oVkTbePX!0WcHZlR{|!L zmWSqB2D1dw&&)|{54$B#oQBm)k0oSIcu0CtLAR zId^(Rpe)SE!xRPvNvrnx{ zCPp5s7B>^nproP8EGrj@n-RHP{)~^-SwFZ+zwIou#%|vZD0w_eV`9Nc$8v}lRG z<)w198#qCa7KNzz5{>*0TAoBhnE@H_3jgxyum*Y7(HF{ zI3{l`wW6q<=TC>|OiWCD|N0srNf&rWb3j!*pgT%Kr~rd{_3ko;`c?IuLL&-poViMI zMW2?yiS=V%L4#{+152|(a`tEz9z9~uccvryc?b&_fSzD^5&rd4L&{)>y?zcF6D_ry zKG;A^B9FGLxnnwtO@j+&t1&h?m35cm#qdjDS$pV{4_i`?SzUY#g4||lPIKuzZ@;M4KD+F*_P>_PTc> z;DE+2t3~WEjV+C8pX;Qov?DhswMkb#EMU6$UEw1-`JPgV`mA0a)Zqq4^Ir5^vE&m& z;*>!;+=}z}J0~}%3~mz@OTH}-8y_iwb}BUe$|Lzlf$Z-$TP!fg>8<$HB-p$<3Q z=A628fc^!}RhfK3ip5N(BS^1X5q;Jj3PYE=p$j9_Ad^T(8DzL z-H+Rg!{686eBBTd+;(#G#U%M3dRWQ?! z?UhDc&irh&l}UJTv*A7_jem~QI_EKC9pvL7ZX0kgidaR4fdlAUoT=15EV}nRfBXN*b5m4 zb=RGKWUE&Vj(y2^OS!+%e=_4Ft0W+2P!qB3?S?5$&IwZ^yP52uG7Ec_<8{m7!~0Z` z+hBYrZeA1lvL@%Y0^1Sm*G-j4Bd)xdUybNo_t3eith`ja6Pa{A5&+d{wP0&R5#7)mz$fo@20l_B(nO%mI z?r3@&g=WKtDZMkq?NT%0ASvePpX=$#D}CszrO3hOh&emL0gCjZS!LmHeL-+o)}6?6 z;a(B+WR9F!W}9FbeSwqjiKXuD*3f0#?J62QeloFIis*Sw;yXskIdR%6VqO)?$XA!{PyIRqq?l>?R(&yIAdzWMs9f*D zypheDz{)P4E3oI2QTT@XWkS;jNT}O+i-8k3&$Y8G*B zS9+-Xgv|{0QHj0yj-Ia*`+^WlH2GjB`ox%2F~=>u2S10-hVB7lLEPxdw!u1l1?DWK ztMV~3UB;8BhR~IC+C!3{MbzTcz#Kx8J^I*TnQmlf*+10rx%@j`O&2L#UyGm0LMPekigxVG6`Z~<`sH~do4vw$7G8I+ zl@y9~wG9?1C|qM^$+~x0o?kj``s?f6+^(!aQM6+^RlrVcoxJDFaYJve7PyreFyz73 zE_4qJ1R+iWO`k=3o+4y2_U7m0&PH_`aZ+Q<%{m`I-we;bWPV;YFHcrPoG(Dj!6FhIPC8@GLVNQew9|VZaCF2ATDrF}rlF}{ zR~&ZbARp#?(p8~Jw*KT-@iBC=!uBuXg@TN>#5lL~7X-)w;Q=e0_Vk&4rJ>D<^E_@cGYaW&8gA+gUsj zrEGD-*O{wNy?d7qDY?&StV@;EyzU;ou5L_~YO|lwhF!pmqi3t+osm%0ZsPBycuwE0 z!X)EKFj^Fc(?9;7y(78`P@RO>Ev_GP6kRsU>G(mR_bV6T`S5M-;fhnB8FF40xjTv} za!aTyp|VgmpU-VKsbpnO)s)W}qfzF#x$L}O;t=zy-a3Dhc({S>oh5FX z21^{TK6frrT530@T7+kpy_{wE?#DKwOV0q%ss$_l29^Cio2?(7wKO2J(EX4a-iN>_ z@qN<0!>D#Eg{ZD?bAf-mau=X2yz25|`H4Yk*-xI%)9%NtCBcVc-ft>O7{<*K) z{^hLmkZx&cS^@17-~w3K4(MpGpU8Y!M5SaJCKW(OK*X0~&*5tbyf(Bw@*8C2+mjxh ze%Q0?c6o)GwTMyGw+l{k4d_yIcCv>vKR>$sDYD*UsPJusGhTI~cq?U*C03&)5p$GV zW5u1>T)H3=Mm}rc{vEA6nbtl{;5-Unenw+-zvHPeb6Wi-0PtSGRo$pB*3*#ME>}CG z7&?bbhxPO}L$bqB*3j4aBo|>(j?#U-19_IPC8#ke^wXCr_74=M;=e)Z)~K3&B_ykV znG0+4z^oR8T7HG~t~8pm$5U~}Ui<{H&L2Vgqaiz9OEB)#?NqHB_eVY-gGnGZRkwr` zb$ZV;fuV>eNF{1@QsM#)a?P0^6o4zDz%jO4;;onyW40J3@Tl@57AAtTkIy7dEaIq4 zpq@_vmHUf?*U|LeGdGJgF(-8&X`r5#i=}{Ne)ns%JIJlXmw3%^hQT@xT3uaJBYmjw zUC+TMFkG;$|S z_-dDjaxUBzQ|n_L-B=#l4oO={j5Ru=hDx1X2i!F990Cz^=M7yYN?i4E z{p6$S`UdvL0sY)cWLPm#NM;A6nL84?;v0yCs=cNm7w?8Zl&jzbSEbb~1x+I^-Qk<@ zqua$tQ^#CVY7r`x76(5ko`;4_;wmd>ZSWDLQj1q|I%J7ev=@d(`+#yMT7!PoL|>aG zYl+(IHzZI(6Ws)T8eBIw6|Fnxq7udb(`8}no;knfUb!@Vus5gNOrCepZo$rb5RS(O zeSStUx}X9jh`8TDhsrzU^}vaz+&%PeT8*AYyEccjBa#lLA!2Lvh4ay} z(cmz$s*1Z`-BVr+SE*WK@X&Dd<=o+lIcbuCxFWOuOf8|rIr-Yl~A3-H0c=P2q=ojKQ zC<8;LxqXtD(ZeY-(t*Se{2pZ@HlOUp1}1~y`DZ}{ke~OZqKA1^(-OUx`~Y?=-68O$QegguuNA?GAQ+JO zdvtg``XD=4_RyJZTyi9A(s;7}=SKZp%1uIUY{$^W@b}C{kt-527~nh&efo-6RsUpi zAkUSSc;2FyCN;>Omip@)2zsi)14o*0qo?w3KF9XB4*KBJx1ju1pO$`B+xz}9ufsRT znyp}_@0s71Pgxvk0XS)`D2<`Bm&I8PijtU4&3$Vn{0revl|jG_?vMmpwk(ZN+zad4 zYDjr7*JZ_>_MPDe!(*J3)StgVd}B$`z64gA#ys1{XP8R)k6NUkUGX?iyB+6RML{cT z|0Q2h!_|jXz1DBYAy2>KcDHFXg$C7nAGty!0c56eA-G|ru_5VK_Hf|yUZ~})Fjdyq zvO+ng|55+*lyN4;_=WEG-77kc2D5i;5L%tt66o+u$k#aK4$&0&2iC_sSm`I$*$e{8^v{}kjz?v&xDNA49`3CE}gsfj4wHQ{D(vYB3|bf zL+tD%Q2m6}&lNeGU!$rRzNznQ@z^MQ?w8;0zaHT?<2xFFyW`);5%6TEUtqtbb~#?z z4LMr)J0G-u>%8*e%wc%qx&~ZrhdV6ci`Lf-Nlp~km61d4Y(l9sS~&1)^pi(y-!?@#QSaF9?W0Z+PV$wxSbkm<# z^N*H3{&n-^^4z!Mj#v)nH;BlQU(3WL9~mM}VtD|503%!5M0aHdi zt!^~D(|fDmQI3rbFaIx$SVE>XkP0>%tLcXyG_)i zU*ktV7bbW6*MIRSSxX)Za6()g=yN=>uOu29Dw4k^7~;-V3*l;2;Ha%`CtZ8GuGr)Fw5*^b2K$D ztU65U=YNi5P{>-UUyfF!>8$N!Mv}0ZYv6G9di(}Sq8f#+eKqM%MW{K3OT5)f`hLOY z=UXg}Zs@%bov?|3XpPZu=c01a^5Z;$Q0R!387)5+Z#R@=K#HCOfBf z1Pv(1)CitR)4L!1h!GSqsRM{3DJI#9#ORH{5Jz)Zf#NqtwKE37{yBf21va```$8O~P&~_dlFB?B`s@i$j-S{S| z0u*qbR0K0yIh(oagFkWg*#7rkWzqX5l>y3ogH*77G zzou#7eAKL{8bX<;d93nMFvNnQdwwV+g4+Md`K4=D63NYKw7igLN zy4>s!lhQ?|?RXePDEUM+1;)DffcDsqjK*o}z^eA_- zX;^}M@I7MpI1Gp)dIoB)&2jo)p%|VrrC12? zy2+pZ2Kf;~QgF#P9w_ERHzc{^A*3{2FkenN`jhp+hxp>=mEs0t1B*V-(K>;Q6Vz(L zDy1Wb{a9l)8nx%|nJPMfL%PIprYKe2x+M1-L~o#rzE;+AI;}5#*IpprNnfDk{so@56r1kH!>uNxDT?uN*jc!If=Y8%oiI#|1oCqxO z%L9872YEw$iZ;vF3oPs?qD|hN6j8E&!dG+HjIgzqy2CZyv81tg{$p_%$`HS^Yq#rg z>SHxUk%tR*ZedUF5_=rn`S_}QChNN#Qfl|nHJ`p#@J^Hbd(utS+FELYc8E+A2c8~D zplaMuMK--$f~tNQfIRw~4x(8(7I(13=3ONGqBozb&-Ssv@C|cj(ojRaf$LuslilKjgFX6ic>~B zi)6#i^U`9kltANwr2%70fO37(LVr}0F5BJI`d%uA;1z{SqHdq@)bTGL#2T$iX2aUd zWIjgdQGaM?WoVT5$Z4!Fhu!Wob_6(G72eBiwf~>&4*lQo+eBsUc=P%X^(x~oCPpC% zXzhU?8DuFn<_qq=Tkqwrl=zDx1XUS!xZP}q_JyzscC}IJoAw7{b9M?JHogzN8LPRb z;2ue+WE!rB46#;>R5yiev{Tp=1~k9y=3e*egrhXB`%Y>B1B_I!LW}H=b=goU95d zeG+(@=|60{<0zHt$gg_s^UdwTHW3b6)K`bZ7>d%JHhjeY`j>leAwXERc;W#`s>v3l{xVT}8Z{55!m^0iK{BXcZKRR`j90%H z&S^PYqJ7s0waX(LKJeWKeIZr0wVn(=4(li*77J#_Kgkltyr^1Z3g z&1z!xE;Jk(wMim0+v+ylLZ;it;_ovno)+k0qqbd&yezNG@XC{FQw5qPD^e@;@SJH) z%h&MfoHTiy2cBFhOV)Umt*`!g!$R_cCy@zVi$7Ki`;Zx!DewFnbC^u_Y~;6$19P%JmhzcNu*aku?OAMbOF?X<@1fHFLc_ z84w`4Czjak1Sk%<-zZUL5`A(QzVxxi1PFWymTegYUy1sl!dBZHgl2L4ZuhO(i(XDX z1k+u0O>Nd#ZS$uS^kw(tcjX%z46@Y4J)B42zi6!Qy>Vgq;ESFy09-Hc*zc1NlO+i; zm?It(U)N}X`Tx8K(PWhm0dmNEj-QdneuQFc}l?bW4~o>_?9U0y~ow28eDR;|JBWp5rJ)L zK7c6>QXjW0@HEQ+1f$R`a1EG@yR7LKJbci za$1r9a_)iso=8brDphCiHz{W_a(bX!1mMzWcPl#q9>~0S7u8zFw5->lwcP%4*0-C z81(L5>|a)o9ASHrbb*(`vn!54*}!o~nHXvmSK0~|Av0zzWAAD&c|GD>F<8u9U zrKttGLvIPseSN5|yYb8`eMJF|*z`dw6S3$g-GV{86ZN9No4R62QR{JKi{~y(h0;hi zmNs*_!49UhmYdXu@oT?EqHUH^j21-UisG-vhXS*lHI zcaOCfF&lAzrqM6XE}%QW6Ddmi_g90`QbmoIxFqAgDL`5fXRp^EA!zXF>$?YMSSs@! zL?LC5YMK$(TyxAiCX3pkv@TLVCiKbT;>zcd^=odbKMl{K8SaCZye#1_blxblJ&+4E zyXA#GUV~8?C|Y!S#$^~4&#XTkwI9<<&_P|8l)Z`C;fT%rSd6c;1Xr8mcXx)umGl*q zg$C;zU77hzuwID#(o9Rvh3cMZy&YYiJTj4(c`OU9sDAgssoTp_3kyugkl>O?)6#On|gq5 z=z#HrFo!SdtttyL^F_|_4K;JKRuwFX*&0VUtA*i;Psri|YsYzRd~VFX2Ft}R#Q+{ zS+@Kmuej-KwjD2ee2hj-LiLZU%&Mbx+C0~y19Qh282XJN z(PycNABGI~(qirC%Sb;wmkMZ|PWmg%hX8VbgXz`571$V<;D=qne6re5Vtz1T7@{)Q<3un+@aayX9vKMUH>AW72@o?{oe#i)Ilkms4+xU*~nezYDoCw1)tQGwAtY*$;`x4v(vKlh{ZHGIa|A^&v8y;K2_ z>}vq*z}D6e3Qs^-M@8<(UNmCKTpRmy{VN#Oe5pW3p=Z}=tJ>aED+g1hXUUGWVga*n z->Q2yhQN*FSQ;C-SmufEZiqrRFWAyHUe8hLhka$k!GxY1l@cL*I5}WW6_s(*{T&rk z&BsOk6qTW_3b&tvXnHOsk28Gpbrf2dwRa!6rtQpjQb@n?d%j#Ij-GD1NWYi%wvUCc zBEV#lZ0t0~cVc1rftIErQ14vz6l~7c0n!zgF3{25#0x@yDcihGrI_kjNB5# zgSicuuZbDyU@7kGypGF|t%xw~HH@Q^y6j}4LNH_5gWh%_#&zo*)+F|5l{HgN!b)Mq zPxp#P!JT=A0cvAA8A2q_f~Y$B4*XF>3p`~G(CMJE{CPc}BDwwd@wml)L$K7NLosJmoFWZ;C&P|w;bgigv^2}n4{r}o(m)hVZhNRz`SA?l-0(rojw>fb zQ~FJYj{MA!gqT*^h#VB?T#)LeZ=D3#2{Q7nFTz%OrmKA)uG{POVrkokTJG+WQ)t5^RYGcQHF1!Wo{%8ERgMNB1fR?4J8IO_k-=Jx+tC9}a z1sRJ-R0_`=>5cE#+OvYMh~kJ?C#HnO7e5ZU2szb`4w#B733=d+&FT~s_% zlARR%iGNOE&ep^=Xk;XPMXahllt{vB@&Wjf#Qo{Dfu)sw?6VI;TSJVmqwwj?(f&aU z?f3=P9G~}bq6U@-WwcWbgz8*1)gxumy#ncA4&6Ryy7mU>Op)uESDtS1KF!BQSIdB~ z4N2SAn}}6_TCH%HxdP?Q>z1Ln05%ax(E~I0*ucM0vhH15oo<_Cx~nNNa>){G0ub`@ zgpIc00`%8IjMHKo5kAGB^t1FXqG)@WUUs{?h&~T( zc`VqeDuIF@rodICac*v9?K_X?x#!+kK9M)JdR`hzrHq|H9;WGhUQ)7a5_d4RZO`rY za+UJb-rwW>PFEyAci;gPV2Y$(djUl4p;S*ieh8(j7SNX=8v3wgM>de4dbq_ZuhMcQ+Yq|6vCx0~8>I;j9%Jmdu2ys5SZ zmi&?y?(hiAoUX2#6MV%KU+bB7Qkv-gI8`1oivHp4hQh-tb;GVcmQf{(Z5e7G@ zFpq7r25o@(RVb-6qTq~ub##7&|Fk-hIS8-r`NLWJ88@fdWeqX0B9}9-eBJ7Of}kc% z?ayJ$MjqIuf3F+|cIKrB-OS*y78Lx9okijz6sKo#=8nnR;PC3^xV?|HkDHs9r`KKi zN|Uk_`?Z4q6yQqL6|yH!Jv8JS-pQ(L-Dj43^ttn7c=|(SLYf*&1m$;})1J-YNiLr! zEv-xII%X8Z`m;u+W`o1-I1#>^+BG?uFg{Bpj{|N^^=MR}6?(2}&V!OaTFXGjt$dec zZRqR9?z^#&+WdEmuFDLz4mvKz7bj?yrs$m=b>>mpD(W(M!vf{rHE%|Xa9Bu*%Zv~A zqV!!P4$c>+NO^R)7=2CNl81A5fRcHtiRdRlskgR_R=+di0Vc&koR zP5jbZA&1%allG-s=32NQ8b_xwMD0Ht`SuY=PHSoUvc_QhDwGhrgB22?^5JGFxgQ=nsKk+y-j!*dhdr=iIYuw8IS&;5MES6<|SA+htImW><=1F|Ol z7FysVo$K$b@=s`2e$G0*>ii{sB9`y$Pa7}LBvGjNw4~<@e_+7n-mEuv^=7`U4tr2N zTlJlW;BQMB?Mw${m+vdb_k^{1rVg;vYHj+NrN40(SW(`k#^h(WF&?~zi+$_&%@mce zoTg-*a6B0i_T}}JVMvDgT{!?Q)hs^XYMZH>qycIj$h!B~x*?K)7MoR8##ly<=>bOB zM-ibzv5-ZK-D9m0Eyyb zbzOYJlaV*P4X?fGKZ>Jit1n;o#nVgley>|J3Els+1ytxCcNY>;`7%Y4pd1L7U%##D zQfIfg>T!nY2yv36Pp+lj*i&UGVcnK=pD4yjJ#UD7P(plj=!$`TMmCn00|%j;E705l zCPlX=CwFflPV9Tx?P0lRjp2%^K(HhzIl^0M1xgpEo3imm42-hhv9}xV=~(#siNZr~ zA`Lea-AwgTXkLr=BdhIo_7a}Q+-^4Hh+1rZ_)?W}BSD^RE+&+llzX#0Yl1!FfIXiV z)xiBgqD^FkD9F6jFF|~QyR~}n(nM0yG9_}!NA4I;pLBDdT(;g4NihV5 zZNg9EEPn&;XHPovlu&qmuv)Wvo7r+MzT()zLLoqRK%BfBrs-u*SC_$6rO!L5NS6#SAZPnED#$I&CLs9=KctrWaz$Gu|dlDa^H zF_mSNi|I|Jwa^f-t?j+N>$;ZbRf+r?2mh(5;}m!M^d+E7b3B8mU=lSCv|dG(e{A= z&)keP@4lCo+W3Oe*xNI8naz$J`&)8YjyCd z$P=k(S(?HUv;a8JKzBnEGRb}UrNCW{@O5bH$1Jl?h!`VM( zKm~eb!T#`ElVSCZ2bxIWVdi*!F|&IeC_gIQ@r{xI?t#sP`xbYqhW+{+Bfhf2DNU5A zn)F>h*PMNVt7u{)d9h>cQWW)@h%QZaxveh{xt~9s0Js8-$((j*jm!6&NOJRV!fo(MWFqP)%Mb~Q|y=-xF)HxpHE~Ki)f@;N-go?CV14#eIQF;yH#0I zcXwo{4F}|^VX2w|Up|$$Ly7idnc9h(BsgM;ajveeqIq;9Y@Mk_zPQ!#G)5?v_<72P zX^!&`40#ZJ0&D~jfHa}O!RtZpON~Ry@OfX~1fJ%0;A|_Y7+-Wxe@Jt#2v1(Bv^ zDOU!LBrAD%s{N|Q&^8DD!-a=)wwy+cm!_c*W<<>LNI{LYRh-_!FY0Y2!NjQiPQ&|v zhBU_aENGqt;IiKK95Z)!^gL|Lxk1S5)RC^ybp-SQy4!Hyt})%ANHjI)m!SdvzzN5$ zL!J&(5=UK@aR7mT=5Wc(oL+h7oaAJ|7k!@PsxEy;x`%xjCFx1RlsY>?O;~1;mB*=C zxA)Rs&2ar3AA(wBHtl1Uv9Yl~p$&ObsIxh}ra$#1Ju0f&uW}X9H!>iDFC)A1_MyK> z1Eg_kT+wgF}jTFY?UU^lU)bbaoN577U<2#=S=WGFvU1 zZ)rhKcByIj;vTcMK0;zCPq^Q=A3vxOiVd02_jag!zNBaxcjo#F=DuE%yXF6&9t;61 ziJ%zepM5IB4L+mfotr%qAnH|c)&K9K)W80 z28(z!Q>Je7)bWu8;xl@$2=semJ!=+x~EH&K%qPaK+8tFA%6 zG^hU2r&nO3K_t%8qdKRpGALu@m1O2mx7JaNai9fElA!m%p9lnWv_f+U9(pAxhfFGP zYM1dTw2Kd*s9a-wj>2CcRE7LlE(X;ng%vv1;r$%h=AUQf=+x!+u7+GMGD5FY9WYrK zTWe2mr$#mhzPhs>L1!I8Rd7uMj^<_hMmV^{&rzGN7LJaL`!?y!HjNi6@~KP`*3Afe zrxL$QFOxd(x_mg@Ic|$3(b_8IC!B3?R>Iz%JI_Sd>&))VPzLWlJ(I7MP?yi^O~J-# z?q&O8QhtMa97LKXBOenlbNxNe)FpU?ERX_29gkINDOAz= znKo7jbsJeUDg*U!`^%xANqV=7#L4O_nM-y3H<&DkT~yQP;*VSUX~*4CCHfLfG4%EF zxmI|~kZ+|AR_HLlb)9(M?UL6BY{RIP`z-w2JE1ZpwK&i}^@+58334#@`T=MWMA07Y zg%85Y+1wZK;9D*u54K=KtHb$$O@lK5TfY7^18N$6Ek*&m7*4Wr&`GoLJi_*ZOU6{A z3u4SGeu`aU4e>DyTJkO2OID`hFjvr4c{lD&cgWm`L%&NKG>P1o5>Br zuVfvmzn@ZUGDb7AEAHNH`|!|s|2`8G#C7&|+^FklTdM(`Vb|4RLipr7UR21~PspN< zh55XE+wqV@kwP$P!tnWle)1EA+Su6vlAj5AHUP|lsi7p(L!o4_lhqQw&S0FgG}1UAyIG)MGv%!ybuM+T^Rge$htDBq;5shh03iM-j!{qD zzzbz~$OTpH_Yz&3q>J@5$Kf4HQ=RqL2I>@Vcuq;T*eIP&taR zK)8YeA;e7g%wt}0Er~uZfU|!&;OO;>l9ZNI-ngP66Q?n7MJ#EL{5ydaTRNpKsOgd0I#J;6IjFS$OcMU zhWd5a*GU>w5So?`PNe|W3rjQw-Pd!yPZeK~d)J?9je0UwTuctV>(m{Nb71G#NqG^5 zs1vLhxw@04N-d*AluI01G?dp;LRDl-KaAw#Fb(Q)y?AHuW-oK3l&K1-<fhhwosKxyrRiSEY{Ulg?=?MbsgA zlOF|2HepE7Z0pr7RHfcenf`YE#Y`!gHgh#;Lco7MR4lDUPG&u7E59>-MM>Ym&FsNo zvq3hx?(@lBu;kHi7OMC4gW8dO%f){;n4_VW;qsJR>N_P_<%Yl~+1=poX=2)2P^xQN z>^}*9S$tV_I2=vDUyA!*e^%cBJaO(Xs`2~Nf=esjA9~(evi6NYKmhfeaOfDfP`dpt zF%+MFF>JJY50j(TV#qk-wPFdJ zM67N{5m~BKG)(NmV8e7Tf8Kv^k4o^+rvA-I zBGj?3y|Px+hk6ffD3doKGvmVCdY;M>uMd8VaCrxJHlF+#3Q%q)*P-}j-B}jy-#+1A5)^~5$Jt3F4UC(B zmex%H^+IQ+7&1(M?pv9Eqs$<(RIW-;o1m=BD$b(hw-GXkvsh>z* z{@d94sPJQYN@rD70`dPjiT@izP$K9T3@h-ct#u}|FqTslM@}V(6BXvu21;zPD&sxa z^1JP4ZWf@|c1fmqwR$jWx&RBX*X8!t>;Esu2P=1<3jFR@3Ns@hAM7Yf;F23Nv9Vv8 z;Lf&N#s0&7T#4U9baiqMXG;y~{~VIx`h|v5LB-tR^)E{DP%Wt0Xw5q0yL_|&R!`?I zsK6b6LRh>~{NxI~r(i~K2@O?kB?TxyoZI0H?}h67TXm)aJF>!BR3-D649~b;iO~s{ zei<~<@(wPVe`H0~EB9TH_EZ@MD*jElc-<2KMKD&S=+_j&6z|y*4$(owR*1-PD`Kbmi@0=a-R&G~pt^cNNJB zb(2a(2=crfhV6EbzFrzw{()yGsMJl!UPgrHxc}$;`=oUszj2@hUIJ2sTgg+gs&eAE zq_Et-)9o@h{&tS>twm~QC=H0br#@F{sqZ+7eR!QHdQky4k7~vGPC^F0ibS`NRdN<4 zUi7YU&EACZChgIL?z$_=M!q&e%*M~`9b!eZvUX5YhGHaxCm5>ZPo6olv%dc-W6*He z6$!XkbUf$VNv<*4Tp6StBF<%>q;aTyc@!^NBdd5olr*FO)vWfmbNul-@l(ZEi))WF z>RfHY;31lMe}XsVfsM0uytPYSpa2_u@og!A3|_(lQeVSnt93udFCADV25v$v@WHQ| z8=ZXYHw3!P)ujZDu&p)8^Ui>_5vbSF)SLEqT8z@XM?`1+-R3-cX3BOzY+%K7#w{J; zTKV*J3VMJ>jA7Fx6|p@rr{Fg6nMxxzv;8;h$jFUAC)eIJ-IRqeP(ejS6;yg9LjLoz z?-brMlTl}Q(QeqTTgf7V)Pb%_l&Y>i^p=t8<%gpFtqzenoOA5@Yu3&K+43!qCrB;w zq8cI7_g~*Md$G@uu3$iwH!2ddJvA8LDRmcN*eq0u*1M#yX8@KP#KbjFuwA88H4+$*+rCsPBoqr-5N!zL@qLRVaJ}YfD z)gSw@zv?5CZ0&lx*NFj-8OIAQ!Gy7@a+(GW(H86iR^`YR|0c4hC=7r@>-$vdaPNZP z;!254NOp9!VX}sqG0Bg-7n?^_BcE-|yM3j=CfCzDdyc34)FF{As$;nR=eo4nl@H}| zLTAccZ7S7VQm);Upx^Q*mS>&JRQE7t6<-mTG59?dKr_U`ePZK1hCz0Zn5A3FVqyxm zGA(Zg-w$^hU@##Lj${uXBJP(t?500nKhnALrtkrP%Gck0;{sGXy#?|3(w#(>@=8Vh zR=4ezE(){|WeUrUHnFRgex`}#PeQiBkJ{D|Y@YChH?Pe~e0F_1{=y;aX@-sZ7|ABpqOJU2wcQqn{t|!7UCBl9oyeB%`zX74}{F7|X*?y;r?^+=m zE3FO%M`iC-Fh1>V>j!c(X0uMc6VdCn9|g+wkgzFTk9->k@OCMQG{3pYtbb-~$*Tn~ z$?+|?o~?+2WI}1=5#hk6VE_(JntK6kZ}8$;dUSI!g;m6&v!m+qDo>EaD=OhBim+=8 zx~GYge@vL?Bl`qlg!&_80;RmWjvG2pe_a~dOUj!xBJ9jw#*rp`9(kbr8akf|`jx8E z3U$}BwPJr<&aUn@TMXzZv|Bvs<6+-3+V=eo_;w1tn4YPErYej(?8LBAS7Y~}595PX zR;3loS+-Id6oRgq6edh%seURCNL*2b_r~-P$1H8LvVO7Tb5eRJR2*1ZSwWY!AtbF? zd!W=r{kmbYsVJpq^JUOZy_pKH`eGXKleTZwGHDxnF`0^T z?IcI^dY5P$N&5vb@CJLx$LMFGTbs2irodi{t>e4L7>G)h1H;h=?M$vWvRLunn?h(e z26Knpx!GpNyiMK7{2$pS<_uZUhcDPcDHcuxKe46U_fYd-%dsXVT#{Nk*n6lFcbzfM(`T|n9uBNp{(%zQC}6WVIaY_EWwH!`i7rL1bf-f zYg=_IgKUhxc7n|f;r#@o>Q36U5%+~r7K?QF6_)#Ux7uWrUcrLnVRk)54QW}=no(V0 zvF!YIA`j6>1e?m~&!n-p42|_6UJna9c8vWU{2DEy*vo4(3$7lEacl#B-8qt8qF}Rj zljj}`3$F-KggUi_3R_z7w~3*1RlxhZQ6|(4?q*3|$L9&AGF`8kSMm8bXlanDgXLbj zE9wRo_Pm#}x1VIXeXa$KoWYfVS9j#Whe;=Tn@zEANBQkLmJu5=Jg9;e5vS zh-%Vd*UXM8=H_EGnC6X#=)>^)V9e!{yDNr{<3;CSMN50q23CT$PkwZQEv0?IwvnTU z9hcwtWw?lo&*TW6&4qn%NP&4#K2+MLu)g*o=6JvCU6?Pn3GM8-BdBtkoZh;Asg(?I z5c=b&5CdmsCG{$mBD|!eCSk*V?A}*xksHJA+V7)tabEgP8nDXmqk2z|ccCgK)|E?% ze5}C&^Z@6KZ>ySO;U~6!wmN)C{m*4g-**LI#fpUG%1okmxD7rGyid$)jw0sDGJd3D z=y$!Pv9q9ddQP$))9KTl=Y&ieDX?L4sg!*xcX*%Z3mN^s;Ku%*mPJGdukQF}ymj(Z zA`{%?A4{L`y@p4f1Ax~ub=!KO;Kq>km)>#w?jvu5;tbpx&VtK$7+@Aq$CiaoFw6ET zI4FDAb;8G=NcWx}=7PLL=SqsWkRgdpIF~*yp2oT#38go7)$vK2Cv6 zwIgF_6GdFSXs#WOe_g$eM{KVj3gGqpAhBqBPPpYM|*i9Uy4x7c* zMr6LsJl~wZ4!o-WQH9h`g2o3Qjav>_;Vs<&NPeb636H0x@MQN^0X};T|E%%a^oKD-;pe#Ootk zmUZ6-31j6dvmVxbGIoxh6Fe!tNNTk8T+u!$T=}N=a!gJmU?I52YgouY=K0>*}_B@AIdbK=m~aZnHBVxg9x1>xc-xA-II{7 zK~46w2_ra61VoA%23xgYC6vo{x50TfTkMuB3QwSU}d^e{xb5z9BVMYR@(= zMlidT6hms!3aMwPURcGU)Dl=>-E^qwbhM4BoOuBWmRNZ>buzNbs--m5#F=mK5JAfG z#SDva#@vV@rd5D$Tj5NLxx~tN(-j#vPg;Il{jpjw&pSQm@O=C5WJ`<%7-44*-g|1O z1D9QsAX6=gcTU79+9)c(=)Q0_qz|2zB^RUk(x2$;v@wLy?xLXi+6S8X*)~(^3p0#a zkobmVoxppi!M&vP8=o%5rUk40Z~Wd*O^XbWRm!l}q)n@wd;|Ai__|(g7ed|laILi@ zPkZn_kOBH@b+r0T_lD�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 literal 0 HcmV?d00001