class RankingEvaluator: def __init__(self): self.submission_data = ChallengeData() self.solution_data = ChallengeData() def read_data(self, submission_file, solution_file): self.submission_data.read_from_file(submission_file) self.solution_data.read_from_file(solution_file) def run(self): average_NDCG = 0 days = self.solution_data.get_days() for day in days: submission = self.submission_data.get(day) solution = self.solution_data.get(day) computer = NDCGComputer(submission, solution, 100) average_NDCG += computer.run() average_NDCG /= float(len(days)) return average_NDCG
class RankingEvaluator: def __init__(self): self.submission_data = ChallengeData() self.solution_data = ChallengeData() def read_data(self,submission_file,solution_file): self.submission_data.read_from_file(submission_file) self.solution_data.read_from_file(solution_file) def run(self): average_NDCG = 0 days = self.solution_data.get_days() for day in days: submission = self.submission_data.get(day) solution = self.solution_data.get(day) computer = NDCGComputer(submission,solution,100) average_NDCG += computer.run() average_NDCG /= float(len(days)) return average_NDCG
class DecreaseEvaluator: def __init__(self): self.submission_data = ChallengeData() self.solution_data = ChallengeData() def read_data(self, submission_file, solution_file): self.submission_data.read_from_file(submission_file) self.solution_data.read_from_file(solution_file) def run(self): MSE = 0 N = 0 days = self.solution_data.get_days() for day in days: solution = self.solution_data.get(day) submission = self.submission_data.get(day) for station in solution: pred = 0 if station in submission: pred = submission[station] MSE += math.pow(pred - solution[station], 2) N += 1 return math.pow(MSE / float(N), 0.5)
class DecreaseEvaluator: def __init__(self): self.submission_data = ChallengeData() self.solution_data = ChallengeData() def read_data(self, submission_file, solution_file): self.submission_data.read_from_file(submission_file) self.solution_data.read_from_file(solution_file) def run(self): MSE = 0 N = 0 days = self.solution_data.get_days() for day in days: solution = self.solution_data.get(day) submission = self.submission_data.get(day) for station in solution: pred = 0 if station in submission: pred = submission[station] MSE += math.pow(pred-solution[station], 2) N += 1 return math.pow(MSE / float(N), 0.5)
def __init__(self): self.submission_data = ChallengeData() self.solution_data = ChallengeData()
help='disables CUDA training') args = parser.parse_args() args.cuda = not args.no_cuda and torch.cuda.is_available() # Load CIFAR10 using torch data paradigm kwargs = {'num_workers': 1, 'pin_memory': True} if args.cuda else {} cifar10_mean_color = [0.49131522, 0.48209435, 0.44646862] # std dev of color across training images cifar10_std_color = [0.01897398, 0.03039277, 0.03872553] transform = transforms.Compose([ transforms.ToTensor(), transforms.Normalize(cifar10_mean_color, cifar10_std_color), ]) test_dataset = ChallengeData(args.test_dir, download=True, transform=transform) # Datasets test_loader = torch.utils.data.DataLoader(test_dataset, batch_size=args.test_batch_size, shuffle=False, **kwargs) if os.path.exists(args.model): model = torch.load(args.model) model.drop_path_prob = 0.0 else: print('Model path specified does not exst') sys.exit(1) # cross-entropy loss function criterion = F.cross_entropy if args.cuda: model.cuda()