File "/usr/local/lib/python3.5/dist-packages/paddle/fluid/layers/nn.py", line 1979, in conv2d
pre_act = helper.append_bias_op(pre_bias, dim_start=1, dim_end=2)
File "/usr/local/lib/python3.5/dist-packages/paddle/fluid/layer_helper.py", line 423, in append_bias_op
attr=bias_attr, shape=size, dtype=input_var.dtype, is_bias=True)
File "/usr/local/lib/python3.5/dist-packages/paddle/fluid/layer_helper.py", line 307, in create_parameter
"Can not create parameter with default initializer when dtype is not float type. Set default_initializer to fit the parameter dtype!"
TypeError: Can not create parameter with default initializer when dtype is not float type. Set default_initializer to fit the parameter dtype!
line 51, in net
deconv = fluid.layers.conv2d_transpose(input=droped,filter_size=2,stride=2,num_filters=512,act='relu',param_attr=fluid.param_attr.ParamAttr(initializer=fluid.initializer.Normal(scale=0.01)),bias_attr=fluid.param_attr.ParamAttr(initializer=fluid.initializer.Constant(value=0.0)))
paddle.fluid.core.EnforceNotMet: Invoke operator conv2d_transpose error.
C++ Callstacks:
Tensor holds the wrong type, it holds ::paddle::platform::float16 at [/paddle/paddle/fluid/framework/tensor_impl.h:29]
10条答案
按热度按时间hs1rzwqc1#
https://github.com/PaddlePaddle/models/pull/1533/files 你可以参考下这个混合精度更改的例子
6fe3ivhb2#
目前只有一部分op可以支持,需要在之前和之后手动加datatype cast。下一个版本中会发布float16训练中自动调scale的功能,半精度训练可以全面应用。
m3eecexj3#
@xuezhong@dzhwinter
运行fp16之后报错
不运行fp16则没问题
u2nhd7ah4#
要安装什么版本的paddlepaddle才支持?
hjzp0vay5#
完整的fp16支持需要到fluid 1.3才行,你的报错是哪个版本的?
ni65a41a6#
@dzhwinter
原来用master,现在用dev好了
但是用fp16的话还是有问题,这要怎么解决?
报错如下
i86rm4rw7#
反卷积没有fp16操作??
fhity93d8#
还没有注册fp16。这个注册一下就好了。
r7s23pms9#
前一个问题是initilaizer 没有支持fp16,现在还只能加cast
4ioopgfo10#
这样子 反卷积吗?
报这个错啊