当尺寸为 63 和 27 时,填充不起作用

Padding doesn't work when size is 63 and 27

在迭代过程中,除了大小为 63 和 27 的两个数组外,几乎所有 100 个数组都会被填充。因此,由于特征数组的大小差异,SVM 无法正常工作。

我尝试在底部再次迭代,但没有成功。尝试使用条件语句更改尺寸,但没有成功。

for idx1, f in enumerate(feature):
        if idx1 >= 50: break
        current_feature.append(f[2])
        current_feature.append(f[3])
        current_feature.append(f[4])

    #fixations.append(feature.feature_list)
    current_feature = np.array(current_feature)
    pad_amount = 150 - current_feature.size
    prev = current_feature.size
    np.pad(current_feature, (0, pad_amount), 'constant')
    if current_feature.size != 150:
        np.pad(current_feature, (0, pad_amount), 'constant')
        print(prev)
        print(current_feature.size)
    feed.append(current_feature)

在 100 个特征数组中只创建两个大小为 67 和 27 的数组将不会被填充。

编辑:粘贴代码时输入错误。

np.pad 不要就地更改数组,returns 新数组。尝试 current_feature = np.pad(current_feature, (0, pad_amount), 'constant')

(可以去掉np.pad(current_feature, (0, pad_amount), 'constant')的第一个出现,同理)。