Вы только что распечатали ошибку, но сама ошибка дала решение.
В случае, если функция принимает только массив 2 D, любой numpy.ndarray
может быть преобразован в массив 2 путем преобразования его в numpy .reshape (arr, (1, -1).
Теперь обратите внимание на эффект операции изменения формы, здесь (1, -1)
, первые 1 представляют первое измерение массива, -1 представляет или просто использует для выравнивания массив, если у вас есть массив с размером больше 2.
Для одномерного массива вы также можете использовать (1, len(arr))
import numpy
arr = = numpy.array([1, 3, 5, 6, 7, 8, 8])
numpy.reshape(arr, (1, -1))
numpy.reshaoe(arr, (1, len(arr)))
оба преобразования имеют одинаковый результат. Вывод
>>> array([[1, 3, 5, 6, 7, 8, 8]]) # output of numpy.reshape(arr, (1, -1))
>>> array([[1, 3, 5, 6, 7, 8, 8]]) # output of numpy.reshape(arr, (1, len(arr)))
Таким образом, изменение формы делает ваш массив совместимым с функцией, которую вы используете, но в случае, если функция превышает 2D и у вас есть 1D массив, должен быть какой-то значимый способ преобразовать вашу 1-D вещь в 2-D.
Означает, что если функция принимает 2D изображение, и у вас есть 1D аудио последовательность , действительно должен означать полный способ преобразования.
Если вы Вы могли бы также упомянуть, что помощь действительно поможет. А пока мы угадываем на уме, думаем, что тебе нужно.
Поэтому всегда, прежде чем задавать вопрос, пожалуйста, уделите некоторое время разработке вопроса, поэтому получение ответа и решение проблемы гарантировано