Neural Network: show current cycle number and error value during training

phivuphivu Member Posts: 34 Guru
edited November 2018 in Help

Hi everyone,

I'm quite new in RapidMiner. I'm using Neural Network to train a 300 dimensional dataset with 3000 examples. I set the number of training cycles to 3000 with a learning rate of 0.01, so it takes quite a long time to train. I want to ask if there is a way to show the current cycle number and the error value of that cycle during the training. This will help me to check the progress and estimate how much time left of the training. Thank you very much for your answers.

 

Best regards.

phivu

Best Answer

  • MartinLiebigMartinLiebig Administrator, Moderator, Employee, RapidMiner Certified Analyst, RapidMiner Certified Expert, University Professor Posts: 3,503 RM Data Scientist
    Solution Accepted

    Hi,

     

    the new Deep Learning operator in 7.2 has the expert option to show you the progress (MSE vs epochs).

     

    ~Martin

    - Sr. Director Data Solutions, Altair RapidMiner -
    Dortmund, Germany

Answers

  • Thomas_OttThomas_Ott RapidMiner Certified Analyst, RapidMiner Certified Expert, Member Posts: 1,761 Unicorn

    Yes, you can use a log operator and create a column for training cycle and another column for performance measure. 

     

    Quick question, do you need 300 dimensions? Can you do some feature optimization to knock down the dimensions?

  • phivuphivu Member Posts: 34 Guru

    Thanks Thomas, as I know log operator can only show the final info after we finish training the NN, is there any way to show the info (e.g. the number of cycles run so far, the error of each cycle) during the training, to help estimate how much time left to wait for the training?

     

    P/S: Yes, I used PCA to reduce the dimensions to 171, it runs faster, but I want to improve the accuracy, so I set a small learning rate (0.01) and a large number of cycles (10000), which takes more time to run.

  • Thomas_OttThomas_Ott RapidMiner Certified Analyst, RapidMiner Certified Expert, Member Posts: 1,761 Unicorn

    There might be a way to loop the training cycle values and then log the execution time. That could give you an idea of how long a certain value of training cycles will take.

     

    While this might not work in your case but n version 7+ there is an estimated time of completion on the operator itself. If you have your NN inside a X-val, you would see a dark circle with a % on the X-val operator. It's just an estimate but if it takes 1 hour to get to 1%, then it's a safe bet it will take 100 hrs. 

  • Thomas_OttThomas_Ott RapidMiner Certified Analyst, RapidMiner Certified Expert, Member Posts: 1,761 Unicorn

    YAH!

  • SimbaDSimbaD Member Posts: 1 Contributor I

    I have spent a couple of days trying this, but I still cant figure this out. I was to plot MSE Vs iteration. Can you please explain your answer a little bit more. I am using a deep-learning operator, and I want to show its training progress through the MSE vs epoch/iteration.

  • sgenzersgenzer Administrator, Moderator, Employee, RapidMiner Certified Analyst, Community Manager, Member, University Professor, PM Moderator Posts: 2,959 Community Manager

    hello @SimbaD welcome to the community! I'd recommend tagging people on your post (like I did for you) - this is an old thread.

    Scott

Sign In or Register to comment.