首页 > 解决方案 > 使用 Pythonnet 的 LSTM 网络中的验证损失和准确性

问题描述

我是时间序列神经网络“LSTM”的初学者,我在 Visual Studio 中将它与 pythonnet 一起使用,但我在训练中尝试了很多但无济于事,准确度永远不会增加,它非常小,损失函数是 nan . 这是来自数据还是网络架构?任何人都可以帮忙吗?

            var trainx_data_numpy = data.trainX.reshape(218 , 201 , 1 );


            var trainY_data_numpy = data.trainY.reshape(218, 201, 1);
        
            var model = new Sequential();
            
            model.Add(new LSTM(128, activation: "relu", input_shape: new Shape(
                data.inputDimention.FD,
                data.inputDimention.SD) 
                , return_sequences: true
                ));
        model.Add(new Dropout(0.6));
        model.Add(new LSTM(128 , return_sequences: true));
        model.Add(new Dropout(0.6));
        model.Add(new LSTM(128));
       
        model.Add(new Dense(1));


        model.Compile(optimizer: "adam" , loss: "mse", metrics: new string[] { "accuracy" });

         var result =  model.Fit(trainx_data_numpy,
                trainY_data_numpy, batch_size: 1, 
                epochs: 10, verbose: 1 , validation_split:0.1f);

标签: machine-learningneural-networklstmpython.net

解决方案


推荐阅读