载入scannet数据集时发现:
with open(self.data_filename, 'rb') as fp: self.scene_points_list = pickle.load(fp, encoding='bytes') self.semantic_labels_list = pickle.load(fp, encoding='bytes')
载入点云数据self.scene_points_list 和点云数据标签是采用的同样的语句:
都是用pickle.load(fp, encoding='bytes')赋值的
于是搜了一下pickle.load在load数据时的一些特性:
参见https://blog.csdn.net/weixin_38278334/article/details/82967813
其实就是pickle封装时,封装了不同的类,像scannet数据集就是两个类:data和label
所以load时第一个类赋给了data,再load时,第二个类赋给label这样子