Как отобразить значения словаря? - PullRequest
0 голосов
/ 16 ноября 2018

Я пытаюсь создать словарь весов на слой для моей реализации ANN.

Проблема в том, что, хотя я создаю словарь со строками в качестве ключей и тензорами в качестве значений, я не знаю, как их отобразить, когда я вызываю init_weight метод

def init_weights(topology):
#topology: dimensions of the network

for i in range(1,len(topology)):
parameters['W' + str(i)] = tf.Variable(tf.random_normal([topology[i-1],topology[i]]))

Вывод метода показывает следующее:

{'W1': <tf.Variable 'Variable_1:0' shape=(2, 5) dtype=float32_ref>,
 'W2': <tf.Variable 'Variable_3:0' shape=(5, 5) dtype=float32_ref>,
 'W3': <tf.Variable 'Variable_5:0' shape=(5, 5) dtype=float32_ref>,
 'W4': <tf.Variable 'Variable_7:0' shape=(5, 10) dtype=float32_ref>}

Как можно распечатать матрицы весов?

1 Ответ

0 голосов
/ 16 ноября 2018

Tensorflow - это статически типизированный фреймворк (думаю, это меняется в 2.0).Это означает, что вы сначала строите статический граф, и этот граф имеет значения только при запуске с использованием Tf.Session ().Теперь, чтобы ответить на ваш вопрос.Есть два способа получить то, что вы хотите.

  1. Добавьте tf.enable_eager_execution() в начале вашего скрипта.Это создает динамический график (похожий на Pytorch).Ваш тот же код без каких-либо дополнительных дополнений даст вам то, что вы хотите.

  2. Оберните все в tf.Session() и запустите его.Вы получите весовые матрицы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...