我想了解以下代码。在面向对象的部分中,论点之一是one_hot= one_hot. 但是如果我extract_labels用one_hot=one_hot它调用函数不起作用。我一定会使用True和False声明。有人可以指导我为什么会这样吗?以及这些True并False表明什么。我one=True在调用extract_label函数时使用时打印了结果,它打印了一个热向量。
#Functions
def dense_to_one_hot(labels_dense, num_classes=2):
num_labels = labels_dense.shape[0]
index_offset = numpy.arange(num_labels) * num_classes
labels_one_hot = numpy.zeros((num_labels, num_classes))
labels_one_hot.flat[index_offset + labels_dense.ravel()] = 1
return labels_one_hot
def extract_labels(labels, one_hot=False):
if one_hot :
return dense_to_one_hot(labels)
return labels
#Object oriented part
def read_data_sets(all_width_dir,width_dir, one_hot=False):
class DataSets(object):
pass
data_sets = DataSets()
train_labels = extract_labels(TRAIN_LABELS, one_hot=one_hot)
test_labels = extract_labels(TEST_LABELS, one_hot=one_hot)
return data_sets
train_label = np.load("./Input/1.5/train_label.npy")
labels = extract_labels(train_label, one_hot=one_hot)
print(labels)
呼啦一阵风
相关分类