From f858ae18211009f55da882589f9abf4b91134aa5 Mon Sep 17 00:00:00 2001 From: colin Date: Fri, 13 Sep 2019 21:03:38 +0800 Subject: [PATCH] Add UnsuperLearnFindBestWeight to find best from 4000 --- FilterEvaluator/Evaluator copy.py | 113 +++++++++++++ FilterEvaluator/Evaluator.py | 158 ++++-------------- ...valuatorEntropy.py => EvaluatorUnsuper.py} | 115 +++++-------- FilterEvaluator/TrainNetwork.py | 2 + FilterEvaluator/bestweightSearch.npy | Bin 0 -> 416 bytes FilterEvaluator/bestweightTrain.npy | Bin 0 -> 416 bytes FilterEvaluator/checkpoint.pkl | Bin 14040 -> 0 bytes FilterEvaluator/checkpointSGD.pkl | Bin 14040 -> 0 bytes FilterEvaluator/checkpointSGDPreTrain.pkl | Bin 14040 -> 0 bytes FilterEvaluator/checkpointSearch.pkl | Bin 0 -> 14040 bytes FilterEvaluator/checkpointTrain.pkl | Bin 0 -> 14040 bytes FilterEvaluator/image/a0-1024.png | Bin 0 -> 273 bytes FilterEvaluator/image/b0-1024.png | Bin 0 -> 273 bytes .../{image => imageSearch}/0-1024.png | Bin .../{image => imageSearch}/1024-2048.png | Bin .../{image => imageSearch}/2048-3072.png | Bin .../{image => imageSearch}/3072-4096.png | Bin FilterEvaluator/imageTrain/0-1024.png | Bin 0 -> 12605 bytes FilterEvaluator/imageTrain/1024-2048.png | Bin 0 -> 12607 bytes FilterEvaluator/imageTrain/2048-3072.png | Bin 0 -> 12602 bytes FilterEvaluator/imageTrain/3072-4096.png | Bin 0 -> 11468 bytes tools/utils.py | 10 +- 22 files changed, 199 insertions(+), 199 deletions(-) create mode 100644 FilterEvaluator/Evaluator copy.py rename FilterEvaluator/{EvaluatorEntropy.py => EvaluatorUnsuper.py} (74%) create mode 100644 FilterEvaluator/bestweightSearch.npy create mode 100644 FilterEvaluator/bestweightTrain.npy delete mode 100644 FilterEvaluator/checkpoint.pkl delete mode 100644 FilterEvaluator/checkpointSGD.pkl delete mode 100644 FilterEvaluator/checkpointSGDPreTrain.pkl create mode 100644 FilterEvaluator/checkpointSearch.pkl create mode 100644 FilterEvaluator/checkpointTrain.pkl create mode 100644 FilterEvaluator/image/a0-1024.png create mode 100644 FilterEvaluator/image/b0-1024.png rename FilterEvaluator/{image => imageSearch}/0-1024.png (100%) rename FilterEvaluator/{image => imageSearch}/1024-2048.png (100%) rename FilterEvaluator/{image => imageSearch}/2048-3072.png (100%) rename FilterEvaluator/{image => imageSearch}/3072-4096.png (100%) create mode 100644 FilterEvaluator/imageTrain/0-1024.png create mode 100644 FilterEvaluator/imageTrain/1024-2048.png create mode 100644 FilterEvaluator/imageTrain/2048-3072.png create mode 100644 FilterEvaluator/imageTrain/3072-4096.png diff --git a/FilterEvaluator/Evaluator copy.py b/FilterEvaluator/Evaluator copy.py new file mode 100644 index 0000000..a25d007 --- /dev/null +++ b/FilterEvaluator/Evaluator copy.py @@ -0,0 +1,113 @@ +from __future__ import print_function +import os +import sys +import torch +import torch.nn as nn +import torch.nn.functional as F +import torch.optim as optim +import torchvision +from torchvision import datasets, transforms +import torchvision.models as models +import matplotlib.pyplot as plt +import numpy as np +from torch.utils.data import Dataset, DataLoader +from PIL import Image +import random +import cv2 + + + +CurrentPath = os.path.split(os.path.realpath(__file__))[0]+"/" +print("Current Path :" + CurrentPath) + +sys.path.append(CurrentPath+'../tools') +sys.path.append(CurrentPath+'../') + +import Model as Model +from tools import utils, Train, Loader +import EvaluatorUnsuper + + + +batchsize = 128 + + +# model = utils.SetDevice(Model.Net5Grad35()) +# model = utils.SetDevice(Model.Net31535()) +model = utils.SetDevice(Model.Net3Grad335()) +# model = utils.SetDevice(Model.Net3()) + + +layers = model.PrintLayer() +layer = 0 + +model = utils.LoadModel(model, CurrentPath+"/checkpoint.pkl") + +weight = np.load(CurrentPath+"WeightSearch.npy") + + + + + +# traindata, testdata = Loader.MNIST(batchsize) +# traindata, testdata = Loader.RandomMnist(batchsize, style="Vertical") +# traindata, testdata = Loader.RandomMnist(batchsize, style="Horizontal") +# traindata, testdata = Loader.RandomMnist(batchsize, style="VerticalOneLine") +# traindata, testdata = Loader.RandomMnist(batchsize, style="VerticalZebra") +# traindata, testdata = Loader.Cifar10Mono(batchsize) +traindata, testdata = Loader.Cifar10Mono(batchsize, num_workers=0, shuffle=True) + + + + +# weight = EvaluatorUnsuper.UnsuperLearnSearchWeight(model, layer, traindata, NumSearch=100000, SearchChannelRatio=8, Interation=10) +# np.save("WeightSearch.npy", weight) + +# weight = EvaluatorUnsuper.UnsuperLearnTrainWeight(model, layer, traindata) +# np.save("WeightTrain.npy", weight) + + + + +weight = np.load(CurrentPath+"WeightSearch.npy") + + +def DistanceOfKernel(k1,k2): + k1 = k1.reshape((1,-1)) + k1r = 1.0/k1.reshape((-1,1)) + k1dot = np.dot(k1r,k1) + k2 = k2.reshape((1,-1)) + k2r = 1.0/k2.reshape((-1,1)) + k2dot = np.dot(k2r,k2) + diff = np.abs(np.mean(k1dot - k2dot)) + return diff + + +indexs = np.random.randint(0,weight.shape[0],(10000,2)) + +mindis = 0 +manindex = [] +for i in indexs: + if i[0] == i[1]: + continue + dis = DistanceOfKernel(weight[i[0]], weight[i[1]]) + if dis > mindis: + manindex = i + mindis = dis + +a = weight[manindex[0]] +b = weight[manindex[1]] + +utils.NumpyToImage(a, CurrentPath+"image","a") +utils.NumpyToImage(b, CurrentPath+"image","b") + +a = 0 + + + + + + +# utils.NumpyToImage(weight, CurrentPath+"image") +# utils.SaveModel(model,CurrentPath+"/checkpoint.pkl") +print("save model sucess") diff --git a/FilterEvaluator/Evaluator.py b/FilterEvaluator/Evaluator.py index 5797e73..55a2490 100644 --- a/FilterEvaluator/Evaluator.py +++ b/FilterEvaluator/Evaluator.py @@ -1,10 +1,6 @@ from __future__ import print_function import os import sys - -# import multiprocessing -# multiprocessing.set_start_method('spawn', True) - import torch import torch.nn as nn import torch.nn.functional as F @@ -20,6 +16,7 @@ import random import cv2 + CurrentPath = os.path.split(os.path.realpath(__file__))[0]+"/" print("Current Path :" + CurrentPath) @@ -28,6 +25,9 @@ sys.path.append(CurrentPath+'../') import Model as Model from tools import utils, Train, Loader +import EvaluatorUnsuper + + batchsize = 128 @@ -40,8 +40,7 @@ model = utils.SetDevice(Model.Net3Grad335()) layers = model.PrintLayer() layer = 0 - -model = utils.LoadModel(model, CurrentPath+"/checkpoint.pkl") +# model = utils.LoadModel(model, CurrentPath+"/checkpoint.pkl") @@ -53,132 +52,43 @@ model = utils.LoadModel(model, CurrentPath+"/checkpoint.pkl") # traindata, testdata = Loader.RandomMnist(batchsize, style="VerticalOneLine") # traindata, testdata = Loader.RandomMnist(batchsize, style="VerticalZebra") # traindata, testdata = Loader.Cifar10Mono(batchsize) -traindata, testdata = Loader.Cifar10Mono(batchsize, num_workers=2, shuffle=True) - - - -def GetScore(netmodel,layer,SearchLayer,DataSet,Interation=-1): - netmodel.eval() - sample = utils.SetDevice(torch.empty((SearchLayer.out_channels,0))) - - layer = layer-1 - - # layerout = [] - # layerint = [] - # def getnet(self, input, output): - # layerout.append(output) - # layerint.append(input) - # handle = netmodel.features[layer].register_forward_hook(getnet) - # netmodel.ForwardLayer(data,layer) - # output = layerout[0][:,:,:,:] - # handle.remove() - - - for batch_idx, (data, target) in enumerate(DataSet): - data = utils.SetDevice(data) - target = utils.SetDevice(target) - output = netmodel.ForwardLayer(data,layer) - output = SearchLayer(output) - data.detach() - target.detach() - - output = torch.reshape(output.transpose(0,1),(SearchLayer.out_channels,-1)) - sample = torch.cat((sample,output),1) - if Interation > 0 and batch_idx >= (Interation-1): - break - - sample_mean=torch.mean(sample,dim=1,keepdim=True) - dat1 = torch.mean(torch.abs(sample - sample_mean),dim=1,keepdim=True) - dat2 = (sample - sample_mean)/dat1 - dat2 = torch.mean(dat2 * dat2,dim=1) - return dat2.cpu().detach().numpy() - -def UnsuperLearnSearchWeight(model, layer, dataloader, NumSearch=10000, SaveChannelRatio=500, SearchChannelRatio=1, Interation=10): - tl = model.features[layer] - newlayer = nn.Conv2d(tl.in_channels, tl.out_channels * SearchChannelRatio, tl.kernel_size, - tl.stride, tl.padding, tl.dilation, tl.groups, tl.bias, tl.padding_mode) - newlayer = utils.SetDevice(newlayer) - - newchannels = tl.out_channels * SaveChannelRatio - newweightshape = list(newlayer.weight.data.shape) - - minactive = np.empty((0)) - minweight = np.empty([0,newweightshape[1],newweightshape[2],newweightshape[3]]) - - for i in range(NumSearch): - newweight = np.random.uniform(-1.0,1.0,newweightshape).astype("float32") - newlayer.weight.data=utils.SetDevice(torch.from_numpy(newweight)) - - score = GetScore(model, layer, newlayer, dataloader, Interation) - - minactive = np.append(minactive, score) - minweight = np.concatenate((minweight, newweight)) - - index = minactive.argsort() - minactive = minactive[index[0:newchannels]] - minweight = minweight[index[0:newchannels]] - print("search random :" + str(i)) - if i % (NumSearch/10) == 0: - tl.data=utils.SetDevice(torch.from_numpy(minweight[0:tl.out_channels])) - utils.SaveModel(model, CurrentPath+"/checkpoint.pkl") - - tl.data=utils.SetDevice(torch.from_numpy(minweight[0:tl.out_channels])) - return minweight - - -def TrainLayer(netmodel, layer, SearchLayer, DataSet, Epoch=100): - netmodel.eval() - sample = utils.SetDevice(torch.empty((SearchLayer.out_channels,0))) - layer = layer-1 - SearchLayer.weight.data.requires_grad=True - optimizer = optim.SGD(SearchLayer.parameters(), lr=0.1) - for e in range(Epoch): - for batch_idx, (data, target) in enumerate(DataSet): - optimizer.zero_grad() - data = utils.SetDevice(data) - target = utils.SetDevice(target) - output = netmodel.ForwardLayer(data,layer) - output = SearchLayer(output) - sample = torch.reshape(output.transpose(0,1),(SearchLayer.out_channels,-1)) - sample_mean=torch.mean(sample,dim=1,keepdim=True) - dat1 = torch.mean(torch.abs(sample - sample_mean),dim=1,keepdim=True) - dat2 = (sample - sample_mean)/dat1 - dat2 = torch.mean(dat2 * dat2,dim=1) - label = dat2*0.5 - loss = F.l1_loss(dat2, label) - loss.backward() - optimizer.step() - print(" epoch :" + str(e)) - return SearchLayer.weight.data.cpu().detach().numpy() - -def UnsuperLearnTrainWeight(model, layer, dataloader, NumTrain=500, TrainChannelRatio=1, Epoch=20): - tl = model.features[layer] - newlayer = nn.Conv2d(tl.in_channels, tl.out_channels * TrainChannelRatio, tl.kernel_size, - tl.stride, tl.padding, tl.dilation, tl.groups, tl.bias, tl.padding_mode) - newlayer = utils.SetDevice(newlayer) - newweightshape = list(newlayer.weight.data.shape) - minactive = np.empty((0)) - minweight = np.empty([0,newweightshape[1],newweightshape[2],newweightshape[3]]) - for i in range(NumTrain): - newweight = np.random.uniform(-1.0,1.0,newweightshape).astype("float32") - newlayer.weight.data=utils.SetDevice(torch.from_numpy(newweight)) - newweight = TrainLayer(model, layer, newlayer, dataloader, Epoch) - minweight = np.concatenate((minweight, newweight)) - print("search :" + str(i)) - return minweight +traindata, testdata = Loader.Cifar10Mono(batchsize, num_workers=0, shuffle=True) - -# weight = UnsuperLearnSearchWeight(model, layer, traindata, NumSearch=100000, SearchChannelRatio=8, Interation=10) +# weight = EvaluatorUnsuper.UnsuperLearnSearchWeight(model, layer, traindata, NumSearch=100000, SearchChannelRatio=8, Interation=10) # np.save("WeightSearch.npy", weight) -weight = UnsuperLearnTrainWeight(model, layer, traindata) -np.save("WeightTrain.npy", weight) +# weight = EvaluatorUnsuper.UnsuperLearnTrainWeight(model, layer, traindata) +# np.save("WeightTrain.npy", weight) -utils.NumpyToImage(weight, CurrentPath+"image") + +# weight = np.load(CurrentPath+"WeightSearch.npy") +# bestweight = EvaluatorUnsuper.UnsuperLearnFindBestWeight(model,layer,weight,traindata,128,100000) +# np.save(CurrentPath+"bestweightSearch.npy", bestweight) +# utils.NumpyToImage(bestweight, CurrentPath+"image") + + +# weight = np.load(CurrentPath+"WeightTrain.npy") +# bestweight = EvaluatorUnsuper.UnsuperLearnFindBestWeight(model,layer,weight,traindata,128,100000) +# np.save(CurrentPath+"bestweightTrain.npy", bestweight) +# utils.NumpyToImage(bestweight, CurrentPath+"image") + + + +weight = np.load(CurrentPath+"bestweightSearch.npy") +EvaluatorUnsuper.SetModelConvWeight(model,layer,weight) +utils.SaveModel(model,CurrentPath+"/checkpointSearch.pkl") + +weight = np.load(CurrentPath+"bestweightTrain.npy") +EvaluatorUnsuper.SetModelConvWeight(model,layer,weight) +utils.SaveModel(model,CurrentPath+"/checkpointTrain.pkl") + + + +# utils.NumpyToImage(weight, CurrentPath+"image") # utils.SaveModel(model,CurrentPath+"/checkpoint.pkl") print("save model sucess") diff --git a/FilterEvaluator/EvaluatorEntropy.py b/FilterEvaluator/EvaluatorUnsuper.py similarity index 74% rename from FilterEvaluator/EvaluatorEntropy.py rename to FilterEvaluator/EvaluatorUnsuper.py index 4819cab..3235ecc 100644 --- a/FilterEvaluator/EvaluatorEntropy.py +++ b/FilterEvaluator/EvaluatorUnsuper.py @@ -1,10 +1,6 @@ from __future__ import print_function import os import sys - -# import multiprocessing -# multiprocessing.set_start_method('spawn', True) - import torch import torch.nn as nn import torch.nn.functional as F @@ -19,50 +15,13 @@ from PIL import Image import random import cv2 - CurrentPath = os.path.split(os.path.realpath(__file__))[0]+"/" -print("Current Path :" + CurrentPath) - sys.path.append(CurrentPath+'../tools') sys.path.append(CurrentPath+'../') import Model as Model from tools import utils, Train, Loader -batchsize = 128 - - -# model = utils.SetDevice(Model.Net5Grad35()) -# model = utils.SetDevice(Model.Net31535()) -model = utils.SetDevice(Model.Net3Grad335()) -# model = utils.SetDevice(Model.Net3()) - - -layers = model.PrintLayer() -layer = 0 - -model = utils.LoadModel(model, CurrentPath+"/checkpoint.pkl") - - - - - - -# traindata, testdata = Loader.MNIST(batchsize) -# traindata, testdata = Loader.RandomMnist(batchsize, style="Vertical") -# traindata, testdata = Loader.RandomMnist(batchsize, style="Horizontal") -# traindata, testdata = Loader.RandomMnist(batchsize, style="VerticalOneLine") -# traindata, testdata = Loader.RandomMnist(batchsize, style="VerticalZebra") -# traindata, testdata = Loader.Cifar10Mono(batchsize) -traindata, testdata = Loader.Cifar10Mono(batchsize, num_workers=2, shuffle=True) - - - - - - - - def GetScore(netmodel,layer,SearchLayer,DataSet,Interation=-1): netmodel.eval() @@ -175,35 +134,49 @@ def UnsuperLearnTrainWeight(model, layer, dataloader, NumTrain=500, TrainChannel return minweight +def UnsuperLearnFindBestWeight(netmodel, layer, weight, dataloader, databatchs=128,interation=10000): + weight = weight.astype("float32") + netmodel.eval() + tl = netmodel.features[layer] + outchannels = tl.out_channels + newlayer = nn.Conv2d(tl.in_channels, tl.out_channels, tl.kernel_size, + tl.stride, tl.padding, tl.dilation, tl.groups, tl.bias, tl.padding_mode) + newlayer = utils.SetDevice(newlayer) + + datas = [] + for batch_idx, (data, target) in enumerate(dataloader): + datas.append(utils.SetDevice(data)) + if batch_idx >= databatchs-1: + break + indexs = np.random.randint(0,weight.shape[0],interation*outchannels).reshape(interation,-1) + entropys = [] + forwardlayer = layer -1 + shift = [] + for i in range(outchannels): + shift.append(1< mean + posi = posi*shift + sums = posi.sum(1).type(torch.float32) + histc = sums.histc(256,0,255).type(torch.float32) + histc = histc[histc>0] + histc = histc/histc.sum() + entropys.append((histc.log2()*histc).sum()) + print("search index : " + str(i)) + argmin = np.argmin(entropys) + bestweight = weight[indexs[argmin]] + return bestweight - - - - -weight = np.load(CurrentPath+"WeightSearch.npy") -# weight = np.zeros((990,3,3)); -# weight[:,1]=100 -# weight[:,:,1]=100 -utils.NumpyToImage(weight,CurrentPath+"image") - -a=0 - - - - - - - - -# weight = UnsuperLearnSearchWeight(model, layer, traindata, NumSearch=100000, SearchChannelRatio=8, Interation=10) -# np.save("WeightSearch.npy", weight) - -weight = UnsuperLearnTrainWeight(model, layer, traindata) -np.save("WeightTrain.npy", weight) - - - -ConvKernelToImage(weight, CurrentPath+"image") -# utils.SaveModel(model,CurrentPath+"/checkpoint.pkl") -print("save model sucess") +def SetModelConvWeight(model, layer, weight): + w = utils.SetDevice(torch.from_numpy(weight)) + model.features[layer].weight.data = w \ No newline at end of file diff --git a/FilterEvaluator/TrainNetwork.py b/FilterEvaluator/TrainNetwork.py index 1d0e74a..ab7c68b 100644 --- a/FilterEvaluator/TrainNetwork.py +++ b/FilterEvaluator/TrainNetwork.py @@ -66,6 +66,8 @@ for i in range(1000): window.AppendData(linePretrain,Train.test(model,testdata)) + + model = utils.SetDevice(Model.Net3335()) model = utils.LoadModel(model, CurrentPath+"/checkpoint.pkl") diff --git a/FilterEvaluator/bestweightSearch.npy b/FilterEvaluator/bestweightSearch.npy new file mode 100644 index 0000000000000000000000000000000000000000..70a6fe5feddf029f59a0fbe648b5759a1d2b83c5 GIT binary patch literal 416 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+l>qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I#iItqq53dTUBsiRPY$?nwsyty&<9ml%%9pjL;UzsDaKcaVz z&C1d#b{ju$+~;yzXWuldTl?HCEbV79neA88T52`YyAd zFKNA9=(hm-YhO(4x8&{EH{CLR-x8xwdwu>a-xDj(Wq0S1*S>OrJ9g^-nOJ_^opL_Pxz8JwcdyT`Hd%G^i?4LT%e1D=y zo&9v)efzk6tl4v-&&JN6GtWBg?k$^5lhXFH+tu6qX_nh}ZF#=;rG4I>+|cWGFONs; z-!Sv6T`YsHt&!(n+kUD0dwm(d>|3RL&hGx)g#B`!m39X%AKJ&r(Yh}ox^Dj((;9mR U$0K$Vzj*JD*vYfM_~z@q0GMj46#xJL literal 0 HcmV?d00001 diff --git a/FilterEvaluator/bestweightTrain.npy b/FilterEvaluator/bestweightTrain.npy new file mode 100644 index 0000000000000000000000000000000000000000..c1aa5acc59db3d0f7f5a4c2ed5bbbde946002f1c GIT binary patch literal 416 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+l>qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I#iItqq53dTUBsiRP->i+vZx9!#%XV|T&&arc? zYuLNnrN+Li!)E_m-`#u5PCc|%O8;ng?s=Ep={cfy?b^os&wD5Ai=N|Q|K#>NJGZd6 z`z(2z_V?CIwp+ijdH=oxdUjLRW!b0Pd1=Sr_s~v`*KR-0zC!!R4ZU`j&W-!RqL1wJ z@w{VqDy3xq>)qV;HjESYS?KuNPv|z@Z}|SD-Ma?P{bh;f_9}0J_J4Y@dS7P@zkRh} z(!Qo-CHsU*-u>Ot9=oTowAedtI=WZm#yq>&6`A{!%YWE~+sv|azL>E8=fz?>lPk{q RQ~Lz%{~hzT6aTEc9{}Bvqy7K@ literal 0 HcmV?d00001 diff --git a/FilterEvaluator/checkpoint.pkl b/FilterEvaluator/checkpoint.pkl deleted file mode 100644 index 02d31472f8a42ed19cd325d088737941586ad822..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14040 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 diff --git a/FilterEvaluator/checkpointSGD.pkl b/FilterEvaluator/checkpointSGD.pkl deleted file mode 100644 index 7a9b4a3ccc06823fcbb5d005bf655ba6499d89fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14040 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 VyR^}4--u1UV~tFG*pv78{{T>*baVg! literal 0 HcmV?d00001 diff --git a/FilterEvaluator/checkpointTrain.pkl b/FilterEvaluator/checkpointTrain.pkl new file mode 100644 index 0000000000000000000000000000000000000000..7bdf15b4ab183b111ff79cfc29930dee611d9f98 GIT binary patch literal 14040 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 literal 0 HcmV?d00001 diff --git a/FilterEvaluator/image/b0-1024.png b/FilterEvaluator/image/b0-1024.png new file mode 100644 index 0000000000000000000000000000000000000000..d3d1b05baf5c2126ab05fddd476219596c2fcd9a GIT binary patch literal 273 zcmeAS@N?(olHy`uVBq!ia0vp^4Is<`Bp9BB+KB_H8=fwXAr*{A4;l(K7%&_-kn*C( z;9b_jWme@!_$E2H{fjN;bE^Bjr=@1y>`6yd)C@a4eUgMG&lv2?H|#A_SsP!d2j2ks N)zj6_Wt~$(698jLU*rG) literal 0 HcmV?d00001 diff --git a/FilterEvaluator/image/0-1024.png b/FilterEvaluator/imageSearch/0-1024.png similarity index 100% rename from FilterEvaluator/image/0-1024.png rename to FilterEvaluator/imageSearch/0-1024.png diff --git a/FilterEvaluator/image/1024-2048.png b/FilterEvaluator/imageSearch/1024-2048.png similarity index 100% rename from FilterEvaluator/image/1024-2048.png rename to FilterEvaluator/imageSearch/1024-2048.png diff --git a/FilterEvaluator/image/2048-3072.png b/FilterEvaluator/imageSearch/2048-3072.png similarity index 100% rename from FilterEvaluator/image/2048-3072.png rename to FilterEvaluator/imageSearch/2048-3072.png diff --git a/FilterEvaluator/image/3072-4096.png b/FilterEvaluator/imageSearch/3072-4096.png similarity index 100% rename from FilterEvaluator/image/3072-4096.png rename to FilterEvaluator/imageSearch/3072-4096.png diff --git a/FilterEvaluator/imageTrain/0-1024.png b/FilterEvaluator/imageTrain/0-1024.png new file mode 100644 index 0000000000000000000000000000000000000000..620c960648ab37592e58c98cdee90e72137905b6 GIT binary patch literal 12605 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 literal 0 HcmV?d00001 diff --git a/FilterEvaluator/imageTrain/1024-2048.png b/FilterEvaluator/imageTrain/1024-2048.png new file mode 100644 index 0000000000000000000000000000000000000000..543db35768fb1d938692b211afe4254d07eb899c GIT binary patch literal 12607 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 hMx4G01d#r*{{it#;v7002ovPDHLkV1f-##K!;t literal 0 HcmV?d00001 diff --git a/FilterEvaluator/imageTrain/2048-3072.png b/FilterEvaluator/imageTrain/2048-3072.png new file mode 100644 index 0000000000000000000000000000000000000000..40c0366c7a3f439e17e55619943013a45491e37e GIT binary patch literal 12602 zcmV-AF~!b_P)|x(H*0^8^(aqqq}o-jP3ygq`SMjB}7pa<9&wb0P-*v zqI4WSE+f92^_ool#*AI;$l}jJ0+~!jr4H{;qr;gRD^^@?W}q!pttoFyTZ#^!Lg9^H zS2SUePC4e`>Do(rIjaAJikxThIuqzPXw^arGAwC-g=FMBY&aS;CAg4|wY;$(MjQQ6 zGP6ZvuMWjLuQGflsW?2S19Lh%*vd}FazVp;rmSMZ$E3fts2oHYz9(2LE2s; z@h(#C73Q(gLw2e@;z_+u+%NQnjEKPX#2ry7z3M?xwPrw$Q^%+bH8oIv#63sEoF* zKl~8L+TE(x@MeA$cWNM@;@c8u^N!5QPA{#oHPXn%{S0K1N=YJWe$NYmVm%A&5*Sqq z#{s-KWoi!lr_*;rF2<*=9ac;LjDHO1%-{)8_D03-Ew6dCRS~3FEHYLUv0-rpN)%M- z?`iw?Ti%~#onB@wVxCJ(Ygh+|uvXPMit#e)$Y1$8|CG}urixTtUB0svvZj&~cK&J` zx69x$@@L&jjDRmV2xFni)&|luG4x(JWYkAC{l$D@RyyI(+MhjTknVnP)S8VbpdWZA zVu5eVQc{w{Zg#|&g&M9|3qO_6Pm(`Wrm4|fZTQs@fnr`xxR2NoVZN?-Ai+F&WDfxP$4(*{^W;5Yw;Wn{5e=CU@#=e4~k zU5y86L3pSFRW;=Z4NYnBysae%a&2%} z9Fl87(cBtHLur&dtsZ2M)Q)msO@$pQ{xz`N!%A(3ZF{G-kH5jG^sw2 z9KoH2GSR6kX-We5M07kIfRBI;04TDOzMhQ<$Wgw;NZNA65 ztB9reldfELw+Z{*wSBXhcWv$+n$Zj2`yfIop2G;DYm2gYQ%}U7bEvm!b|sY>UR2}k zW`#X#&XR&EsZKlUu1FM9&!Ib4*<$&sEynUGue~=ek-PE(ZmZ zgdtMu+1+@59AW8r$83{eXwYP7oV{b!40^^CUtG7-i?`Ul_0>3){Zt)*@s9y3PfH^z zyGdf;8486x0s0<(n2SwLf7KO|7I~dCX;h{18wFt8CNpIQETx+x+wb|Ayhzo8hfkL^ zOj;3=mz))b9;EL=jysM#NsiO~sMnJvFn@jQ8gw9wpVHJXrEiE;C*`-c0E}fq$m&r} zJ@qWPe_C4|S7HThRUfsKI6&e+&7hJ}&_{Re5kEf_`a~T0)=y<<6}<=BOEU-6CM>rN z^Btxj zX@r}hM_Jz!=c5TT*?I6&TZr-48%c3F9QQ~IXN>bi7dL`d60}>LPxJ9S0Kv$DO7}ME zZm!U}l1K#tdQH6UGvreeaZ5TJFC@#hdh*v#$vH2Ix?(!~72Fm*RN0w%{h(i&oCa{~ z;k*V)Y()t9044A*v&HM)&}7XWsdlSMN%bF*yq-!WrS6|)jUAPGk`>h6=#1VBMtPIB zcgMOaqW7uZwHd6xjoAo{?;2&^XQ;@2gb}ugml(D z>#<#EZ$lR^k4;#gYe5QTP8v#APK(|tp|?@xPC|JDuM^^!p$nXUFcw|EUp4}?vF(Ln zvtVtX)x&v3S0=g%Uj$8GCwfX-l1i;8$43i7cMv|*D=b_3doQHu?ynofBRe>)#MoV( zT|}wBVQQ$P1$|R8f*+&K*EoH&2XFVEO<>j0J@FWCTSFFXFE?;d73J}A5=C21I6Dn%kF>SZsmqXal;2-YO^*T1mxC;uHg6T z|9xw2UhC^i)X6`+8YGD7O=-4M{v9H!N;hgB*}- zCfFcU*=^c~i&!B}HmQUGFbD(E*?Pm49U1a1)L#p$lJsw*t3oIah8`?EuIXUKUV52! zeUv?VrZX_L;D`oCwaz5>a}9kL0$K}!xET*ufX~E}ej~XnSsbEnGZ-U(#gi8;H*FjG z=RQ6MO_s7f@Y7BZpDnS&loyq#cqPWKQnNJs3yZV7oy#ZOq|M2B?`MKzvI+hO(zk6?PNWrgX7;Zi!Dz@C* zgHn+&Wx;WW0pDXgA|fRLjDHMJa+(dw|1^Va9IM+j#Nl&VM!xjY`g${|jpNJdLJZ=A zQB7u-KE|#!wlYDjMywMLJtR`)LAY5I&|` zJZf`a!*0*PXxqlx`FMBEk(Nr=$QcdWNZxBtIwA}d@cwQF8SvDJBtQ2{q()YSsu59j zxGN_~JJwZFdkrEJ=_z=4-jWpcyuzceFV!#;NofkFkNRoM9u_tW$2v@*GwmD^$t0i} zS5ZME9zUjv$x>Ji*GQ`Y(^uFM6NFbn-p8DfH#CGD+JWDNJ25lr+MhAd#J?t&DcMuv z*S>y=&i+lOSce(7(2bW|U6T&-wP43_)VRRuReAQkvvlQKin~x_6_+WiLL@b^DO+ku zn+!iz)%E0MVU}FGtK+?{O2{)j_v#jsq+TGuJOm@-vW}L5gcR|b7r^+(fRxGQS!H5- zVV64NI5(>|Z|H?_a0~^7lpiv9me*9U4v_BYnuX({5rp44d#D<-%^re2(1y z)(5c(Qu9ztxCMzNbwpkf1=ja;Zs{@Roo9YjvXH#i3-o=Ycgo~z4O5Wil-D}<)JC*R zIhGClm%>K$Yb20-tT=g^&kczF@;%Wype)Gpxq?d4H%%5UM0h>o#i7S^9}1oLWTvFK z%u`4Y2Cv{Deo^N__B&8VmJ(F|upHU5?xtRrbOz}pA7xQcrGhMgtb1Dk{Vn!&{Rd+*}&@o&j%6XeanWI zrSs>dn%w6Zxs=JBdF4zwUf9^dLXaz~>!x$aIy8uj4J<8?z#cZ_h(qSB?%0)pu6E#2 zi41Is#kh?76d|v?a~jeeLKS?l7`3n@u@YgI_!Y-DIa#a}@<{HvIv~uh;a!{T*breQ zV2kW(c8}M}BmQI)EcRI&!1%|2vO31~Gc551A%)R@<{i7d`>z zv;~UbxKGbvu_H1r@t+@~JuY-K2R;oX=j4TgdcXB1evW!f2tvh5Z5A%JMtr+ZF;(l$ z9O!)InJ4|gnsPzt9r2CC)yf=T-G}@+=;BBOi5I2_UfISM&=-G z3|bfFkOtzNO}g9!j+5OlT$BYQC85vSr~L13%clUtjh@J>d6;C#0DI;g2-ZP^gcD0L zl4GdkxSF1*)fMptgZ#>KfRq_=tHv(?7;cgtW4H*4v3~!bQ~cF_h2hfu4#>6 zHmRSNs|4Kaztnzcw+Y{5^@~4x4YeYtGfO#t37J^t=92Xq3l(~+U=LvYV*nG+;ZWKq ztN_~Fdv#;lQM8b#s767-*^acwbO;r>La>NU6)J@)rLTBZLF!c*wlq)Bk&E@TMlk&I zMnhx!pL`?kPP8Er_yeun;EIhg3G2y5WzNu4Ps`XwU6Td4s5AwwY3aQjBy949BHh9R z(k_2V&_@ajqw{Kz!h&{IrtQs>ihOA{q zFdAb)&^x682WN+hlmImkB0LXe7BO}GBfQSW7{q%sQX;=TS6deqyWS+A7U2kTU)02nBIrO) z_b{uvc94v;T9MATbgp+d`3D+R_g&Q#bSYYx2}&`mScsD#pYHgSQ=e&jNLQD&poZqN zYhE_EKgwxHagB`2-;gx{82=bBLX?-Vh+i0zQS)O|F1a#-KNH|Xc0U$nt`dcs^*-63 zxj~fa+GW+1WCW_pe0B#X-TscKkAtYYiS76%^()%PY_qxvI_!pO$lzKbifxTVzF9e^ z4+?l4oTZdk9Z~AfA$!JkPvv2jzh@R5sWAMYi(9KT7fV^B5%iJ;Kib*=#>y2FOISd8 z{@F~u^{u(e5bmf`K!H;b`ffB%{MyOE?-{9!mC<(kqdTTdkH0WW-SC#6WB+qSO z3PK>)mF8^7}m z14Dd~mS1LZ*3;Hz_f0D;AopysMpc;5-dOa(W9A-9Fcp(mKnYjdDB}2?f6dpOa6Og% zpiYX4$g*8cwtyK@1Sd) zB~yM3mt`M+G5d2@DIJy49y@$yi}}xgB+USKEIliGIfsGP&pGV5cM4Na>LSg#*Rs^r4nszm(u4KP7a)N9hsH_+w}N~E zVfxf0@irKR@MD8Arm~%;Ud){Ce?0Ec6LCx4^ldPFRn)GrlM=c+*PB*w@FY0m;gyHG z*1eMV?>{L*q|a)DXz{fw%Pe#h?rv8tq>uc4Mdo1>@qcPPxZA3SU*@O0;U+JrD-ePy z!RGB7GgV#Yy=Zf{FN(7PjDHLWdNqP{Z|6d)OMQb98NG%z{6go%m2#Ao$Df`xt+A-4 z2m*pSwgVB1U{f!@2O#;wEB@gARW-8kWfkzk%3nis!xhHO zb8#M1O7wW%SANm#VZ5xAnVmr?@$a!qbK_|shSsfA+{zwB$I&Psf~OFGgGb1|=uK?j zC~BaO$B5j}g`y7?%RTEG+n>bPj^KuhfFwj5{558jxW$yJZsu}i6rXu;M&XONn)-K( zW)InGtr)>(pIA=oo!1ekt}3dR)yO#;-w_oz)cvVQ>ipAHa-mJ*$aE5uFaWZR!QYK( zp-wK)+5Wa}s5KR%rE=>D2#1sx8>+UKxt|{nwJ!I!U*rkOT5+dr8nbT{22X_V-Fg4B-J-NTO_9nD%`334vU34gE z1BvcJW^ZdUUCA8q6K?-T*h`Hj*T=aU>JyI5C9rueg9mJa2Hysk0~r4p;LWs>WT3Jb z(}si0Y3Gbi%Y0hbg(y>VGmv|s=ic^aDCK2Md%y~HQV4+U}Hoz&^cC1i( zPgAgdRUmmCp%x*EDdN6=ItIc26JYRx*qB>QkG1Z5?tt8~Rd`%AR0{|^=e1{0Jwm!F z-RVndztw)jXl&n-N1wQqixuy+uVzXJ*~wwnN3IxAGnyxGJgBzb$iB_xZHP#(16z$* z8ABVtOr({U3WQZA+F8p7x50aZtSvHo4Yf^;IY~iBJP3JF1IBu6=Uo-0zs}B9zxca< zK57_V&Rh><;37!Ws9*rbKL)tpf^@s*(I~{}MB~KYf?R5+%9;Mkxv?&SFETZg+jVR> zcN+{CWc___&ZL95r{MY1BH*~ij>`qai!grC{+Y-goc1HsYqf(COurl+R8UVEW30v2 z)@cHDYJdIye)7uCqGSQjeLwbZ1k)|8-%8C11r2l^^UJ+UBx%StQAMcj9ueqAsF0 zF$GL&Z`nAP?$6Yh<`6fglyc<@CE{|`PJhm{QCahACqxH1U>OS8VajSWCa`DP8+S$o ztnW@EFKR!!k7@ZTkj>5k)->ND4@>3wnz62p^tl9N>IqDb>dN_`sHK5sEyDs-7H468 zI`$>Bz4uR|8E5bp0Tsk<9B>tiG>+*yVWSrSd)M6T zZ?dY5=pswdlKBkv+WgU3^0cDO+a7IC7xMsi9HDM3ZnjVva@Pz1F#a(B_r0yXg@<=n z^5Ds6U*W6dB>cwa*l|N0IG4gx&uy@-6z*@7nlm+{f%(3jc<6+mh3tH6aAS<()V%J57hW7@e2LjDZ`!2M-hJqCmJ38h zbp~47E$+N$8oZ%pvjVji*0)iFj#jG6FnG-6a{Wq_2fP0e$>u!N>o_bOoXokcl{YR$ z8xo*5Ls%;s9LVct!Qx1?*Bf%Z_GGP~s+fQ*+B>+vE7`eW$f z4#*dJ54GGQK22H$d2K+<4RwPqFmy^qdc0pw1qon6rNs@IB($Hhrs{#a|?FyAih$$4V4GWB}2!xHQTcn zj(LlC@UfmBVSMj?wrYZ>;h}S2?Sh+S1S9B6{>Rg?ln}8fbYsTPe!yZzI!QRFBh_55 zy!_Szt2%R<-rt7lKDaLd7g>yxFhTH6KHgCKvz2Pfv6!CZb2H|E>>-fVU{X2tx+Q8r zPHJ%{w~f+PUJ!Og;UB1cF9%h7&fb_I5oi?njSpm2+7kTVKznbPcvxE|bw*}4Q9;Xu z5UAkjJaZw=hePleC=75{s43Jv-#m?5=XC(vC)OvNxl!1-`k)Y(_o4DyxTcWTf4r?o zUVC5Be{FHyx_B8es`7q4tqSTS=nkaf*EC*np(vJ6r&AB7Z7+{) z3zG;Y)9JMHPv9tfZdei{hocAttCA?{$jye;mFIeI7JB z8DDZ0{+urPpD63g$$k(w;XjDiaxN&hJa`yV`@kzdH&fkdXPjB(^>m{VJ*qdqrv+fc-sc<}Wr|1Wiq2YNxLGP$)kf(0G2?760=rwda(J zt>G`ANyo_=?)_SY1xku#&nUb(Z2Okc_|tZ4_pDeV z6ULd`w>`BB*-mn0lyrlxF3d6W;|obal=o#*BtOtuhd*5_ky9hnj^CsR3J^dvHv0yG zgRmbWLbF~kwBT=B02u!mP>*|M+&wYU26o@q?i!~x&QFU{9{b%JwDqLcml-kSZSomt zLc#RC%vkXpixz-{us@HHc{407_E>7Nl}()fhOZTr5ug=GXG_O1rpWS!uzgm~*`>P1 zyJ#vqiMPv(e#8f9TKu&7S{_9O;V+i*!L*-KmgdjAqO#tO$Ne{63XH5>K!%?F6<)^k zsNatGQtQRpQgf@rkkuNM#*@Me>xEYm4p?GK>9tJHH6pGLQZ&|>8;pL@!})Z-hXioP zPKXgNZMOf~@HYMKAv_#HmmR9QXjVaRV(p>Ol;!cvjIH(K^U&phPeb`gEB%O*_Py40 z!BA_B9aqmkuY$lVFI<4Emro3VkzoK#lkw4+eysfU1{u= z`vCeF`2(^GGgfpzHCE&Qk0qP#4Qrm$m)$`bEoxAH-OFkgTqDo;nn>9Yu|;=1n`ub; z#eT8MwXJ!Y!KSdXjpJ#8USxL2Et|E>i3v3L*QcDa&67MP3L`53;~xV~)?TxT-jjAj zKZ0pWKdh>nygX=$pAvJjjzXD8a44vZR%wfuAS_KRh`EiTlxiZStF(qR=w%h1Rf?+A z(U72_?Z}OcA#n$3C1Q&piST~kO+&qUk68U6{KJ&m?b|4O`sWUnK=PO!?|6X|t0;$` zd`wr|psvYq5<^tvjIkB~COBwLsP)l;2y)WK_uGR!t=oK(s8jo(LdY_49U?G@(Sk!d z=ncz!;$iRN1RrO}i=Y0yzbRWl&g<@3Yq!PTcoXeKHSZHRrQ|@WSA3}kmqL*rWKom; zdF1okQ$uN;twXa(jiQk=)G47M|9uTFDEConUYkO;6P2fVYu$i=$C`@P(kUQWPjWZT z$G~Rh!{;y^8_f2-j9JQH!(;4jC$YYqflu?HGLEq2l9vOC2A_X-*-0IHp}#RPrPc;0 z@Zy~88h%vGHTe42*;oCoq-DSiajI_9wt2%J=o}lyZ@zgjXZn@1u*_Gpyf;84n&khFpzdMPxC2WQGEwyW^eyM zADB*!s3-7uL0K^i@Ylea9{fFjLym1x+x>f z<>BJHs^F&|d+{L?4LKF6-i2r$Z#$~CVTjqeWFEtfrl#pkc;T0>Hbw2fwq|CNek$R) zSwPpMn0Pz+fJ@pFPEq^b-`j?-%=rv7V`kd=zh?H-e=cjz#;+_`QkC{#+)NCos&1=^ z)r6+pn9;EDTZo&ABGKSqy07{+NO$Gl>o8X3k#%l0vVrVN;@C3B1U`^?*KK1{&ii!RX zF`DTEy@Uf43|**>2D|4(1I>}QWj2JI>N_Hm}>8!zb5Z83Low5 z7y=}Nt8z@}NgRz8Hp4CKqZ?|*jCoA9cFw)nyUT?{G2#pR7+@MAe|>rGUd-xgjHhV9 zQV^?H-S!fSdpY{9QLTBy6cJ%Jn6ZXToSN}it6Av`dv$Ma&D8v2_1`Avyf4L?j(YEUfzT*!YcGv zb(wbNna(iMn}Eyf66&~~IZDzf{md74+zc{S-GlgmU;}gxjYIAxL^P>=67F&gx>D)) zqm2NA%HY&nJ~JJyKTBJ_ziSR)`xcT-Nj!ZsZ&dusFs1Qk>43nuWC{3PgHb9v5=*g$@Rk$H~wJ?WVNOROfQ^$U6DEnp?QVN!<7{P`v>&Y`NHqFUV> zjlG*1G#VgP58J(0#e9=hTmLSaDW$Z$?4V^-10GYXWjg>zj$V~a`cW2Z6VFTzx4rW6 z7HTe8v*k-P?(hm2#;C|J<^S%R`1LHansrM9Fa}qYs!`jq8sljxG;TKxb+sNe&ew>` z4~}PT`(LQ3o0vi;lO#-+Xl&+?N;Lh;L$nto23&b1Cy z@AZkR*KfRtwXX@4LB`5EoC%{rYM0@%J|~JM<@XfI6l{ zK*Y-Ww65lAxZ4>VBJ`?q&n|A0e{yUJyq1wmr#1{ z51#f{)(U=xE`!SQZ}p+Flnfxug%4zib^VTzhc(Pzw zB}YDH-bTu8F2mXEaEDyX>ZHaF0vi9 z(_anr+^3>d92;}HBl+WkjV4S!ZVZ*!*xXC?Eq<);O2Ta3+nM!Bt-D$fSN z0#QV?<1}ThJ3tWJjx`=&Mk6BUE8LYCH0~n@`j}*!zCs>QeVD(tdXQU39Nk;d@GWZy zB>f(gQ+Ke&s`4XQ+U~&&JxgG-WlB?CUSMErJk8V;BAinv;ux?eKq2fMI=`|e5!x3D zVEkhMp9PzQ-~F>>+fz-;(gqbvJ81!$-YQ3~F?&P5?0T>%ygi9um5WW^gWx}3_MGlu z*tD8m?h;l!YV*-k?A4nbFS*QSS(ka(Xf)6mN8MDGRK4^yV4Wt;K&va?LTWTigN;Kk zg#V{zKKp_0bR*AAnq@w$4=u>qOZZZQX)E`sW|=Yz8Fq>H;V4}K(fsxRUXswG(T z&||tybLC84jC=XT+Y6Le*%%uok@JIHD*g9KjQ>kAv(de4r+4ojrZhGg8VgHbG&@*E z*8v6HKD^2weuv!d6{Iy2SZ{bpr1iLw+{LQn+_%!Q<5n8GgtwJ9i@HFtS88}IN+wWL zLpJWS3Q!RIyHL*D>(CU50aqGr?8qWXM5rL+DLUilRfM4SmvAaqcShj~m}?@$T+eO;DyOXT&DrJ0c8@KNq?Tl4KU7orXMnu%xo-|8 z78oK{i^#d2MOtn@>q$GXV6o+!%M4oicols~;bGu{4wjK))T&rpZ15n;JFw&c+@ju9 zwgS;4cOIc%9Ox)%opq_j$)ix=_9h;C?h?VD1Wn!F35t}E9hqwhyw_kcf8hY>$o^ny z5!K#UkDd217e8yZz=5@Yb0!mXXy(g|l#%sc zB7Y>Q6TFSKn=500a#q)m)jy4T<5IOGaOLh|Cq9$VOrDM~ddp*6rIhLK&)Js)Uley} zq4_GLEZj8^E|AjBm^mC=GpEgy{sqTq`}ing_G7#Hc6N8kl+CCp@1L?~EwEeF=_eFv_*pZfs zp=*9Y^pBY)u)uKj^!64sVTIY-6z6wAQlB1J2`7Qp%#510?TzJv{~rNuIpM4eak~o- z_e(SR;$&ckskqO-uLv_g!00cV|KHte6?#nxz)F&n!$>mxu&l`1KnvnLF${M0f^6vP zcg@l0!WpyCsD&w{x@k>SHE`fPKB7wR{YdI>+-nv+^$A09eEcwOz2k>pFZH&ZtA*vP z7b%lk-jJYU9s}w7oHC*&L&1|+VK&_4(W3K4la*ZFrc&D22vUAdhu3?>k==w1eni{3 zK>C1)TX{3TcP>7Wob?;zrs0>vc~?+L`QB|_Mql4%<@zv_2$cFX*x_y7q17{8**3rb zCYycT91zN*8d<}n@dHK28huqrpRV^vL^ z8)x~yuc~~Hq^)^8AFTWQZLHXMuUZ3NV7pTh%f`?K7xu>;w`}*7zW4QI=_%#%ym4Dz z|6&F>yub;wmcF+MZb=n2Q*9{s|0HB3@lz-%>0S7oiM8{hh1hybTxFsppE0T7jEjo@ z$m6mjH-gRTBoq6WgSOB~<}6k}T&6wQk-pb(@^ zNNTV)ow{mIVUazqBWF?YZi%F*B_WE@m~azLkPI3OF&Fsd3ORS@{CG7Hllgfsr+oZ# zF@W)p0V#u5eGF_0_MY6+$*S?tI@Zsgp6Wyc+bEchZ!65#K#z}4x_p2#FzE~{95Rnr z(+f^8^s*);6v!+~R#m{Z(Ib>F3MQ1~sx6OX;gB7i+)4~3K}T?=Waa*u_f$wiRW&mO zODSRaj)##HSs0}?6ER6gvOVgBJ4x?)>#I|V02G@>y+#aET^hvEf22FA%Qnzq)5 zQNTtdf`$?W{k$k>)#Li7&W3O=6k%c~W{kgxres;#wu9o|?3vu#C~0a)P@6fWln=k% zkp)WD&I>BHHcIuSuAzMsyt0)=4CxjRHqvHfv#7=_1<#IlHanw_u8>Y2OZVc&>4OQN zF52KZv$qvV`-17nyWZ-ZdT$+|5{hyI6_>mGM{f%|b!A77te0DCR+CeaTUlw@4n}@ZXHk3Gl9ywp zUr-IG82m9!MX5T-V~E0hpS?FNNEJ&*{2W7+kK;y1e+9xDHdc%1f^tVnZgk0N(0_BA ze#eZbP6)cRy%-2YxkqaIJUc4QqhEB@Jq?k~pr|W}Scb9}@3HC>6-fpAh!xdGE8@IY zb-XtA$2F#H-@~>l=B zTRPU9om2s%_+{E4i~rVoU5FUK>T*fj)?Zb?^&^{2;nODCGGR=_IkT)Tkda^+oALL^ zP2caRfk1|W&L|~6ke<&4FM*-8|HZ3VH2E`zTDG8?lF-+qk=NL8N8US+IFc(bWl>^V c0OKF~ANJ$%+Q}_Ty8r+H07*qoM6N<$f}ZK3?*IS* literal 0 HcmV?d00001 diff --git a/FilterEvaluator/imageTrain/3072-4096.png b/FilterEvaluator/imageTrain/3072-4096.png new file mode 100644 index 0000000000000000000000000000000000000000..212431c33c4eb4d1690889cc54ccec6bafdc6f9d GIT binary patch literal 11468 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