You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决从CIFAR-10训练集移除指定图片的形状异常问题

解决CIFAR-10训练集移除指定索引样本时数组形状异常的问题

问题出在你调用np.delete时没有指定axis参数。

默认情况下,np.delete会将多维数组先扁平化(变成一维),再删除指定索引的元素,最后返回一维数组。你的inputs原本是(50000, 32, 32, 3),扁平化后总元素数是50000*32*32*3 = 153600000,删除4个元素后长度为153599996,看起来形状“增大”其实是数组被降维成一维了,并非实际元素数量增加。

要沿着样本维度(也就是第一个维度,对应50000这个轴)删除指定索引的图片,必须给np.delete加上axis=0参数:

data = tfds.as_numpy(tfds.load(name=FLAGS.dataset, batch_size=-1, data_dir=DATA_DIR))
inputs = data['train']['image']
labels = data['train']['label']

inputs = (inputs/127.5)-1
# 指定axis=0,沿样本维度删除
inputs = np.delete(inputs, [0, 4, 3, 2], axis=0)
labels = np.delete(labels, [0, 4, 3, 2], axis=0)

修改后,inputs的形状会变成(49996, 32, 32, 3),labels变成(49996,),符合你移除4个样本的预期。

内容的提问来源于stack exchange,提问作者stats_residue

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 17:15:53