PaddlePaddle / Anakin

High performance Cross-platform Inference-engine, you could run Anakin on x86-cpu,arm, nv-gpu, amd-gpu,bitmain and cambricon devices.
https://anakin.baidu.com/
Apache License 2.0
531 stars 135 forks source link

CPU机器上运行benchmark 提示 LRN has not been registered! #472

Open Yourens opened 5 years ago

Yourens commented 5 years ago

使用tools/X86_build.sh 编译anakin,然后依据下面的issue 提供的model 生成anakin model https://github.com/PaddlePaddle/Anakin/issues/452

但是在运行benchmark 的时候出现如下错误, WAN| 11:31:35.00989| 0.060s| main_thread| input.cpp:16] Parsing Input op parameter. 0| 11:31:35.00989| 0.060s| main_thread| input.cpp:19] |-- shape [0]: 2 0| 11:31:35.00989| 0.060s| main_thread| input.cpp:19] |-- shape [1]: 3 0| 11:31:35.00989| 0.060s| main_thread| input.cpp:19] |-- shape [2]: 224 0| 11:31:35.00989| 0.060s| main_thread| input.cpp:19] |-- shape [3]: 224 FTL| 11:31:35.00989| 0.060s| main_thread| factory.h:37] LRN has not been registered! fatal error stack trace: : 5 0x5bbb59 _start + 41 4 0x7fabafa2a830 __libc_start_main + 240 3 0x5876b3 main + 723 2 0x5c91c7 anakin::test::EngineTest::run_all(char const*) + 1063 1 0x5be029 NetTest_net_execute_base_test::net_execute_base_test() + 1993 0 0x6574ec anakin::Net<anakin::saber::TargetType<(anakin::saber::TargetTypeEnum)4>, (anakin::saber::DataType)1, (anakin::Precision)0, (anakin::OpRunType)1>::Net(anakin::graph::Graph<anakin::saber::TargetType<(anakin::saber::TargetTypeEnum)4>, (anakin::saber::DataType)1, (anakin::Precision)0>&, bool) + 172

uraj commented 5 years ago

现在LRN没有X86实现,需要启用GPU

Yourens commented 5 years ago

能够请教一下有没有CPU能够跑的model,如下链接中的model 如何处理才能被convert? https://github.com/PaddlePaddle/models/tree/develop/fluid/PaddleNLP/language_model/gru

谢谢!

uraj commented 5 years ago

可以用这个Network in Network model

Yourens commented 5 years ago

在使用如下配置转换时

        ProtoPaths:
            - /home/shenyouren/workspace/anakin/caffe/src/caffe/proto/caffe.proto
        PrototxtPath: /home/shenyouren/models/solver.prototxt
        ModelPath: /home/shenyouren/models/nin_imagenet_conv.caffemodel

依旧有错误:

INF | 2018-11-06 11:24:07.323976 | parser_caffe.py:290 _Parsing_new() ]   [CAFFE] Parsing ...
Traceback (most recent call last):
  File "converter.py", line 20, in <module>
    graph = Graph(config)
  File "/home/shenyouren/workspace/anakin/Anakin-0.1.1/tools/external_converter_v2/parser/graph.py", line 37, in __init__
    self.graph_io = self.parser()
  File "/home/shenyouren/workspace/anakin/Anakin-0.1.1/tools/external_converter_v2/parser/kill_caffe/parser_caffe.py", line 34, in __call__
    return self._Parsing_new()
  File "/home/shenyouren/workspace/anakin/Anakin-0.1.1/tools/external_converter_v2/parser/kill_caffe/parser_caffe.py", line 291, in _Parsing_new
    self._DetectionArch()
  File "/home/shenyouren/workspace/anakin/Anakin-0.1.1/tools/external_converter_v2/parser/kill_caffe/parser_caffe.py", line 39, in _DetectionArch
    self._ParserPrototxt()
  File "/home/shenyouren/workspace/anakin/Anakin-0.1.1/tools/external_converter_v2/parser/kill_caffe/parser_caffe.py", line 52, in _ParserPrototxt
    text_format.Merge(f.read(), self.net_parameter)
  File "/home/shenyouren/.local/lib/python2.7/site-packages/google/protobuf/text_format.py", line 525, in Merge
    descriptor_pool=descriptor_pool)
  File "/home/shenyouren/.local/lib/python2.7/site-packages/google/protobuf/text_format.py", line 579, in MergeLines
    return parser.MergeLines(lines, message)
  File "/home/shenyouren/.local/lib/python2.7/site-packages/google/protobuf/text_format.py", line 612, in MergeLines
    self._ParseOrMerge(lines, message)
  File "/home/shenyouren/.local/lib/python2.7/site-packages/google/protobuf/text_format.py", line 627, in _ParseOrMerge
    self._MergeField(tokenizer, message)
  File "/home/shenyouren/.local/lib/python2.7/site-packages/google/protobuf/text_format.py", line 695, in _MergeField
    (message_descriptor.full_name, name))
google.protobuf.text_format.ParseError: 1:1 : Message type "caffe.NetParameter" has no field named "net".

我觉得可能是没有使用deploy.prototxt 导致的。

uraj commented 5 years ago

PrototxtPath需要指向一个deploy.prototxt文件。nin_imagenet的讨论里有人提供了链接.

Yourens commented 5 years ago

Thanks, problem solved!

I'm really appreciate for your help!