<强>今天踩过的两个小坑:强>
一。用随机的洗牌打乱数据集中的数据,标签对
指数=[我的范围(len (X_batch))) #打印(类型(指数)) 指数=random.shuffle(指数)
结果洗完以后指数变成了,看了下api,这样说明的:
这个函数如果返回值,就返回,所以用指数=balabala就把指数的内容改变了。去掉指数=random.shuffle(索引)等号前面的值,这样利用洗牌函数就可以直接将指数的内容打乱,并且不返回任何值。
因此以上方式就可以打乱指数的顺序,并以新顺序输出批中的数据。
二。整体引用指数这个列表中的数据
<强>因为指数是一个列表,所以代码这样写:强>
X_batch=X_batch(指数) Y_batch=Y_batch(指数) >之前是有问题的,报错是:TypeError:列表索引必须是整数或片,而不是列表。
这是因为我的X_batch, Y_batch都是列表,直接引用指数是错误的,而可以直接引用的方法是如果X_batch, Y_batch是数组,指数是数组,就可以。
<强>所以代码改成了:强>
X_batch Y_batch=data_generator (data_path) 指数=[我的范围(len (X_batch))) #打印(类型(指数)) random.shuffle(索引) 指数=np.array(指数) X_batch=[np.array (X_batch)[指数]] Y_batch=[np.array (Y_batch)[指数]] >之前参考代码:
以上这篇对python打乱数据集中X, y标签对的方法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
对python打乱数据集中X, y标签对的方法详解