Как добавить смещения в слой нейронной сети
У меня два tf.Variable
:
data_entries_times_weights1
biases1
У них есть формы:
(10000, 1024)
(1024,)
Однако, когда я умножаю их так:
lay1_valid = tf.nn.relu(data_entries_times_weights1 + biases1)
Я получил:
ValueError: Tensor("Variable:0", shape=(784, 1024), dtype=float32_ref) must be from the same graph as Tensor("Const:0", shape=(10000, 784), dtype=float32).
Из того, что я видел на Github, люди добавляют смещения таким же образом, как: data_entries_times_weights1 + biases1
,
Правильный ли этот подход?
1 ответ
проблема
Я получаю следующее сообщение об ошибке
ValueError: Tensor("Variable:0", shape=(784, 1024), dtype=float32_ref) must be from the same graph as Tensor("Const:0", shape=(10000, 784), dtype=float32).
и я пытаюсь сделать что-то вроде
lay1_valid = tf.nn.relu( data_entries_times_weights1 + biases)
где:
- входное значение Const(10000, 784)
- вес переменный ( 784, 1024)
- Переменное смещение (1024,)
- data_entries_times_weights1 = input * weights
Решение
Скорее всего data_entries_times_weights1 равна input. Дважды проверьте, что data_entries_times_weights1
data_entries_times_weights1 = tf.matmul( input , weights )