首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >基于Matlab深度学习工具箱的多输入网络训练

基于Matlab深度学习工具箱的多输入网络训练
EN

Stack Overflow用户
提问于 2020-03-25 18:36:46
回答 1查看 204关注 0票数 1

我想在Matlab中使用深度学习工具箱中的trainNetwork函数来训练一个具有5个输入图像的卷积神经网络。目前,我的训练数据集有一个具有5个输入(图像)的combinedDatastore对象(ds)。在使用trainNetwork(ds, lgraph, options)时,我得到了以下错误:

代码语言:javascript
运行
复制
Error using trainNetwork (line 165)
Invalid network.

Caused by:
    Network: Too many input layers. The network must have one input layer.
    Detected input layers:
        layer 'imageinput3'
        layer 'imageinput1'
        layer 'imageinput2'
        layer 'imageinput5'
        and 1 other layers.

我该怎么做呢?我正在使用Matlab2019a。谢谢你的帮助!

EN

Stack Overflow用户

发布于 2020-11-25 21:21:23

神经网络必须有一个输入层。对于MATLAB's documentation,输入层由输入图像大小指定,而不是您希望网络在其上训练的图像。

请查看此示例代码,了解如何创建lgraph。

创建一个图层数组。假设您的图像大小为28x28x3。

代码语言:javascript
运行
复制
layers = [
    imageInputLayer([28 28 3],'Name','input')  
    convolution2dLayer(3,16,'Padding','same','Name','conv_1')
    batchNormalizationLayer('Name','BN_1')
    reluLayer('Name','relu_1')];

从图层数组创建图层图。layerGraph按顺序连接层中的所有层。

代码语言:javascript
运行
复制
lgraph = layerGraph(layers);

现在,您可以将训练图像传递给trainNetwork,如下所示:

代码语言:javascript
运行
复制
net = trainNetwork(ds,lgraph,options);

注意:请确保您的ds看起来像这样,其中每个图像都有自己的真实值。ds

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60847059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档