多输入模型,怎么拆分dataset分别输入给这几个模型
收藏回复举报
多输入模型,怎么拆分dataset分别输入给这几个模型
t('forum.solved') 已解决
新人帖
发表于2023-09-10 10:01:14
0 查看

求助:我的模型是由四个小模型的输出横向拼接成一个大模型,我需要把一个dataset在输入模型时横向拆分成4部分数据,分别输入给4个小模型,请问用mindspore的什么接口来实现?

我在mindspore网页上找了两个小时了,还是没找到相关api。我之前在tensorflow用的是如下代码实现上述功能的,即使用map把dataset拆分成4类数据分别输入4个小模型,把4个小模型的输出用keras.layers.Concatenate函数合并成一行:

dataset_map_func(*args):
    """
    把dataset切片成4类数据,分别输入4个model。
    feature_slice是一个dict,存储的是slice切片类型。
    """
    feature = dict( ('input_'+c, tf.transpose(args[feature_slice[c]])) for c in ['1','2','3','4'])
    return feature, label

x = keras.layers.Concatenate(axis=1)([model_1.output, model_2.output, model_3.output, model_4.output])
model = keras.Model(inputs=[model_1.input, model_2.input, model_3.input, model_4.input], outputs=outputs)
dataset = dataset.map(dataset_map_func)

我要发帖子