You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MATLAB中合并ImageDatastore训练双输入神经网络?

解决MATLAB R2019b双输入神经网络训练的数据集格式问题

你遇到的核心问题是:双输入单输出网络要求训练数据集是M×3的元胞数组(两个输入+一个标签),但你当前合并后的Datastore仅返回M×2的结构。下面提供两种针对性的解决方法:


方法1:合并图像Datastore与标签Datastore

这是最规范的MATLAB Datastore工作流,适用于标签来自文件夹结构或已有标签数组的场景:

  1. 读取两组图像并包含标签
    如果你的图像是按类别分文件夹存放的,创建Image Datastore时直接指定标签源,让Datastore自动带上标签:

    % 替换为你的两组图像文件夹路径
    imds1 = imageDatastore('path/to/group_images_1', 'LabelSource', 'foldernames');
    imds2 = imageDatastore('path/to/group_images_2', 'LabelSource', 'foldernames');
    

    如果标签不是来自文件夹,你可以先读取图像,再单独准备标签数组。

  2. 创建标签Datastore
    由于两组图像的标签是一一对应的(每组第i张图对应同一个标签),从其中一个Image Datastore提取标签,转为数组Datastore:

    % 提取标签并转为Cell类型输出,匹配网络要求
    labels = imds1.Labels;
    labelds = arrayDatastore(labels, 'OutputType', 'cell');
    
  3. 合并三个Datastore
    将两个图像Datastore和标签Datastore合并,得到符合要求的M×3结构:

    imdsCombined = combine(imds1, imds2, labelds);
    

    此时执行read(imdsCombined)会返回1×3的元胞数组:{输入图像1, 输入图像2, 标签},完全满足trainNetwork的要求。


方法2:手动构建元胞数组并包装为CellDatastore

如果你的标签来自外部文件(如CSV)或需要更灵活的数据集构造,可以手动构建训练数据:

  1. 读取所有图像和标签

    % 读取两组所有图像
    imgs_group1 = readall(imds1);
    imgs_group2 = readall(imds2);
    
    % 示例:从CSV读取标签(替换为你的标签获取逻辑)
    label_table = readtable('labels.csv');
    labels = label_table.Label; % 假设CSV中标签列名为Label
    
  2. 构建M×3的元胞数组
    遍历每个样本,将两组图像和对应标签放入元胞数组的对应位置:

    num_samples = 58;
    training_data = cell(num_samples, 3);
    
    for i = 1:num_samples
        training_data{i, 1} = imgs_group1{i};
        training_data{i, 2} = imgs_group2{i};
        training_data{i, 3} = labels(i); % 如果是分类标签,可转为Cell类型:{labels(i)}
    end
    
  3. 包装为CellDatastore
    将手动构建的元胞数组转为Datastore,适配trainNetwork的输入要求:

    imdsCombined = cellDatastore(training_data, 'ReadSize', 1);
    

关键注意事项

  • 确保所有Datastore(或手动构建的数组)的样本数完全一致(都是58),否则合并或训练时会报错。
  • 标签的类型要与网络输出层匹配:分类问题用类别标签,回归问题用数值标签。
  • 在R2019b中,combine函数支持合并多个Datastore,只要它们的可读取样本数相同。

内容的提问来源于stack exchange,提问作者Guilherme Freire

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 18:17:49