本文主要是介绍将FER数据集使用Pickle处理-Python代码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
之前写过一篇文章,是将FER2013数据集还原成灰度图像的Python代码,便于我们查看。
现在我想把它转换成pickle进行存储,这样便于读取和传输。
直接上代码就好了:
def process_to_pickle(self):"""将csv文件加工成pickle文件,方便存储和读取:return: None"""# 创建文件夹if not os.path.exists(self.pickle_data_path): os.makedirs(self.pickle_data_path)# 读取csv数据with open(self.data_source) as f:train_x_data = []train_y_data = []test_x_data = []test_y_data = []validate_x_data = []validate_y_data = []# 打开文件夹data_csv = csv.reader(f)for (label, pixcels, usage) in data_csv:if usage == 'Training':temp_list = []for pixel in pixcels.split():temp_list.append(pixel)I = np.asarray(temp_list)train_x_data.append(I.tolist())train_y_data.append(label)elif usage == 'PrivateTest':temp_list = []for pixel in pixcels.split():temp_list.append(pixel)I = np.asarray(temp_list)test_x_data.append(I.tolist())test_y_data.append(label)elif usage == 'PublicTest':temp_list = []for pixel in pixcels.split():temp_list.append(pixel)I = np.asarray(temp_list)validate_x_data.append(I.tolist())validate_y_data.append(label)# 定义三个pickle文件train_pickle_file = open(os.path.join(self.pickle_data_path, 'train.txt'), 'wb')test_pickle_file = open(os.path.join(self.pickle_data_path, 'test.txt'), 'wb')validate_pickle_file = open(os.path.join(self.pickle_data_path, 'validate.txt'), 'wb')# 写入Picklepickle.dump(train_x_data, train_pickle_file)pickle.dump(train_y_data, train_pickle_file)pickle.dump(test_x_data, test_pickle_file)pickle.dump(test_y_data, test_pickle_file)pickle.dump(validate_x_data, validate_pickle_file)pickle.dump(validate_y_data, validate_pickle_file)# 关闭文件train_pickle_file.close()test_pickle_file.close()validate_pickle_file.close()logging.info(msg='Save data finish!')
这段代码可以直接放到我的之前的文章:点这里 。里面写了一个类,直接放到里面就能够使用。
如果代码里有错误,欢迎大家指正!!
这篇关于将FER数据集使用Pickle处理-Python代码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!