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
示例#2
0
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
示例#3
0
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)
示例#5
0
 def __init__(self):
   self.submission_data = ChallengeData()
   self.solution_data = ChallengeData()
示例#6
0
 def __init__(self):
     self.submission_data = ChallengeData()
     self.solution_data = ChallengeData()
示例#7
0
                    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()