I want a custom neural network training software which will need to be in GUI. I will use it to train thousands of models from hundreds of csv files, each containing a couple thousand inputs (arranged in time series). I will use this program to monitor and select the best model(s) for each corresponding csv file. Once the training is done, I also need the program to show the results using graphs/statistics (r^2,MSE,mean,SD,variance,histogram,etc).
The training algorithm should use the Levenberg–Marquardt algorithm (feed-forward backprop) and the adaptive function should use the Gradient descent with momentum backpropagation. The ratio of train/validation/test data should also be customizable.
I will need the program to generate a large amount of models for each csv file based on the following commands:
1. Input. This may span across several csv files. Number of input may fall within a range, and given a step size. (ie. 5 inputs per day, stretching 10-100 days backward, step size = 10 day.)
2. Training parameters/number of outputs. This may be a function of the inputs. (ie. IF input between tomorrow and [tomorrow+X] days increases more than Y times, THEN 1, ELSE 0 {where X and Y are functions of inputs} )
3. Range of hidden layers (ie. 1-2)
4. Range of hidden nodes and step size
Example of a command: Nodes 20-60 for each available layer, step size = 20.
Example output:
1 Layer {(20),(40),(60)}
2 Layers {(20,0),(40,0),(60,0),(20,20),(40,20),(60,20),....(60,60)}
5. Transfer function (Hyperbolic tangent sigmoid, Log-sigmoid, or linear)
Using the examples above,
Command 1. will have 10 combinations (10, 20, 30, 40, 50, 60, 70, 80, 90, 100 days)
Command. 2. will have 1 combination.
Command 3. will have 2 combinations (1 hidden layer, 2 hidden layer)
Command 4 will have 18 combinations {(20),(40),(60)}u{(20,0),(40,0),(60,0),(20,20),(40,20),(60,20),....(60,60)}
Command no 5. Should have 3 combinations
Therefore, for each csv file, there should be 10 x 1 x 2 x 18 x 3 = 1080 models.
That’s about it. If possible, I would like the software to be able to run on multiple GPUs, if not that’s fine.