Skip to content

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

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, 2019 by saxon_zh@saxon_zhGuest

加载模型时候报错 paddle.fluid.core.EnforceNotMet: Cannot read more from file

Created by: xiangyubo

   1)PaddlePaddle版本:paddle.fluid.1.2.0    4)系统环境:Linux,Python2.7 训练时候使用 fluid.io.save_inference_model保存模型,预测的时候使用fluid.io.load_inference_model加载模型文件。保存的是我自己训练的 vgg 模型。保存没问题,加载的时候报错

Traceback (most recent call last):
  File "classify-infer.py", line 43, in <module>
    executor=exe)
  File "/home/work/xiangyubo/paddle_release_home/python/lib/python2.7/site-packages/paddle/fluid/io.py", line 784, in load_inference_model
    load_persistables(executor, dirname, program, params_filename)
  File "/home/work/xiangyubo/paddle_release_home/python/lib/python2.7/site-packages/paddle/fluid/io.py", line 529, in load_persistables
    filename=filename)
  File "/home/work/xiangyubo/paddle_release_home/python/lib/python2.7/site-packages/paddle/fluid/io.py", line 395, in load_vars
    filename=filename)
  File "/home/work/xiangyubo/paddle_release_home/python/lib/python2.7/site-packages/paddle/fluid/io.py", line 436, in load_vars
    executor.run(load_prog)
  File "/home/work/xiangyubo/paddle_release_home/python/lib/python2.7/site-packages/paddle/fluid/executor.py", line 472, in run
    self.executor.run(program.desc, scope, 0, True, True)
paddle.fluid.core.EnforceNotMet: Cannot read more from file ./classify-model/vgg-classify-params at [/paddle/paddle/fluid/operators/load_combine_op.cc:58]
PaddlePaddle Call Stacks: 
0       0x7f4bdb4b2226p paddle::platform::EnforceNotMet::EnforceNotMet(std::__exception_ptr::exception_ptr, char const*, int) + 486
1       0x7f4bdbb97ab4p paddle::operators::LoadCombineOp::RunImpl(paddle::framework::Scope const&, boost::variant<paddle::platform::CUDAPlace, paddle::platform::CPUPlace, paddle::platform::CUDAPinnedPlace, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_> const&) const + 2004
2       0x7f4bdcda56afp paddle::framework::OperatorBase::Run(paddle::framework::Scope const&, boost::variant<paddle::platform::CUDAPlace, paddle::platform::CPUPlace, paddle::platform::CUDAPinnedPlace, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_> const&) + 463
3       0x7f4bdb588ef3p paddle::framework::Executor::RunPreparedContext(paddle::framework::ExecutorPrepareContext*, paddle::framework::Scope*, bool, bool, bool) + 227
4       0x7f4bdb589920p paddle::framework::Executor::Run(paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool) + 128
5       0x7f4bdb49e0dbp
6       0x7f4bdb4da18ep
7       0x7f4c3efcabb8p PyEval_EvalFrameEx + 25016
8       0x7f4c3efce0bdp PyEval_EvalCodeEx + 2061
9       0x7f4c3efcb345p PyEval_EvalFrameEx + 26949
10      0x7f4c3efce0bdp PyEval_EvalCodeEx + 2061
11      0x7f4c3efcb345p PyEval_EvalFrameEx + 26949
12      0x7f4c3efce0bdp PyEval_EvalCodeEx + 2061
13      0x7f4c3efcb345p PyEval_EvalFrameEx + 26949
14      0x7f4c3efce0bdp PyEval_EvalCodeEx + 2061
15      0x7f4c3efcb345p PyEval_EvalFrameEx + 26949
16      0x7f4c3efce0bdp PyEval_EvalCodeEx + 2061
17      0x7f4c3efcb345p PyEval_EvalFrameEx + 26949
18      0x7f4c3efce0bdp PyEval_EvalCodeEx + 2061
19      0x7f4c3efce1f2p PyEval_EvalCode + 50
20      0x7f4c3eff6f42p PyRun_FileExFlags + 146
21      0x7f4c3eff82d9p PyRun_SimpleFileExFlags + 217
22      0x7f4c3f00e00dp Py_Main + 3149
23      0x7f4c3e20bbd5p __libc_start_main + 245
24            0x4007a1p

我的 vgg 模型基本和paddle在github上的一样,只是我自己加了一层 bn

class VGGNet():
    def __init__(self, layers=16):
        self.layers = layers

    def net(self, input, class_dim=1000):
        layers = self.layers
        vgg_spec = {
            11: ([1, 1, 2, 2, 2]),
            13: ([2, 2, 2, 2, 2]),
            16: ([2, 2, 3, 3, 3]),
            19: ([2, 2, 4, 4, 4])
        }
        assert layers in vgg_spec.keys(), \
            "supported layers are {} but input layer is {}".format(vgg_spec.keys(), layers)

        nums = vgg_spec[layers]
        conv1 = self.conv_block(input, 64, nums[0])
        conv2 = self.conv_block(conv1, 128, nums[1])
        conv3 = self.conv_block(conv2, 256, nums[2])
        conv4 = self.conv_block(conv3, 512, nums[3])
        conv5 = self.conv_block(conv4, 512, nums[4])

        fc_dim = 4096
        fc1 = fluid.layers.fc(
            input=conv5,
            size=fc_dim,
            act='relu',
            param_attr=fluid.param_attr.ParamAttr(
                initializer=fluid.initializer.Normal(scale=0.005)),
            bias_attr=fluid.param_attr.ParamAttr(
                initializer=fluid.initializer.Constant(value=0.1)))
        fc1 = fluid.layers.dropout(x=fc1, dropout_prob=0.5)
        fc2 = fluid.layers.fc(
            input=fc1,
            size=fc_dim,
            act='relu',
            param_attr=fluid.param_attr.ParamAttr(
                initializer=fluid.initializer.Normal(scale=0.005)),
            bias_attr=fluid.param_attr.ParamAttr(
                initializer=fluid.initializer.Constant(value=0.1)))
        fc2 = fluid.layers.dropout(x=fc2, dropout_prob=0.5)
        out = fluid.layers.fc(
            input=fc2,
            size=class_dim,
            act='softmax',
            param_attr=fluid.param_attr.ParamAttr(
                initializer=fluid.initializer.Normal(scale=0.005)),
            bias_attr=fluid.param_attr.ParamAttr(
                initializer=fluid.initializer.Constant(value=0.1)))

        return out

    def conv_block(self, input, num_filter, groups):
        conv = input
        for i in range(groups):
            if i == groups - 1:
                act = None
            else:
                act = 'relu'
            conv = fluid.layers.conv2d(
                input=conv,
                num_filters=num_filter,
                filter_size=3,
                stride=1,
                padding=1,
                act=act,
                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)))
        conv = fluid.layers.batch_norm(input=conv, act=act)
        return fluid.layers.pool2d(
            input=conv, pool_size=2, pool_type='max', pool_stride=2)
指派人
分配到
无
里程碑
无
分配里程碑
工时统计
无
截止日期
无
标识: paddlepaddle/Paddle#16082
渝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