В настоящее время я пытаюсь изучить theano.Theano Tensor удалить элемент?
Есть ли способ, например, удалить/добавить строку/столбец из тензора NxN? Функциональность subtensor, выделенная в документации, только изменяет элементы, а не удаляет их.
В настоящее время я пытаюсь изучить theano.Theano Tensor удалить элемент?
Есть ли способ, например, удалить/добавить строку/столбец из тензора NxN? Функциональность subtensor, выделенная в документации, только изменяет элементы, а не удаляет их.
Сутенер позволяет принимать участие в тензоре. Это set_subtensor и inc_subtensor, которые позволяют модифицировать часть из них.
Theano поддерживает индексацию Python и NumPy и расширенную индексацию. Вы можете делать то, что хотите, разными способами. Вот простой:
import theano, numpy
T = theano.tensor.matrix()
f = theano.function([T], T[[1, 2, 4]])
f(numpy.arange(25).reshape(5, 5))
Так в основном, вы можете просто передать список с индексом строк, которые вы хотите сохранить. Для colums, просто используйте:
import theano, numpy
T = theano.tensor.matrix()
f = theano.function([T], T[:, [1, 2, 4]])
f(numpy.arange(25).reshape(5, 5))
Чтобы добавить строки, мы поддерживаем тот же интерфейс, как NumPy, поэтому в основном, вы можете просто построить новый тензор конкатенации части, которую вы хотите:
import theano, numpy
T = theano.tensor.matrix()
o = theano.tensor.concatenate([T[2], T[4], [100, 101, 102, 103, 104]])
f = theano.function([T], o)
f(numpy.arange(25).reshape(5, 5))
спасибо для краткого ответа, но почему это не работает с anano.tensor.vector()? – user2255757
Это также может работать с vector(). Но какая у вас ошибка? Без кода и ошибки у вас есть, очень сложно сказать вам, в чем проблема. Вероятно, это небольшая деталь, которая вызывает у вас проблемы. – nouiz
ах я понял, нарезка вектора может возвращать только такой элемент, как T [3], а не меньший вектор, такой как T [1,2,3], как с матрицей T [[1,2,3]]. еще раз спасибо – user2255757