我想了解以下代码。在面向对象的部分中,论点之一是one_hot= one_hot. 但是如果我extract_labels用one_hot=one_hot它调用函数不起作用。我一定会使用True和False声明。有人可以指导我为什么会这样吗?以及这些True并False表明什么。我one=True在调用extract_label函数时使用时打印了结果,它打印了一个热向量。#Functionsdef 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_hotdef extract_labels(labels, one_hot=False): if one_hot : return dense_to_one_hot(labels) return labels#Object oriented partdef 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_setstrain_label = np.load("./Input/1.5/train_label.npy")labels = extract_labels(train_label, one_hot=one_hot)print(labels)
2 回答

呼啦一阵风
TA贡献1802条经验 获得超6个赞
函数 extract_labels 有 2 个参数:
标签 - 必需,没有默认值
one_hot - 可选,默认值为 False
要调用像 one_hot=one_hot 这样的 extract_lablels,您需要在之前指定 one_hot 变量
添加回答
举报
0/150
提交
取消