[英]Multiple training variables in GradientTape tensorflow
我在 tensorflow 中有以下可訓練變量列表:
l_vars = [l_unary.trainable_variables, l_regularization.trainable_variables]
像這樣傳遞到磁帶中:
grad_l_model = l_tape.gradient(tf.constant(l_loss), l_vars)
但是,這給出了錯誤:
AttributeError: 'list' object has no attribute '_in_graph_mode'
用 tf.Variable 包裝 l_vars 時,出現錯誤:
tensorflow.python.framework.errors_impl.InvalidArgumentError: Shapes of all inputs must match: values[0].shape = [5,5,3,32] != values[1].shape = [32] [Op:Pack] name: initial_value
tf.keras.layers.concatenate([l_unary.trainable_variables, l_regularization.trainable_variables], 0)
給出:
ValueError:應在至少包含 2 個輸入的列表上調用Concatenate
層
如何一起訓練多個 model 變量和 tensorflow?
請注意,您的l_vars
不是一個列表,而是一個列表列表,因為每個trainable_variables
屬性本身已經是一個列表。 你可以簡單地使用
l_vars = l_unary.trainable_variables + l_regularization.trainable_variables
將兩個列表連接成一個大列表。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.