Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.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 如何初始化Py2D的均值和方差?_Tensorflow_Pytorch - Fatal编程技术网

Tensorflow 如何初始化Py2D的均值和方差?

Tensorflow 如何初始化Py2D的均值和方差?,tensorflow,pytorch,Tensorflow,Pytorch,我正在将TensorFlow模型转换为Pytorch。我想用TensorFlow模型初始化BatchNorm2d的均值和方差。 我是这样做的: bn.running_mean = torch.nn.Parameter(torch.Tensor(TF_param)) 我得到了这个错误: RuntimeError: the derivative for 'running_mean' is not implemented 但is适用于bn.weight和bn.bias。有没有办法用我预先训练好的T

我正在将TensorFlow模型转换为Pytorch。我想用TensorFlow模型初始化BatchNorm2d的均值和方差。 我是这样做的:

bn.running_mean = torch.nn.Parameter(torch.Tensor(TF_param))
我得到了这个错误:

RuntimeError: the derivative for 'running_mean' is not implemented
但is适用于
bn.weight
bn.bias
。有没有办法用我预先训练好的Tensorflow模型初始化均值和方差?Pytorch中是否有类似于移动平均值初始值设定项和移动方差初始值设定项的东西


谢谢

批次标准层的运行平均值和方差不是
nn.参数,而是该层的一个参数


我认为你可以简单地分配一个
torch.tensor
,无需在其周围环绕
nn.参数。

批次标准层的运行平均值和方差不是
nn.参数,而是该层的一个参数


我想你可以简单地分配一个
torch.tensor
,而不需要在它周围包装
nn.Parameter

WoW!成功了!非常感谢。顺便说一句,如果我冻结bn参数(停止bn更新),则
running_意味着
running_var
不会改变。运行的_均值和运行的_var将直接保存在模型中。我说得对吗?抱歉,英文表达不正确。@han.liu批处理规范运行统计信息在正向传递时更新,而不是由优化器更新。要在训练期间冻结跑步统计信息,请将每个批次标准层的动量设置为零。或者,如果模型处于评估模式,运行统计信息将不会更新。哇!成功了!非常感谢。顺便说一句,如果我冻结bn参数(停止bn更新),则
running_意味着
running_var
不会改变。运行的_均值和运行的_var将直接保存在模型中。我说得对吗?抱歉,英文表达不正确。@han.liu批处理规范运行统计信息在正向传递时更新,而不是由优化器更新。要在训练期间冻结跑步统计信息,请将每个批次标准层的动量设置为零。或者,如果模型处于评估模式,则不会更新运行统计信息。