#python #arrays #tensorflow #image-processing #matrix
#питон #массивы #тензорный поток #обработка изображений #матрица
Вопрос:
Я ищу функцию, tensorflow
аналогичную tf.map_fn
, но также использующую указанную ось, по которой я хочу применить карту, tf.map_fn
по умолчанию применяет карту по оси 0, но нет параметра, который можно было бы изменить, я бы хотел, чтобы она отображалась по оси 2, есть ли такая функция? Если нет, есть ли какой-либо обходной путь, который все равно позволит мне использовать функции GPU и распараллеливания TensorFlow? Что-то аналогичное np.apply_along_axis
.
Комментарии:
1. Итак, что вы пытаетесь сделать с «map( tensor3D, fn, axis=2)», это вернуть массив с одной записью на индекс оси 2, состоящий из «fn( tensor3D (:,:, i) для i в tensor3D.shape[2]»?
2. Да, я отредактировал для получения дополнительных разъяснений, это нечто аналогичное
np.apply_along_axis
.3. Интересно, могли бы вы сделать это, поменяв оси, выполнив карту оси-0, а затем снова поменяв оси?
4. Я работаю с видео кадр за кадром, любые дополнительные операции означают дополнительное время, я рассмотрю это, если больше ничего нет, но как это сделать эффективно в tensorflow? о смене осей?
5. Я считаю, что «изменение формы» по сути является бесплатным, поскольку все, что он делает, — это переключает атрибуты .shape и .strides, но не затрагивает базовые данные.