training_images = np.array([i for i in images if i not in validation_images])
上面是错误的(如下评论所指出)。有什么正确且更快的方法吗?
我的验证图像只是
validation_images = images[::6]
图片的形状为(60000, 784)。这是一个numpy数组。
当前方法不可接受,因为速度太慢。
我总是使用布尔掩码来处理这类事情,你可以考虑:
# Mask every sixth row
mask = (np.arange(images.shape[0]) % 6) != 0
# Only use the not masked images
training_images = images[mask]
validation_images = images[~mask]
%
)的操作将在每个元素上执行,并返回一个具有相同形状的另一个数组。!= 0
也是逐元素工作的,它比较模数是否为零。因此,掩码只是一个包含False
的数组,其中值不是int * 6
,而是True
。Z = np.linspace(0,1,12)[1:-1]
#Create a vector of size 10 with values ranging from 0 to 1, both excluded
print(Z)
in
对于数组没有意义,所以你当前的代码可能并不是你想要的。另外,这个问题应该如何处理重复项?你只是想删除每个索引是6的倍数的行吗? - user2357112