RandLA-Net
RandLA-Net copied to clipboard
模型原理理解问题
` def evaluate(self, dataset):
# Initialise iterator with validation data
self.sess.run(dataset.val_init_op)
gt_classes = [0 for _ in range(self.config.num_classes)]
positive_classes = [0 for _ in range(self.config.num_classes)]
true_positive_classes = [0 for _ in range(self.config.num_classes)]
val_total_correct = 0
val_total_seen = 0
for step_id in range(self.config.val_steps):
if step_id % 50 == 0:
print(str(step_id) + ' / ' + str(self.config.val_steps))
try:
ops = (self.prob_logits, self.labels, self.accuracy)
stacked_prob, labels, acc = self.sess.run(ops, {self.is_training: False})
pred = np.argmax(stacked_prob, 1)
if not self.config.ignored_label_inds:
pred_valid = pred
labels_valid = labels
else:
invalid_idx = np.where(labels == self.config.ignored_label_inds)[0]
labels_valid = np.delete(labels, invalid_idx)
labels_valid = labels_valid - 1
# 忽略的是一类的话,这样没有问题;如果是多类,感觉不对。不知我的理解是否正确?
pred_valid = np.delete(pred, invalid_idx)`
Thanks for your interest in our work!
Can you please clearly describe your concerns? Chinese is also fine, but English is more preferred (Considering that there may be other people interested in this question).
Thanks for your understanding!