未验证 提交 f8d4e756 编写于 作者: Y Yiqun Liu 提交者: GitHub

Fix the lack of linking libraries to libpaddle_capi_engine. (#5343)

The engine library need to link paddle_pserver and paddle_network on linux.
上级 0977cbfb
...@@ -29,32 +29,32 @@ add_style_check_target(paddle_capi ${CAPI_SOURCES} ${CAPI_HEADER} ...@@ -29,32 +29,32 @@ add_style_check_target(paddle_capi ${CAPI_SOURCES} ${CAPI_HEADER}
add_dependencies(paddle_capi paddle_proto) add_dependencies(paddle_capi paddle_proto)
# TODO: paddle_capi_whole will be removed. # TODO: paddle_capi_whole will be removed.
set(PADDLE_CAPI_LAYERS_LIBS
paddle_function
paddle_gserver)
if(MOBILE_INFERENCE) if(MOBILE_INFERENCE)
set(PADDLE_CAPI_INFER_LIBS set(PADDLE_CAPI_ENGINE_LIBS
paddle_utils paddle_utils
paddle_parameter paddle_parameter
paddle_math paddle_math
paddle_cuda paddle_cuda
paddle_function paddle_proto)
paddle_gserver
paddle_proto)
else() else()
set(PADDLE_CAPI_INFER_LIBS set(PADDLE_CAPI_ENGINE_LIBS
paddle_utils paddle_utils
paddle_parameter paddle_parameter
paddle_math paddle_math
paddle_cuda paddle_cuda
paddle_function paddle_proto
paddle_gserver paddle_pserver
paddle_proto paddle_network)
paddle_pserver
paddle_network)
endif() endif()
set(PADDLE_CAPI_INFER_LIBS ${PADDLE_CAPI_LAYERS_LIBS} ${PADDLE_CAPI_ENGINE_LIBS})
cc_library(paddle_capi_whole DEPS paddle_capi ${PADDLE_CAPI_INFER_LIBS}) cc_library(paddle_capi_whole DEPS paddle_capi ${PADDLE_CAPI_INFER_LIBS})
# Link the static library for inference # Link the static library for inference
cc_library(paddle_capi_engine DEPS paddle_capi paddle_utils paddle_parameter paddle_math paddle_cuda paddle_proto) cc_library(paddle_capi_engine DEPS paddle_capi ${PADDLE_CAPI_ENGINE_LIBS})
cc_library(paddle_capi_layers DEPS paddle_function paddle_gserver) cc_library(paddle_capi_layers DEPS ${PADDLE_CAPI_LAYERS_LIBS})
# Link the shared library for inference # Link the shared library for inference
if(NOT IOS) if(NOT IOS)
......
...@@ -23,32 +23,32 @@ from paddle.v2.topology import Topology ...@@ -23,32 +23,32 @@ from paddle.v2.topology import Topology
def merge_v2_model(net, param_file, output_file): def merge_v2_model(net, param_file, output_file):
'''Integrate the model config and model parameters into one file. '''Merge the model config and parameters into one file.
The model configuration file describes the model structure which The model configuration file describes the model structure which
ends with .py. The parameters file stores the parameters of the model ends with .py. The parameters file stores the parameters of the model
which ends with .tar.gz. which ends with .tar.gz.
@param net The output layer of the network. @param net The output layer of the network for inference.
@param param_file Path of the model parameters(.tar.gz) which is stored by v2 api. @param param_file Path of the parameters (.tar.gz) which is stored by v2 api.
@param output_file Path of the merged file which will be generated. @param output_file Path of the merged file which will be generated.
Usage: Usage:
from paddle.util.merge_model import merge_v2_model from paddle.utils.merge_model import merge_v2_model
# import your network configuration # import your network configuration
from mobilenet import mobile_net from example_net import net_conf
net = mobile_net(3*224*224, 102) net = net_conf(is_predict=True)
param_file = './param_pass_00000.tar.gz' param_file = './param_pass_00000.tar.gz'
output_file = './output.paddle' output_file = './output.paddle'
merge_v2_model(net, param_file, output_file) merge_v2_model(net, param_file, output_file)
''' '''
assert isinstance(net, LayerOutput), \ assert isinstance(net, LayerOutput), \
"The net should be the output of the network" "The net should be the output of the network for inference"
assert os.path.exists(param_file), \ assert os.path.exists(param_file), \
"The model parameters file %s does not exists " % (param_file) "The model parameters file %s does not exists " % (param_file)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册