我在tensorflow中有以下trainable_variables列表:
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
层
如何使用tensorflow一起训练多个模型变量?
答案 0 :(得分:0)
请注意,您的componentDidMount
不是列表,而是列表列表,因为每个l_vars
属性本身已经是一个列表。您可以简单地使用
trainable_variables
将两个列表连接成一个大列表。