Быстрый способ удалить несколько строк по индексам из 2D-массива Pytorch или NumpyPython

Программы на Python
Anonymous
Быстрый способ удалить несколько строк по индексам из 2D-массива Pytorch или Numpy

Сообщение Anonymous »

У меня есть массив numpy (и, что эквивалентно, тензор Pytorch) формы Nx3. У меня также есть список индексов, соответствующих строкам, которые я хочу удалить из этого тензора. Этот список индексов называется Remove_ixs. N очень большой, около 5 миллионов строк, а длина remove_ixs составляет 50 тысяч. Сейчас я делаю это следующим образом:

Код: Выделить всё

mask = [i not in remove_ixs for i in range(my_array.shape[0])]
new_array = my_array[mask,:]
Но первая строка просто не завершается и занимает вечность. Вышеупомянутое находится в numpy-коде. Эквивалентный код Pytorch также подойдет мне.
Есть ли более быстрый способ сделать это с помощью numpy или pytorch?

Подробнее здесь: https://stackoverflow.com/questions/787 ... y-2d-array

Вернуться в «Python»