Tôi có một mạng nơron sâu nơi trọng số giữa các lớp được lưu trữ trong một danh sách.tổng hợp trên một danh sách các tensors trong tensorflow
layers[j].weights
Tôi muốn bao gồm hình phạt sườn núi trong hàm chi phí của mình. Sau đó, tôi cần sử dụng một cái gì đó như tf.nn.l2_loss(layers[j].weights**2 for j in range(self.n_layers))
tức là tổng bình phương của tất cả các trọng số.
Đặc biệt các trọng số được định nghĩa là:
>>> 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>
>>>
Làm thế nào tôi có thể làm điều đó trong tensorflow?
Tôi nghĩ bạn cần tạo ra một tensor mới trong số những trọng số đó và sử dụng nó trong phương trình chi phí. – fabrizioM