代码之家  ›  专栏  ›  技术社区  ›  Akshaya Natarajan

如何在MATLAB中给出层数组中的输入层?

  •  0
  • Akshaya Natarajan  · 技术社区  · 6 年前

    我试图在Matlab中建立一个神经网络,它使用内置的 dropoutLayer

    layers = [
        fullyConnectedLayer(hidden_layer_nodes(1))
        dropoutLayer(0.5)
        fullyConnectedLayer(hidden_layer_nodes(2))
        dropoutLayer(0.5)
        fullyConnectedLayer(hidden_layer_nodes(3))
        dropoutLayer(0.5)
        fullyConnectedLayer(output_layer_size)
        regressionLayer
        ];
    

    我得到以下错误:

    Error in main (line 54)
    net = trainNetwork(X,y,layers,options);
    
    Caused by:
        Network: Missing input layer. The network must have one input layer.
        Layer 1: Missing input. Each layer input must be connected to the output of another layer.
    

    我理解这一点,因为我没有在layers数组中给出输入层。但我不确定我应该提供什么输入层,因为输入不是图像,也不是可用输入层的序列和列表:

    1) 图像输入层

    2) image3d输入层

    4) 读出层 取自官方的Matlab文档。

    0 回复  |  直到 6 年前
        1
  •  1
  •   Akshaya Natarajan    6 年前

    对于所有遇到同样问题的人,如果他们需要StackOverflow的帮助,请查看MathWorks社区上发布的以下链接。这实际上似乎适用于非图像和非序列输入。

    https://in.mathworks.com/matlabcentral/answers/395817-can-i-use-trainnetwork-to-train-deep-neural-networks-with-non-image-or-non-sequence-data-for-regre

    这解释了一种使用imageInputLayer在Layers数组中输入任何类型数据的方法。