2016-03-16 2 views
3

Я пытаюсь использовать функцию тензорного потока extract_glimpse, но у меня возникают некоторые трудности с параметром offset.Отклонение от тензора потока_glimpse

Предположим, что у меня есть партия одной матрицы 5x5 канала, называемая M, и что я хочу извлечь ее матрицу 3x3.

Когда слово extract_glimpse ([М], [3,3], [[1,1]], по центру = False, нормализованное = False), он возвращает результат я ожидал: матрица 3х3 по центру в позиции (1,1) в М.

Но когда я называю extract_glimpse ([M], [3,3], [[2,1]], по центру = False, нормализованное = False), он не возвращает матрицу 3x3, центрированную в позиции (2,1) в M, но она возвращает то же, что и при первом вызове.

В чем смысл, который я не получаю?

+0

не ответ, как таковой, но это, кажется, известная ошибка в Tensorflow: https://github.com/tensorflow/tensorflow/вопросы/2134 – CNugteren

ответ

0

Координаты пикселей фактически имеют диапазон в 2 раза (не документированный - так что это ошибка). Это, по крайней мере, верно в случае centered=True и normalized=False. С этими настройками смещения варьируются от минус до плюс размер тензора. Поэтому я написал обертку, которая более интуитивно понятна для пользователей numpy, используя координаты пикселей, начиная с (0,0). Эта обертка и более подробная информация о проблеме доступны по адресу the tensorflow GitHub page.

Для вашего конкретного случая, я хотел бы попробовать что-то вроде:

offsets1 = [-5 + 3, 
      -5 + 3] 
extract_glimpse([M], [3,3], [offsets1], centered=True, normalized=False) 
offsets2 = [-5 + 3 + 2, 
      -5 + 3] 
extract_glimpse([M], [3,3], [offsets2], centered=True, normalized=False) 
Смежные вопросы