2016-06-21 4 views
2

В учебнике MNIST для Tensorflow мы преобразуем выход из последнего слоя пула в один вектор. Проведенный код был:Каков отрицательный индекс в массивах фигур? (Tensorflow)

h_pool2_flat = tf.reshape(h_pool2, [-1, 7*7*64]) 

Что такое индекс -1 для? Разве мы просто не пытаемся сформировать вывод для одного вектора, так почему бы нам не просто изменить форму: [1, 7 * 7 * 64]?

Заранее благодарен!

ответ

5

-1 означает автоматическое расширение. Например, перестройка с [-1, 7 * 7 * 64] будет переводить 1-мерную форму, скажем, [19 * 7 * 7 * 64], в двумерную форму [19, 7 * 7 * 64].

Другой пример: перестройка с помощью [5, -1, 7] переводит 1-мерную форму, например, [70], в трехмерную форму [5, 2, 7].

+0

Это в основном для повторной регулировки тензора. Когда tf видит -1, он будет соответствовать массиву данных или списку в желаемой форме. –

1

-1 будет выведено.

Так NumPy или TensorFlow будет сделать вывод, что размер измерение должно быть основано на входящих элементов и другие размеры указаны

+0

Просто для этого: -1 также является явным способом сообщить TensorFlow, что вы * хотите * его вывести. Это также полезно, как человек, читающий код, так как вы знаете, что автор кода намеревался это поведение. – rdadolf

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