1
$\begingroup$

I am training a ANN model with a large dataset (~million level) using Predict or NetTrain function. I do not have a GPU machine but have a server equipped with 16 CPU cores. How can I maximize the speed of this training? Is it possible to apply parallel Computing to make full use of all the cores? (A existing method: https://www.wolfram.com/language/12/neural-network-framework/train-a-net-on-multiple-gpus.html.zh?product=mathematica. However, the 'Target service' option is only applicable to speed up the training in a GPU machine). Should I give up MMA and switch to Python?

$\endgroup$
3
  • $\begingroup$ "Should I give up MMA and switch to Python?" is a question only you can answer in your particular situation. In the meantime, if you include commands that you are trying out (pasted as Mma code), someone might just help you and/or guide you in the right direction. $\endgroup$
    – Syed
    Commented Oct 28, 2021 at 16:54
  • $\begingroup$ Mathematica's Predict is already parallelized: Predict[ExampleData[{"MachineLearning", "BostonHomes"}, "TrainingData"], PerformanceGoal -> "Quality", TargetDevice -> "CPU", Method -> "NeuralNetwork"] will use more than one core on my machine for example. $\endgroup$
    – flinty
    Commented Oct 28, 2021 at 16:58
  • $\begingroup$ @flinty, Thanks. I will try this code later to see if it makes good use of my CPUs. $\endgroup$ Commented Oct 28, 2021 at 17:14

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.