Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tensorflow 如何在tensorfow中训练变量以及权重和偏差_Tensorflow - Fatal编程技术网

Tensorflow 如何在tensorfow中训练变量以及权重和偏差

Tensorflow 如何在tensorfow中训练变量以及权重和偏差,tensorflow,Tensorflow,我对tensorflow有一个非常基本的怀疑 我在卷积层中添加了一个变量,比如‘var’,我想在训练期间用梯度来更新这个变量(‘var’),就像我们的权重和偏差被更新一样。 我已将此变量添加到“可训练参数”中,但未对其进行更新。有人能解释如何训练变量吗 优化过程的要点是更新损失函数所依赖的变量,以减少损失值。 无论是损失还是损失所依赖的任何变量都不依赖于var(换句话说,var不用于导致计算损失)的任何计算中,因此,损失相对于var的梯度没有定义,var也没有由优化器back\u prop更新

我对tensorflow有一个非常基本的怀疑

我在卷积层中添加了一个变量,比如‘var’,我想在训练期间用梯度来更新这个变量(‘var’),就像我们的权重和偏差被更新一样。
我已将此变量添加到“可训练参数”中,但未对其进行更新。有人能解释如何训练变量吗

优化过程的要点是更新损失函数所依赖的变量,以减少损失值。 无论是
损失
还是
损失
所依赖的任何变量都不依赖于
var
(换句话说,
var
不用于导致计算
损失
)的任何计算中,因此,
损失
相对于
var
的梯度没有定义,
var
也没有由优化器
back\u prop
更新

~~~

编辑后回答:如果您有一组变量
参数列表
,并且您希望计算所有这些变量的L2正则化项,则可以通过以下方式进行:

# get the list of variables to calculate L2 loss over
param_list = tf.get_collection('var_params')

# a list of L2 regularization terms for each variable in param_list
L2_lst = [tf.nn.l2_loss(param) for param in param_list]

# Total L2 loss
L2_loss = tf.add_n(L2_lst)
将L2_损失乘以a,然后将其添加到主损失中:

L2_loss = tf.mulpiply(lamda_param, L2_lst)
loss = tf.add(loss1, L2_loss)

你应该发布你尝试过的代码,如果没有它,我们只会猜测你可能会做错的一百万件事情,只会选择人们最常见的错误并谈论它们。您可以编辑问题以添加详细信息。尽量使代码集中在您的特定问题上。@DavidParks对此表示抱歉。我已经添加了代码。这是正确的,要添加到代码中,通常不需要使用
var\u list
add\u to\u collection
,默认情况下,tensorflow中99%的情况都会处理这一问题。如果你需要使用这些,你要么:1)有一个非常特殊的情况,应该确切地理解你为什么使用它,要么2)你做错了什么。在本例中,后者如@openmark所述。是正确的。很抱歉,我没有添加完整的代码。我使损失变量依赖于“var”变量。但我没有看到它被更新。请查看编辑后的原始代码。@DavidParks您的意思是我不需要在集合中添加权重和偏差吗?如果我没有提到var_列表,它是否应该找到所有损失的依赖项并在默认情况下对其进行优化?@DavidParks如果您查看变量“var”,它的初始化值为常量5.0。这和它有什么关系吗?@mkar更新了答案,添加了关于如何计算变量列表的L2正则化损失的信息。