Skip to content

  • 体验新版
    • 正在加载...
  • 登录
  • PaddlePaddle
  • Paddle
  • Issue
  • #8797

P
Paddle
  • 项目概览

PaddlePaddle / Paddle
大约 2 年 前同步成功

通知 2325
Star 20933
Fork 5424
  • 代码
    • 文件
    • 提交
    • 分支
    • Tags
    • 贡献者
    • 分支图
    • Diff
  • Issue 1423
    • 列表
    • 看板
    • 标记
    • 里程碑
  • 合并请求 543
  • Wiki 0
    • Wiki
  • 分析
    • 仓库
    • DevOps
  • 项目成员
  • Pages
P
Paddle
  • 项目概览
    • 项目概览
    • 详情
    • 发布
  • 仓库
    • 仓库
    • 文件
    • 提交
    • 分支
    • 标签
    • 贡献者
    • 分支图
    • 比较
  • Issue 1,423
    • Issue 1,423
    • 列表
    • 看板
    • 标记
    • 里程碑
  • 合并请求 543
    • 合并请求 543
  • Pages
  • 分析
    • 分析
    • 仓库分析
    • DevOps
  • Wiki 0
    • Wiki
  • 成员
    • 成员
  • 收起侧边栏
  • 动态
  • 分支图
  • 创建新Issue
  • 提交
  • Issue看板
已关闭
开放中
Opened 3月 06, 2018 by saxon_zh@saxon_zhGuest

fluid版本的很多参数没有做类型兼容处理

Created by: jshower

我在使用paddle的fluid版本的例子时,发现存在的一个问题就是没有做类型的兼容性处理,比如说我定义一个全连接层,里面使用了NormalInitializer,scale设为1,如下所示。 fc1 = fluid.layers.fc(input=drop, size=4096, act=None, bias_attr=fluid.ParamAttr(initializer=NormalInitializer(loc=0.0, scale=1, seed=0))) 以修改Paddle/python/paddle/fluid/tests/book/test_image_classification.py 的89行为例,结果会出现:

Traceback (most recent call last):
  File "test_image_classification.py", line 252, in test_vgg_cpu
    main('vgg', use_cuda=False)
  File "test_image_classification.py", line 237, in main
    train(net_type, use_cuda, save_dirname, is_local)
  File "test_image_classification.py", line 105, in train
    net = vgg16_bn_drop(images)
  File "test_image_classification.py", line 89, in vgg16_bn_drop
    fc1 = fluid.layers.fc(input=drop, size=4096, act=None, bias_attr=fluid.ParamAttr(initializer=NormalInitializer(loc=0.0, scale=1, seed=0)))
  File "/usr/local/lib/python2.7/dist-packages/paddle/fluid/layers/nn.py", line 193, in fc
    pre_activation = helper.append_bias_op(pre_bias, dim_start=num_flatten_dims)
  File "/usr/local/lib/python2.7/dist-packages/paddle/fluid/layer_helper.py", line 385, in append_bias_op
    attr=bias_attr, shape=size, dtype=input_var.dtype, is_bias=True)
  File "/usr/local/lib/python2.7/dist-packages/paddle/fluid/layer_helper.py", line 312, in create_parameter
    dtype=dtype, shape=shape, **attr.to_kwargs(with_initializer=True))
  File "/usr/local/lib/python2.7/dist-packages/paddle/fluid/framework.py", line 810, in create_parameter
    kwargs['initializer'](param, self)
  File "/usr/local/lib/python2.7/dist-packages/paddle/fluid/initializer.py", line 239, in __call__
    "seed": self._seed
  File "/usr/local/lib/python2.7/dist-packages/paddle/fluid/framework.py", line 834, in prepend_op
    op = Operator(self, op_desc, *args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/paddle/fluid/framework.py", line 484, in __init__
    self.desc.check_attrs()
EnforceNotMet: Cannot get attribute std by type f, its type is i at [/paddle/Paddle/paddle/fluid/framework/attribute.h:131]

而我如果将scale=1改成scale=1.0的话,这个问题就解决了。 类似的还有 fluid.optimizer.Momentum(momentum=0, learning_rate=1e-3) 会报类似的错误,将momentum改成0.0就不会报错。 这是一个比较明显的没有做类型兼容处理的问题。

指派人
分配到
无
里程碑
无
分配里程碑
工时统计
无
截止日期
无
标识: paddlepaddle/Paddle#8797
渝ICP备2023009037号

京公网安备11010502055752号

网络110报警服务 Powered by GitLab CE v13.7
开源知识
Git 入门 Pro Git 电子书 在线学 Git
Markdown 基础入门 IT 技术知识开源图谱
帮助
使用手册 反馈建议 博客
《GitCode 隐私声明》 《GitCode 服务条款》 关于GitCode
Powered by GitLab CE v13.7