У меня есть глубокая нейронная сеть, где веса между слоями хранятся в списке.сумма по списку тензоров в тензорном потоке
layers[j].weights
Я хочу включить штраф в гребень в свою стоимость. Мне нужно тогда использовать что-то вроде tf.nn.l2_loss(layers[j].weights**2 for j in range(self.n_layers))
т. Е. Квадрат суммы всех весов.
В частности, весовые коэффициенты определяются как:
>>> avs.layers
[<neural_network.Layer object at 0x10a4b2a90>, <neural_network.Layer object at 0x10ac85080>, <neural_network.Layer object at 0x10b0f3278>, <neural_network.Layer object at 0x10b0eacf8>, <neural_network.Layer object at 0x10b145588>, <neural_network.Layer object at 0x10b165048>, <neural_network.Layer object at 0x10b155ba8>]
>>>
>>> avs.layers[0].weights
<tensorflow.python.ops.variables.Variable object at 0x10b026748>
>>>
Как я могу сделать это в tensorflow?
Я думаю, вам нужно создать новый тензор из этих весов и использовать его в уравнении стоимости. – fabrizioM