# paddlehub.connect_program ### hub.connect_program ```python hub.connect_program( pre_program, next_program, input_dict=None, inplace=True): ``` connect_program用于串行连接两个Program来生成一个新的Program,例如可用于支持**py_reader输入方式**的计算图连接等。py_reader本身会创建一个数据输入的计算图,而预训练模型本身也是一个计算图,connect_program接口用于将输入图与预训练模型图进行连接。 ### 参数 * `pre_program`: 待进行串接的Program,串接后位于首部 * `next_program`: 待进行串接的Program,串接后位于尾部 * `input_dict`: 一个由 {str, Variable} 键值对组成的dict,用于指定将pre_program和next_program中的哪些Variable进行连接,dict的key为pre_program中的变量名(str),dict的value为next_program中的变量实例(Variable) * `inplace`: 是否直接在pre_program上进行串接操作。如果为True,则会在pre_program上进行串接操作。如果为False,则会生成一个新的Program用于串接。默认为True ### 返回 `Program` ### 示例 ```python import paddlehub as hub import paddle.fluid as fluid module = hub.Module(name="mobilenet_v2_imagenet") inputs, outputs, program = module.context(trainable=True) image = inputs["image"] feature_map = outputs["feature_map"] main_program = fluid.Program() with fluid.program_guard(main_program): py_reader = fluid.layers.py_reader( capacity=16, shapes=[image.shape, [-1, 1]], lod_levels=[0, 0], dtypes=["float32", "int64"], use_double_buffer=True) py_image, py_label = fluid.layers.read_file(py_reader) input_dict = { image.name: py_image } hub.connect_program( pre_program=main_program, next_program=program, input_dict=input_dict, inplace=True) ```