2016-09-26 3 views
0

Мне нужно выполнить свертку вдоль текстовой строки фиксированного размера. Таким образом, пример обучения имеет вид: 1*N_FEATURES, где N_FEATURES равен 3640 (140 символов кодируются как горячие, поэтому 40 * 26 = 3640). Я пытаюсь разобраться в примере here именно:Что означает тензор 4d в Tensorflow?

def my_conv_model(X, y): 
    X = tf.reshape(X, [-1, N_FEATURES, 1, 1]) # to form a 4d tensor of shape batch_size x n_features x 1 x 1 
    features = skflow.ops.conv2d(X, N_FILTERS, [WINDOW_SIZE, 1], padding='VALID') # this will give you sliding window of WINDOW_SIZE x 1 convolution. 
    pool = tf.squeeze(tf.reduce_max(features, 1), squeeze_dims=[1]) 
    return return skflow.models.logistic_regression(pool, y) 

Я не понимаю, почему в этой строке:

features = skflow.ops.conv2d(X, N_FILTERS, [WINDOW_SIZE, 1], padding='VALID') 

мы имеем: [WINDOW_SIZE, 1] и не [1, WINDOW_SIZE]? Так, насколько я понимаю, свертка должна быть выполнена следующим образом:

training example: '001010101000100101' 
sliding window: |---| 
        |---| 
        |---| 

и так далее, каждое окно размера [1, WINDOW_SIZE], поскольку его высота составляет 1, а ширина равна 3. Но почему В приведенном примере говорится: «features = skflow.ops.conv2d(X, N_FILTERS, [WINDOW_SIZE, 1], padding='VALID')»?

ответ

2

4-D тензор - это именно то, что он указывает: тензор с четырьмя измерениями (индексы, функции, ...).

Обозначение скользящего окна в одном измерении является условным обозначением. Для удобства мы сначала добавим значительный размер и сохраним размеры . Таким образом, 3-х слойный срез (1-D-окно) задается как окно 3x1.

+0

Правильно ли я понимаю, что 3-широкий 1-высокий в расширенной форме будет иметь форму [1, 1, 3, 1]? Кроме того, как вы определяете, какое измерение является значительным? – Oleksandra

+0

Да, [1, 1, 3, 1] - это то, как я читаю API. «Значительный» на самом деле не является техническим термином: это какая-то информация, которая нас интересует. Любое измерение с пределом 1 - это просто место. Аналогично, цветное изображение будет иметь «несущественное» измерение 3 где-то, компоненты RGB. – Prune

 Смежные вопросы

  • Нет связанных вопросов^_^