我有一個深層神經網絡,其中層之間的權重存儲在列表中。總結張量流量張量列表
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