Заполнение не работает, когда размер 63 и 27 - PullRequest
1 голос
/ 19 мая 2019

Во время итерации почти все из 100 массивов дополняются, кроме двух, размеры которых равны 63 и 27. В результате 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 не будет дополнено.

РЕДАКТИРОВАТЬ: Опечатка при вставке кода.

1 Ответ

1 голос
/ 19 мая 2019

np.pad не меняет массив на месте, он возвращает новый массив.Попробуйте current_feature = np.pad(current_feature, (0, pad_amount), 'constant')

(Вы можете удалить первое появление np.pad(current_feature, (0, pad_amount), 'constant') по той же причине).

...