随机打乱Pandas Dataframe数据

2021-03-15  本文已影响0人  LabVIEW_Python

在深度学习应用中,通常用Pandas Dataframe数据来维护一张图片-标签映射表,如下所示:

id class_num
0 train_0000.jpg 0
1 train_0001.jpg 0
2 train_0002.jpg 0
3 train_0003.jpg 0
4 train_0004.jpg 0

在训练过程中,我们不希望模型对训练数据的输入顺序产生依赖,所以,每轮(epoch)训练,都将该图片-标签映射表随机打乱。实现随机打乱Pandas Dataframe数据最方便的方法是用sklearn.utils.shuffle()函数,范例代码如下:

train_images = pd.read_csv(FILE, usecols=['id', 'class_num'])
print(train_images.head(10)) # 没有打乱的数据

id class_num
0 train_0000.jpg 0
1 train_0001.jpg 0
2 train_0002.jpg 0
3 train_0003.jpg 0
4 train_0004.jpg 0
5 train_0005.jpg 1
6 train_0006.jpg 1
7 train_0007.jpg 2
8 train_0008.jpg 3
9 train_0009.jpg 3

import sklearn
df = sklearn.utils.shuffle(train_images) #随机打乱
print(df.head(10))

id class_num
862 train_0862.jpg 2
327 train_0327.jpg 2
596 train_0596.jpg 1
181 train_0181.jpg 0
131 train_0131.jpg 3
880 train_0880.jpg 0
256 train_0256.jpg 2
70 train_0070.jpg 3
604 train_0604.jpg 0
1042 train_1042.jpg 0

上一篇 下一篇

猜你喜欢

热点阅读