{"id":3483,"date":"2023-08-31T11:12:59","date_gmt":"2023-08-31T11:12:59","guid":{"rendered":"https:\/\/neuraldesigner.com\/learning\/electric-motor-temperature-digital-twin\/"},"modified":"2026-07-28T15:42:16","modified_gmt":"2026-07-28T13:42:16","slug":"electric-motor-temperature-digital-twin","status":"publish","type":"learning","link":"https:\/\/www.neuraldesigner.com\/learning\/examples\/electric-motor-temperature-digital-twin\/","title":{"rendered":"Build a digital twin of an electric motor using machine learning"},"content":{"rendered":"<style>.ndb{width:100vw;margin-left:calc(50% - 50vw);background:#eeeeee;padding:22px 24px 14px;font-family:\"Outfit\",\"Roboto\",Arial,sans-serif;color:#1b2635}.ndb *{box-sizing:border-box}.ndb a{text-decoration:none}.ndb-wrap{width:min(100%,1200px);margin:0 auto}.ndb-lead{font-size:18px;line-height:1.6;color:#3a4a5a;font-weight:300;margin:0 0 22px}.ndb-lead a{color:#2d799f;font-weight:600}.ndb-highlight{margin:0 0 36px;padding:28px 34px;border-radius:18px;background:linear-gradient(135deg,#56a1c8 0%,#245e80 100%);color:#fff;box-shadow:0 16px 34px rgba(30,83,116,.22)}.ndb-highlight p{margin:0;color:#fff;font-size:20px;line-height:1.5;font-weight:400}.ndb-highlight b{font-weight:800}.ndb-toc{list-style:none;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:0 0 42px;padding:0}.ndb-toc a{padding:10px 18px;background:#f2f2f2;border-radius:22px;color:#12354b!important;font-size:14px;font-weight:600;box-shadow:-6px -6px 12px rgba(255,255,255,.9),6px 6px 12px rgba(30,83,116,.10)}.ndb-toc a:hover{color:#2d799f!important}.ndb-card{margin:0 0 54px;padding:0;background:transparent;border-radius:0;box-shadow:none;scroll-margin-top:90px}.ndb-card h2{margin:0 0 20px;padding-bottom:12px;color:#001233;font-size:24px;font-weight:700;position:relative;border-bottom:1px solid #dbe5ec}.ndb-card h2:after{content:\"\";position:absolute;left:0;bottom:-1px;width:62px;height:3px;background:#56a1c8;border-radius:2px}.ndb-card p{margin:0 0 14px;font-size:16.5px;line-height:1.62;color:#33424f}.ndb-card a{color:#2d799f;font-weight:500}.ndb-card ul{margin:0 0 14px;padding-left:22px}.ndb-card li{margin:5px 0;font-size:16px;line-height:1.5;color:#33424f}.ndb-card img:not([src$=\".svg\"]):not([data-src$=\".svg\"]){display:block;width:auto;max-width:min(560px,100%);height:auto;margin:22px auto;border-radius:12px;box-shadow:0 12px 28px rgba(0,18,51,.12)}.ndb-card th img[src$=\".svg\"],.ndb-card th img[data-src$=\".svg\"],.ndb-card img[src$=\".svg\"],.ndb-card img[data-src$=\".svg\"]{display:inline-block;max-width:24px;height:auto;margin:0 6px -4px 0;box-shadow:none}.ndb-card table{border-collapse:separate;border-spacing:0;width:100%;max-width:100%;margin:22px 0;font-size:15px;background:#fbfcfd;border-radius:12px;overflow:hidden;box-shadow:0 10px 24px rgba(0,18,51,.08)}.ndb-card th,.ndb-card td{padding:11px 16px;border-bottom:1px solid #e6ecf0;text-align:left;vertical-align:top}.ndb-card thead th{background:#12354b;color:#fff;font-weight:600;text-align:center}.ndb-card tbody th{background:#e9f1f6;color:#12354b;font-weight:600}.ndb-card td{color:#33424f}.ndb-card table ul{margin:0;padding-left:18px}.ndb-card table li{font-size:14px}.ndb-card pre{margin:22px 0;padding:22px 24px;background:#0b1830!important;color:#e6eef5!important;border-radius:14px;overflow-x:auto;font-family:Consolas,Menlo,monospace;font-size:12.5px;line-height:1.5;white-space:pre}.ndb-card--accent{background:#e9f2f8}@media(max-width:820px){.ndb-card{padding:26px 22px}.ndb-card h2{font-size:21px}.ndb-toc{gap:8px}}@media(max-width:640px){.ndb{padding:12px 14px}}.ndb-card thead th{background:#12354b!important;color:#fff!important}.ndb-card tbody th{background:#e9f1f6!important;color:#12354b!important}.ndb-card td{background:#fbfcfd!important;color:#33424f!important}.ndb-card .mjx-chtml.MJXc-display{overflow-x:auto;overflow-y:hidden;max-width:100%;padding:2px 0 8px}.ndb-card .mjx-chtml.MathJax_CHTML{font-size:18px!important}.ndb-card pre{background:#eceff2!important;color:#1b2635!important;border:1px solid #dfe4e9!important}.ndb-card pre *{color:#1b2635!important;background:transparent!important}.ndb-eq{margin:22px 0;padding:20px 24px;background:#fbfcfd;border-radius:12px;box-shadow:0 10px 24px rgba(0,18,51,.08);text-align:center;overflow-x:auto;font-size:17px;color:#12354b}.ndb-video{position:relative;width:100%;max-width:720px;margin:20px auto;aspect-ratio:16\/9}.ndb-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:12px;box-shadow:0 12px 28px rgba(0,18,51,.14)}.ndb #download{display:flex;width:fit-content;align-items:center;gap:10px;padding:13px 28px;margin:10px auto 4px;background:linear-gradient(135deg,#56a1c8 0%,#245e80 100%);color:#fff!important;border-radius:26px;font-weight:600;font-size:16px;box-shadow:0 12px 26px rgba(30,83,116,.25);text-decoration:none}.ndb #download:hover{filter:brightness(1.06)}.ndb #download br{display:none}.ndb #download svg{width:20px;height:20px;fill:currentColor;flex:0 0 auto}.ndb #download::after{content:\"Download Neural Designer\"}.ndb a[href*=\"\/downloads\"]:has(svg){display:flex;width:fit-content;align-items:center;gap:10px;padding:13px 28px;margin:10px auto 4px;background:linear-gradient(135deg,#56a1c8 0%,#245e80 100%);color:#fff!important;border-radius:26px;font-weight:600;font-size:16px;box-shadow:0 12px 26px rgba(30,83,116,.25);text-decoration:none;line-height:1}.ndb a[href*=\"\/downloads\"]:has(svg):hover{filter:brightness(1.06)}.ndb a[href*=\"\/downloads\"]:has(svg) br{display:none}.ndb a[href*=\"\/downloads\"]:has(svg) svg{width:20px;height:20px;fill:currentColor;flex:0 0 auto}.ndb a[href*=\"\/downloads\"]:has(svg)::after{content:\"Download Neural Designer\"}.ndb #download,.ndb a[href*=\"\/downloads\"]:has(svg){font-size:0!important}.ndb #download svg,.ndb #download br,.ndb #download img,.ndb a[href*=\"\/downloads\"]:has(svg) svg,.ndb a[href*=\"\/downloads\"]:has(svg) br{display:none!important}.ndb #download::after,.ndb a[href*=\"\/downloads\"]:has(svg)::after{font-size:16px!important;content:\"Download Neural Designer\"!important}\n.ndb-executive{margin:0 0 34px;padding:32px;border-radius:20px;background:linear-gradient(135deg,#12354b 0%,#245e80 100%);color:#fff;box-shadow:0 16px 36px rgba(0,18,51,.18)}\n.ndb-executive h2{margin:0 0 12px;color:#fff;font-size:30px;line-height:1.2;border:0;padding:0}\n.ndb-executive h2:after{display:none}.ndb-executive p{margin:0;color:#eaf5fb;font-size:18px;line-height:1.55}\n.ndb-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:22px 0 0}\n.ndb-kpi{padding:18px;border-radius:14px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18)}\n.ndb-kpi strong{display:block;color:#fff;font-size:25px;line-height:1.1}.ndb-kpi span{display:block;margin-top:6px;color:#d9edf7;font-size:13px}\n.ndb-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.ndb-button{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border-radius:24px;background:#fff;color:#12354b!important;font-weight:700!important}\n.ndb-button--secondary{background:transparent;color:#fff!important;border:1px solid rgba(255,255,255,.55)}\n.ndb-value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0}\n.ndb-value{padding:20px;border-radius:14px;background:#f8fbfd;border:1px solid #dce8ef}.ndb-value strong{display:block;color:#12354b;margin-bottom:6px;font-size:17px}.ndb-value span{color:#4a5d6b;line-height:1.45}\n.ndb-audience{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin:18px 0}.ndb-audience span{padding:8px 13px;border-radius:18px;background:#e9f2f8;color:#12354b;font-size:14px;font-weight:600}\n.ndb-architecture{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:14px;align-items:center;margin:24px auto;padding:24px;max-width:1000px;border-radius:16px;background:#f8fbfd;border:1px solid #dce8ef}\n.ndb-arch-box{height:100%;padding:18px;border-radius:12px;background:#fff;box-shadow:0 8px 20px rgba(0,18,51,.07)}.ndb-arch-box strong{display:block;color:#12354b;margin-bottom:8px}.ndb-arch-box small{display:block;color:#637481;line-height:1.5}.ndb-arch-arrow{color:#56a1c8;font-size:25px;font-weight:800}\n.ndb-note{margin:20px 0;padding:18px 20px;border-left:4px solid #56a1c8;border-radius:0 12px 12px 0;background:#f6fafc;color:#33424f;line-height:1.55}\n.ndb-note--warning{border-left-color:#e39b36;background:#fff9ef}\n.ndb-results-table{width:auto!important;max-width:100%;margin:24px auto!important}.ndb-results-table td:first-child{font-weight:600;color:#12354b}\n.ndb-figure-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0}.ndb-figure-grid figure{margin:0;padding:16px;border-radius:15px;background:#f8fbfd;border:1px solid #dce8ef}.ndb-figure-grid img{width:100%!important;max-width:100%!important;margin:0 auto 12px!important;box-shadow:none!important}.ndb-figure-grid figcaption{color:#405361;font-size:14px;line-height:1.45}\n.ndb-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:24px 0}.ndb-flow div{position:relative;padding:18px 16px;border-radius:13px;background:#12354b;color:#fff;text-align:center;font-weight:600}.ndb-flow div:not(:last-child):after{content:\"\u2192\";position:absolute;right:-17px;top:50%;transform:translateY(-50%);z-index:2;color:#56a1c8;font-size:22px}\n.ndb-calculator{margin:26px 0;padding:26px;border-radius:18px;background:#f8fbfd;border:1px solid #cfe0ea;box-shadow:0 12px 28px rgba(0,18,51,.08)}.ndb-calculator h3{margin-top:0;color:#12354b}.ndb-calculator-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.ndb-field label{display:block;margin-bottom:6px;color:#33424f;font-size:13px;font-weight:700}.ndb-field input{width:100%;padding:10px 11px;border:1px solid #bdcfda;border-radius:8px;background:#fff;color:#1b2635;font:inherit}.ndb-field small{display:block;margin-top:4px;color:#71818d;font-size:11px}\n.ndb-calc-actions{display:flex;gap:10px;margin:18px 0}.ndb-calc-actions button{padding:11px 18px;border:0;border-radius:22px;background:#245e80;color:#fff;font:inherit;font-weight:700;cursor:pointer}.ndb-calc-actions button[type=button]{background:#e4edf2;color:#12354b}\n.ndb-outputs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.ndb-output{padding:17px;border-radius:12px;background:#fff;border:1px solid #d8e4eb}.ndb-output span{display:block;color:#5e707d;font-size:12px}.ndb-output strong{display:block;margin-top:5px;color:#12354b;font-size:23px}.ndb-calc-status{margin:12px 0 0!important;font-size:13px!important;color:#60727f!important}\n.ndb-downloads{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:22px 0}.ndb-downloads a{display:inline-flex;padding:12px 20px;border-radius:24px;background:#245e80;color:#fff!important;font-weight:700!important}.ndb-downloads a:last-child{background:#e5eef3;color:#12354b!important}\n@media(max-width:900px){.ndb-kpis,.ndb-calculator-grid,.ndb-outputs{grid-template-columns:repeat(2,minmax(0,1fr))}.ndb-value-grid{grid-template-columns:1fr}.ndb-architecture{grid-template-columns:1fr}.ndb-arch-arrow{transform:rotate(90deg);text-align:center}.ndb-flow{grid-template-columns:1fr 1fr}.ndb-flow div:after{display:none}}\n@media(max-width:620px){.ndb-executive{padding:24px 20px}.ndb-executive h2{font-size:24px}.ndb-kpis,.ndb-calculator-grid,.ndb-outputs,.ndb-figure-grid,.ndb-flow{grid-template-columns:1fr}.ndb-calculator{padding:20px 16px}.ndb-results-table{font-size:13px!important}.ndb-results-table th,.ndb-results-table td{padding:9px 8px!important}}\n\n.ndb .ndb-card img[alt^=\"Initial neural network\"],.ndb .ndb-card img[alt^=\"Selected neural network\"]{display:block!important;width:min(1000px,100%)!important;max-width:100%!important;height:auto!important;margin:26px auto!important}<\/style>\r\n<div class=\"ndb\">\r\n<div class=\"ndb-wrap\">\r\n\n<div class=\"ndb-executive\">\n<h2>Predict critical motor temperatures without instrumenting the rotor<\/h2>\n<p>This data-driven thermal digital twin estimates four internal temperatures from eight routinely available operating signals. It can support overheating prevention, cooling studies and safer operating limits for permanent-magnet synchronous motors.<\/p>\n<div class=\"ndb-kpis\">\n<div class=\"ndb-kpi\"><strong>8<\/strong><span>operating inputs<\/span><\/div>\n<div class=\"ndb-kpi\"><strong>4<\/strong><span>predicted temperatures<\/span><\/div>\n<div class=\"ndb-kpi\"><strong>0.923<\/strong><span>average testing R\u00b2<\/span><\/div>\n<div class=\"ndb-kpi\"><strong>175<\/strong><span>steady-state operating points<\/span><\/div>\n<\/div>\n<div class=\"ndb-actions\">\n<a class=\"ndb-button\" href=\"#7-model-deployment\">Try the digital twin<\/a>\n<a class=\"ndb-button ndb-button--secondary\" href=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/07\/electric_motor.csv\">Download the data<\/a>\n<\/div>\n<\/div>\n<div class=\"ndb-lead\">\n<p>Temperature is one of the main operating constraints in an electric motor. Excess heat accelerates winding-insulation ageing and can permanently damage rotor magnets, but rotor temperature is difficult to measure in a deployed machine.<\/p>\n<p>This example shows how a neural network can act as a steady-state thermal soft sensor: speed, torque, voltages, currents and cooling conditions are converted into estimates of stator-yoke, stator-tooth, winding and permanent-magnet temperature.<\/p>\n<p>The model was built with <a href=\"https:\/\/www.neuraldesigner.com\/\">Neural Designer<\/a>. The downloadable data and Python deployment package make the workflow reproducible.<\/p>\n<\/div>\n<ul class=\"ndb-toc\">\r\n \t<li><a href=\"#1-application-type\">Industrial challenge<\/a><\/li>\r\n \t<li><a href=\"#2-data-set\">Data set<\/a><\/li>\r\n \t<li><a href=\"#3-neural-network\">Neural network<\/a><\/li>\r\n \t<li><a href=\"#4-training-strategy\">Training strategy<\/a><\/li>\r\n \t<li><a href=\"#5-model-selection\">Model selection<\/a><\/li>\r\n \t<li><a href=\"#6-testing-analysis\">Testing analysis<\/a><\/li>\r\n \t<li><a href=\"#7-model-deployment\">Model deployment<\/a><\/li>\r\n \t<li><a href=\"#8-limitations\">Limitations<\/a><\/li><li><a href=\"#references\">References<\/a><\/li>\r\n<\/ul>\r\n\n<div id=\"1-application-type\" class=\"ndb-card\">\n<h2>1. Industrial challenge<\/h2>\n<p>This is an <a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/neural-networks-applications#Approximation\">approximation<\/a> project. The model maps an electric motor operating point to the temperatures reached inside the machine.<\/p>\n<div class=\"ndb-value-grid\">\n<div class=\"ndb-value\"><strong>Protect critical components<\/strong><span>Estimate winding and permanent-magnet temperature before thermal limits are exceeded.<\/span><\/div>\n<div class=\"ndb-value\"><strong>Evaluate operating scenarios<\/strong><span>Study how cooling and electrical conditions influence internal temperatures without risking physical hardware.<\/span><\/div>\n<div class=\"ndb-value\"><strong>Deploy a thermal soft sensor<\/strong><span>Use signals already available from a controller, test bench, PLC or supervisory system.<\/span><\/div>\n<\/div>\n<p>Potential users include motor and drivetrain engineers, reliability teams, test-bench operators, production leaders and Industry 4.0 teams:<\/p>\n<div class=\"ndb-audience\"><span>Plant operations<\/span><span>Reliability &amp; maintenance<\/span><span>Motor engineering<\/span><span>Test benches<\/span><span>Digital transformation<\/span><\/div>\n<div class=\"ndb-note\"><strong>Scope of this example.<\/strong> This is a data-driven, steady-state thermal digital twin. In production it would become the predictive core of a real-time monitoring workflow, connected to live signals, alarms and model-performance monitoring.<\/div>\n<\/div>\n\n<div id=\"2-data-set\" class=\"ndb-card\">\r\n<h2>2. Data set<\/h2>\r\nThe first step is to prepare the <a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/data-set\">data set<\/a>, which is the source of information for the approximation problem. It is composed of:\r\n<ul>\r\n \t<li>Data source.<\/li>\r\n \t<li>Variables.<\/li>\r\n \t<li>Instances.<\/li>\r\n<\/ul>\r\n<h3>Data source<\/h3>\r\nThe file <a href=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/07\/electric_motor.csv\">electric_motor.csv<\/a> contains the data for this example.\r\n\r\nThe original recordings are taken several times per second, so consecutive rows are almost identical, and many of them belong to changing driving cycles. To describe the motor properly, we keep one representative value for each stable operating condition: a fixed speed and torque, once the temperatures have settled.\r\n\r\nThis gives a clean data set of 175 instances with 13 columns.\r\n<h3>Variables<\/h3>\r\nThis problem has the following <a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/data-set#Variables\">variables<\/a>:\r\n<ul>\r\n \t<li><strong>session_id<\/strong>, identifier of the measurement session. It is only used to keep track of the experiments, not as an input or a target.<\/li>\r\n \t<li><strong>ambient_temperature<\/strong>, ambient temperature measured by a thermal sensor located close to the stator.<\/li>\r\n \t<li><strong>coolant_temperature<\/strong>, coolant temperature. The motor is water-cooled. Measurement is taken at the outflow.<\/li>\r\n \t<li><strong>speed<\/strong>, motor speed.<\/li>\r\n \t<li><strong>torque<\/strong>, torque induced by the current.<\/li>\r\n \t<li><strong>voltage_d<\/strong>, voltage d-component.<\/li>\r\n \t<li><strong>voltage_q<\/strong>, voltage q-component.<\/li>\r\n \t<li><strong>current_d<\/strong>, current d-component.<\/li>\r\n \t<li><strong>current_q<\/strong>, current q-component.<\/li>\r\n \t<li><strong>yoke_temperature<\/strong>, stator yoke temperature measured with a thermal sensor.<\/li>\r\n \t<li><strong>tooth_temperature<\/strong>, stator tooth temperature measured with a thermal sensor.<\/li>\r\n \t<li><strong>winding_temperature<\/strong>, stator winding temperature measured with a thermal sensor.<\/li>\r\n \t<li><strong>magnet_temperature<\/strong>, rotor permanent-magnet temperature.<\/li>\r\n<\/ul>\r\nThe variables &#8216;ambient_temperature&#8217;, &#8216;coolant_temperature&#8217;, &#8216;speed&#8217;, &#8216;torque&#8217;, &#8216;voltage_d&#8217;, &#8216;voltage_q&#8217;, &#8216;current_d&#8217;, and &#8216;current_q&#8217; are the inputs. They describe the operating point of the motor (the cooling conditions and the electrical excitation). On the contrary, &#8216;yoke_temperature&#8217;, &#8216;tooth_temperature&#8217;, &#8216;winding_temperature&#8217;, and &#8216;magnet_temperature&#8217; are the targets of this study. Our main goal is to describe the behavior of the electric motor to prevent overheating, so these output variables are the temperatures of the engine&#8217;s internal parts: three in the stator and one in the rotor.\r\n<h3>Instances<\/h3>\r\nThey are divided randomly into <a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/data-set#TrainingInstances\">training<\/a>,\u00a0<a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/data-set#SelectionInstances\">selection<\/a>, and\u00a0<a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/data-set#TestingInstances\">testing<\/a> subsets, containing 60%, 20%, and 20% of the instances, respectively. More specifically, 105 samples are used here for training, 35 for validation, and 35 for testing.\r\n<h3>Variables distribution<\/h3>\r\nOnce we establish the data set information, we perform analytics to check the data quality.\r\n\r\nFor instance, we can calculate the <a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/data-set#Distributions\">data distribution<\/a>. The next figure depicts the histogram for one of the target variables.\r\n\r\n<img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/07\/tooth_temperature-distribution.png\" alt=\"tooth_temperature distribution\" width=\"800\" height=\"440\" \/>\r\n\r\nIn this diagram, we can see a normal distribution of the stator tooth temperature, one of the parts of the stator. This output depends on many input variables at the same time, so its values spread across the whole range instead of concentrating on a single value.\r\n<h3>Inputs-targets correlations<\/h3>\r\nThe next figure depicts <a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/data-set#InputsTargetsCorrelations\">inputs-targets correlations<\/a>.\r\n\r\nThis might help us see the different inputs&#8217; influence on the motor temperature.\r\n\r\nAs this machine learning study has several target variables, we show the correlation diagram for the stator winding and for the rotor magnet.\r\n\r\n<img decoding=\"async\" src=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/07\/winding_temperature-Pearson-correlations-chart.png\" alt=\"winding_temperature Pearson correlations chart\" width=\"687\" height=\"565\" \/><img decoding=\"async\" src=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/07\/magnet_temperature-Pearson-correlations-chart.png\" alt=\"magnet_temperature Pearson correlations chart\" width=\"687\" height=\"565\" \/>\r\n\r\nThe stator temperatures depend mostly on the coolant and the currents, as expected in a water-cooled machine.\r\n\r\nThe rotor magnet, however, is related to a wider mix of inputs, which is a first sign that it will be the most difficult temperature to predict.\r\n<h3>Scatter charts<\/h3>\r\nWe can also plot a <a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/data-set#ScatterCharts\">scatter chart<\/a> with the stator winding temperature versus the ambient temperature.\r\n\r\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/07\/winding_temperature-vs.-ambient_temperature-scatter-chart.png\" alt=\"winding_temperature vs. ambient_temperature scatter chart\" width=\"650\" height=\"360\" \/>\r\n\r\nLogically, the higher the ambient temperature, the higher the stator winding temperature.\r\n\r\n<\/div>\r\n<div id=\"3-neural-network\" class=\"ndb-card\">\r\n<h2>3. Neural network<\/h2>\n<p>The initial model uses the same eight operating signals and four temperature targets as the rest of the study. A scaling layer standardizes the inputs, a dense layer with four tanh neurons learns nonlinear thermal relationships, and the output layer returns the four temperatures in degrees Celsius.<\/p>\n<p>This compact 8\u20134\u20134 architecture provides the baseline for training before the hidden-layer size is refined during model selection.<\/p>\n\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/07\/Network-architecture-3.png\" alt=\"Initial neural network with eight operating inputs, four hidden neurons and four motor temperature outputs\" width=\"1207\" height=\"490\" \/>\n\r\n\r\n<\/div>\r\n<div id=\"4-training-strategy\" class=\"ndb-card\">\r\n<h2>4. Training strategy<\/h2>\r\nThe next step is selecting an appropriate <a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/training-strategy\">training strategy<\/a> to define\u00a0what the neural network will learn. A general training strategy is composed of two concepts:\r\n<ul>\r\n \t<li>A loss index.<\/li>\r\n \t<li>An optimization algorithm.<\/li>\r\n<\/ul>\r\nThe <a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/training-strategy#LossIndex\">loss index<\/a> chosen is the\u00a0<a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/training-strategy#NormalizedSquaredError\">normalized squared error<\/a> with\u00a0<a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/training-strategy#L2Regularization\">L2 regularization<\/a>. This loss index is the default in approximation applications.\r\n\r\nThe <a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/training-strategy#OptimizationAlgorithm\">optimization algorithm<\/a> chosen is the\u00a0<a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/training-strategy#QuasiNewtonMethod\">quasi-Newton method<\/a>. This optimization algorithm is the default for medium-sized applications like this one.\r\n\r\nOnce the strategy has been set, we can train the neural network. The following chart shows how the training (blue) and selection (orange) errors decrease with the training epoch during the training process.\r\n\r\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/07\/Quasi-Newton-method-error-history-3.png\" alt=\"Quasi-Newton method error history\" width=\"780\" height=\"520\" \/>\r\n\r\nThe most critical training result is the final selection error. Indeed, this is a measure of the generalization capabilities of the neural network. After 89 epochs, the final training error is <b>0.0333 NSE<\/b> and the final selection error is <b>0.0166 NSE<\/b>.\r\n\r\n<\/div>\r\n<div id=\"5-model-selection\" class=\"ndb-card\">\r\n<h2>5. Model selection<\/h2>\r\nThe objective of <a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/model-selection\">model selection<\/a> is to find the network architecture with the best generalization properties. We want to improve the final selection error obtained before (0.0166 NSE).\r\n\r\nThe best selection error is achieved using a model whose complexity is the most appropriate to produce a good data fit. <a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/model-selection#OrderSelection\">Order selection<\/a> algorithms are responsible for finding the optimal number of perceptrons in the neural network.\r\n\r\nThe final training error continuously decreases with the number of neurons. However, the final selection error takes a minimum value at some point. Here, the optimal number of neurons is 7, corresponding to a selection error of <b>0.0133 NSE<\/b>.\r\n\r\nThe following figure shows the optimal network architecture for this application.\r\n\r\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/07\/Network-architecture-2-2.png\" alt=\"Selected neural network with eight operating inputs, seven hidden neurons and four motor temperature outputs\" width=\"1407\" height=\"490\" \/>\r\n\r\n<\/div>\r\n<div id=\"6-testing-analysis\" class=\"ndb-card\">\r\n<h2>6. Testing analysis<\/h2>\r\nThe objective of the <a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/testing-analysis\">testing analysis<\/a> is to validate the generalization performance of the trained neural network. The testing compares the values provided by this technique to the observed values.\r\n\r\nA standard testing technique in approximation problems is to perform a\u00a0<a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/testing-analysis#LinearRegressionAnalysis\">linear regression analysis<\/a> between the predicted and the real values using an independent testing set. The 35 held-out testing samples are evaluated with the coefficient of determination (R\u00b2) and with absolute errors expressed in degrees Celsius. MAE describes the typical absolute deviation, while RMSE gives more weight to larger errors.\r\n\n<table class=\"ndb-results-table\">\n<thead><tr><th>Predicted temperature<\/th><th>R\u00b2<\/th><th>MAE<\/th><th>RMSE<\/th><\/tr><\/thead>\n<tbody>\n<tr><td>Stator yoke<\/td><td>0.976<\/td><td>3.14 \u00b0C<\/td><td>3.65 \u00b0C<\/td><\/tr>\n<tr><td>Stator tooth<\/td><td>0.951<\/td><td>4.58 \u00b0C<\/td><td>5.38 \u00b0C<\/td><\/tr>\n<tr><td>Stator winding<\/td><td>0.934<\/td><td>6.85 \u00b0C<\/td><td>7.78 \u00b0C<\/td><\/tr>\n<tr><td>Rotor magnet<\/td><td>0.833<\/td><td>6.51 \u00b0C<\/td><td>8.44 \u00b0C<\/td><\/tr>\n<tr><td>Average<\/td><td><strong>0.923<\/strong><\/td><td><strong>5.27 \u00b0C<\/strong><\/td><td><strong>6.31 \u00b0C<\/strong><\/td><\/tr>\n<\/tbody>\n<\/table>\n\r\nThe stator yoke gives the strongest result (R\u00b2 = 0.976; MAE = 3.14 \u00b0C). The rotor magnet is more difficult to estimate because it is thermally isolated and its temperature depends on a complex combination of operating conditions. Its testing MAE is 6.51 \u00b0C. This is also a high-value prediction because direct rotor instrumentation is difficult in deployed equipment.\r\n\r\nThe following figures illustrate the graphical output provided by this testing analysis, one per target. The closer the points are to the grey line, the better the prediction.\r\n\r\n\n<div class=\"ndb-note ndb-note--warning\"><strong>Validation note.<\/strong> The reported results use the random 60\/20\/20 split configured in this example. Because several operating points can belong to the same measurement session, an industrial validation should also reserve complete sessions or driving cycles for testing. This gives a more conservative estimate of performance on unseen experiments.<\/div>\n<div class=\"ndb-figure-grid\"><figure><img decoding=\"async\" src=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/07\/tooth_temperature-goodness-of-fit-chart.png\" alt=\"Stator tooth predicted versus measured temperature\"><figcaption><strong>Stator tooth<\/strong><br>R\u00b2 0.951 \u00b7 MAE 4.58 \u00b0C<\/figcaption><\/figure><figure><img decoding=\"async\" src=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/07\/winding_temperature-goodness-of-fit-chart.png\" alt=\"Stator winding predicted versus measured temperature\"><figcaption><strong>Stator winding<\/strong><br>R\u00b2 0.934 \u00b7 MAE 6.85 \u00b0C<\/figcaption><\/figure><figure><img decoding=\"async\" src=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/07\/magnet_temperature-goodness-of-fit-chart.png\" alt=\"Rotor magnet predicted versus measured temperature\"><figcaption><strong>Rotor magnet<\/strong><br>R\u00b2 0.833 \u00b7 MAE 6.51 \u00b0C<\/figcaption><\/figure><figure><img decoding=\"async\" src=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/07\/yoke_temperature-goodness-of-fit-chart.png\" alt=\"Stator yoke predicted versus measured temperature\"><figcaption><strong>Stator yoke<\/strong><br>R\u00b2 0.976 \u00b7 MAE 3.14 \u00b0C<\/figcaption><\/figure><\/div>\r\n\r\n<\/div>\r\n\n<div id=\"7-model-deployment\" class=\"ndb-card\">\n<h2>7. Model deployment<\/h2>\n<p>In an industrial application, the neural network acts as a thermal soft sensor. Signals already available from a controller, test bench, PLC or SCADA system are transformed into estimates of temperatures that are expensive or impractical to measure continuously.<\/p>\n<div class=\"ndb-flow\"><div>PLC, controller or test bench<\/div><div>8 operating signals<\/div><div>Thermal digital twin<\/div><div>Temperatures, alarms and decisions<\/div><\/div>\n\n<div class=\"ndb-calculator\" id=\"motor-calculator\">\n<h3>Try the thermal digital twin<\/h3>\n<p>Enter an operating point within the training ranges. The calculation runs locally in your browser using the same weights and preprocessing as the exported Python model.<\/p>\n<form id=\"motor-calculator-form\">\n<div class=\"ndb-calculator-grid\">\n<div class=\"ndb-field\"><label for=\"em-ambient\">Ambient temperature (\u00b0C)<\/label><input id=\"em-ambient\" name=\"ambient_temperature\" type=\"number\" min=\"19.5748\" max=\"28.0099\" step=\"any\" value=\"22.14\"><small>19.57 to 28.01<\/small><\/div>\n<div class=\"ndb-field\"><label for=\"em-coolant\">Coolant temperature (\u00b0C)<\/label><input id=\"em-coolant\" name=\"coolant_temperature\" type=\"number\" min=\"16.3071\" max=\"91.1238\" step=\"any\" value=\"18.417\"><small>16.31 to 91.12<\/small><\/div>\n<div class=\"ndb-field\"><label for=\"em-speed\">Speed (rpm)<\/label><input id=\"em-speed\" name=\"speed\" type=\"number\" min=\"-0.0014\" max=\"5999.9371\" step=\"any\" value=\"99.999\"><small>0 to 6000<\/small><\/div>\n<div class=\"ndb-field\"><label for=\"em-torque\">Torque (Nm)<\/label><input id=\"em-torque\" name=\"torque\" type=\"number\" min=\"-127.6034\" max=\"206.177\" step=\"any\" value=\"103.6\"><small>-127.60 to 206.18<\/small><\/div>\n<div class=\"ndb-field\"><label for=\"em-vd\">d-axis voltage (V)<\/label><input id=\"em-vd\" name=\"voltage_d\" type=\"number\" min=\"-130.8851\" max=\"113.6505\" step=\"any\" value=\"-5.4088\"><small>-130.89 to 113.65<\/small><\/div>\n<div class=\"ndb-field\"><label for=\"em-vq\">q-axis voltage (V)<\/label><input id=\"em-vq\" name=\"voltage_q\" type=\"number\" min=\"-2.2669\" max=\"132.0037\" step=\"any\" value=\"7.6621\"><small>-2.27 to 132.00<\/small><\/div>\n<div class=\"ndb-field\"><label for=\"em-id\">d-axis current (A)<\/label><input id=\"em-id\" name=\"current_d\" type=\"number\" min=\"-230.5427\" max=\"0.0002\" step=\"any\" value=\"-43.506\"><small>-230.54 to 0<\/small><\/div>\n<div class=\"ndb-field\"><label for=\"em-iq\">q-axis current (A)<\/label><input id=\"em-iq\" name=\"current_q\" type=\"number\" min=\"-149.3787\" max=\"242.3875\" step=\"any\" value=\"132.61\"><small>-149.38 to 242.39<\/small><\/div>\n<\/div>\n<div class=\"ndb-calc-actions\"><button type=\"submit\">Calculate temperatures<\/button><button type=\"button\" id=\"motor-reset\">Reset example<\/button><\/div>\n<\/form>\n<div class=\"ndb-outputs\" aria-live=\"polite\">\n<div class=\"ndb-output\"><span>Stator yoke<\/span><strong id=\"em-out-yoke\">\u2014<\/strong><\/div>\n<div class=\"ndb-output\"><span>Stator tooth<\/span><strong id=\"em-out-tooth\">\u2014<\/strong><\/div>\n<div class=\"ndb-output\"><span>Stator winding<\/span><strong id=\"em-out-winding\">\u2014<\/strong><\/div>\n<div class=\"ndb-output\"><span>Rotor magnet<\/span><strong id=\"em-out-magnet\">\u2014<\/strong><\/div>\n<\/div>\n<p class=\"ndb-calc-status\" id=\"motor-calc-status\">Demonstration model \u2014 not a certified thermal protection system.<\/p>\n<\/div>\n\n<h3>From prediction to response optimization<\/h3>\n<p>A directional-output chart is useful for sensitivity analysis, but an operational study should focus on a decision such as maintaining required speed and torque while reducing thermal stress. A suitable response-optimization problem would minimize the highest predicted winding or magnet temperature, subject to feasible cooling and motor-control constraints.<\/p>\n<div class=\"ndb-value-grid\">\n<div class=\"ndb-value\"><strong>Objective<\/strong><span>Minimize max(winding temperature, magnet temperature).<\/span><\/div>\n<div class=\"ndb-value\"><strong>Operating requirements<\/strong><span>Keep the requested speed and torque and respect voltage, current and cooling limits.<\/span><\/div>\n<div class=\"ndb-value\"><strong>Engineering constraint<\/strong><span>Only evaluate combinations that are physically achievable by the motor-control strategy.<\/span><\/div>\n<\/div>\n<p>The most useful next visualization would be a speed\u2013torque operating map coloured by predicted magnet or winding temperature, with safe, caution and thermal-limit regions. A second useful chart would compare temperature against coolant temperature at a fixed production duty point.<\/p>\n<div class=\"ndb-note\"><strong>Important.<\/strong> The calculator demonstrates model inference inside the data ranges. It is not a certified protection function, and optimization recommendations must be validated against motor physics and plant safety requirements.<\/div>\n<h3>Download and integrate<\/h3>\n<p>The deployment package contains <code>electric_motor.py<\/code>, including input scaling, trained neural-network weights, output unscaling and temperature bounds.<\/p>\n<div class=\"ndb-downloads\"><a href=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/07\/electric_motor-1.zip\">Download Python model (ZIP)<\/a><a href=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/07\/electric_motor.csv\">Download dataset (CSV)<\/a><\/div>\n<\/div>\n<div id=\"8-limitations\" class=\"ndb-card\">\n<h2>8. Scope and limitations<\/h2>\n<ul>\n<li>The data represents one permanent-magnet synchronous motor on a test bench and 175 selected steady-state operating points.<\/li>\n<li>The model should not be extrapolated beyond the input ranges shown in the calculator.<\/li>\n<li>Dynamic warm-up, transient loads and long-term thermal ageing are not modelled explicitly.<\/li>\n<li>A different motor, cooling circuit or control strategy requires new validation and may require retraining.<\/li>\n<li>Production deployment should monitor missing signals, sensor quality, model drift and prediction error.<\/li>\n<li>The model supports engineering decisions; it does not replace certified motor-protection systems.<\/li>\n<\/ul>\n<\/div>\n\n<div id=\"references\" class=\"ndb-card\">\r\n<h2>References<\/h2>\r\n<ul>\r\n \t<li>Kaggle Machine Learning Repository. <a href=\"https:\/\/www.kaggle.com\/wkirgsn\/electric-motor-temperature\">Electric Motor Temperature Data Set<\/a>.<\/li>\r\n<\/ul>\r\n<\/div>\r\n<script>\n(function(){\nconst form=document.getElementById(\"motor-calculator-form\");if(!form)return;\nconst ids=[\"em-ambient\",\"em-coolant\",\"em-speed\",\"em-torque\",\"em-vd\",\"em-vq\",\"em-id\",\"em-iq\"];\nconst defaults=[22.14,18.417,99.999,103.6,-5.4088,7.6621,-43.506,132.61];\nconst mean=[23.99790001,31.69309998,2141.429932,49.96009827,-45.50220108,54.31969833,-61.34170151,61.16189957];\nconst dev=[1.886790037,21.00110054,1919.01001,50.71620178,46.47539902,45.88150024,66.3914032,60.88159943];\nconst b1=[-0.05225335434,-0.08219533414,-0.03650388867,-0.2887769938,0.03626596555,0.02830147743,0.1163969114];\nconst w1=[\n[-0.02786909603,-0.1900719702,-0.1295402497,-0.1596049666,0.2573949695,-0.01734230481,0.1617328823,-0.1777614355],\n[-0.03999143094,0.6449424624,0.2166189253,0.1867747456,0.01737032831,-0.06493420899,-0.2434400916,0.143928498],\n[-0.1052436382,0.0527154915,-0.1291214377,-0.2569493651,0.3602714837,0.09818291664,0.3931664824,-0.2513476312],\n[0.09708946943,-0.2564228773,0.2447798848,0.0131635638,0.01452202164,-0.3534840047,-0.3745547831,-0.06967765093],\n[-0.09242533147,-0.4929017425,-0.1272283047,-0.124787569,0.06334791332,0.09899882227,0.2635963261,-0.06617773324],\n[0.2016317844,0.4205017686,0.2611190677,-0.05763850361,-0.0933252424,-0.1374992132,-0.233341217,-0.1003326625],\n[0.009244352579,-0.5296567678,-0.1897573024,-0.1337867528,0.02722577192,0.1315934807,0.2473766208,-0.153205961]\n];\nconst b2=[0.03306422383,0.1631809771,0.2247558683,0.2093888819];\nconst w2=[\n[0.007635601331,0.6507148743,0.2447559088,-0.2042852044,-0.3667066097,0.4168004096,-0.5773473382],\n[-0.1200094,0.5436937809,0.09234632552,0.3167338371,-0.4037647843,0.359385252,-0.4043131769],\n[-0.1105420887,0.476482898,-0.05330747366,0.5644817352,-0.4475719333,0.2429483086,-0.2914933264],\n[-0.004058517516,0.1751487106,-0.08519335836,0.6603450775,-0.2247610241,0.7197146416,-0.2373176515]\n];\nconst outDev=[18.60909653,22.59438324,29.5731945,19.18496704],outMean=[43.34547806,51.61511993,59.61610794,57.61990356],lo=[18.63960075,18.63459969,19.34119987,22.79430008],hi=[92.52629852,98.25730133,131.1600037,113.1800003],outIds=[\"em-out-yoke\",\"em-out-tooth\",\"em-out-winding\",\"em-out-magnet\"];\nfunction dot(w,x,b){return w.reduce((v,a,i)=>v+a*x[i],b)}\nfunction calculate(){\nconst fields=ids.map(id=>document.getElementById(id)),x=fields.map(f=>Number(f.value));\nif(x.some(v=>!Number.isFinite(v))){document.getElementById(\"motor-calc-status\").textContent=\"Enter a valid number in every field.\";return}\nlet outside=false;fields.forEach((f,i)=>{const bad=x[i]<Number(f.min)||x[i]>Number(f.max);f.setAttribute(\"aria-invalid\",bad?\"true\":\"false\");outside=outside||bad});\nconst scaled=x.map((v,i)=>(v-mean[i])\/dev[i]),hidden=w1.map((w,i)=>Math.tanh(dot(w,scaled,b1[i]))),raw=w2.map((w,i)=>dot(w,hidden,b2[i])),outputs=raw.map((v,i)=>Math.min(hi[i],Math.max(lo[i],v*outDev[i]+outMean[i])));\noutputs.forEach((v,i)=>document.getElementById(outIds[i]).textContent=v.toFixed(1)+\" \u00b0C\");\ndocument.getElementById(\"motor-calc-status\").textContent=outside?\"Warning: one or more inputs are outside the training range; this prediction should not be trusted.\":\"All inputs are within the ranges represented in the dataset.\";\n}\nform.addEventListener(\"submit\",e=>{e.preventDefault();calculate()});\ndocument.getElementById(\"motor-reset\").addEventListener(\"click\",()=>{ids.forEach((id,i)=>document.getElementById(id).value=defaults[i]);calculate()});\ncalculate();\n})();\n<\/script>\n<\/div>\r\n<\/div>","protected":false},"author":11,"featured_media":2265,"template":"","categories":[29],"tags":[41,43],"class_list":["post-3483","learning","type-learning","status-publish","has-post-thumbnail","hentry","category-examples","tag-automotive","tag-industry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Build a digital twin of an electric motor using machine learning<\/title>\n<meta name=\"description\" content=\"Use machine learning to build a digital twin of an electric motor to ensure electric engines are the best in the market.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.neuraldesigner.com\/learning\/examples\/electric-motor-temperature-digital-twin\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Electric motor temperature machine learning example\" \/>\n<meta property=\"og:description\" content=\"The advance of new technology and electric cars has been taking place recently. Many companies want to assure their electric engines to be the best in the market, speaking in terms of reliability, autonomy for the client and durability.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.neuraldesigner.com\/learning\/examples\/electric-motor-temperature-digital-twin\/\" \/>\n<meta property=\"og:site_name\" content=\"Neural Designer\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-28T13:42:16+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/electric-car-example.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"Electric motor temperature machine learning example\" \/>\n<meta name=\"twitter:description\" content=\"The advance of new technology and electric cars has been taking place recently. Many companies want to assure their electric engines to be the best in the market, speaking in terms of reliability, autonomy for the client and durability.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/electric-car-example.webp\" \/>\n<meta name=\"twitter:site\" content=\"@NeuralDesigner\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/electric-motor-temperature-digital-twin\/\",\"url\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/electric-motor-temperature-digital-twin\/\",\"name\":\"Build a digital twin of an electric motor using machine learning\",\"isPartOf\":{\"@id\":\"https:\/\/www.neuraldesigner.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/electric-motor-temperature-digital-twin\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/electric-motor-temperature-digital-twin\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/electric-car-example.webp\",\"datePublished\":\"2023-08-31T11:12:59+00:00\",\"dateModified\":\"2026-07-28T13:42:16+00:00\",\"description\":\"Use machine learning to build a digital twin of an electric motor to ensure electric engines are the best in the market.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/electric-motor-temperature-digital-twin\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.neuraldesigner.com\/learning\/examples\/electric-motor-temperature-digital-twin\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/electric-motor-temperature-digital-twin\/#primaryimage\",\"url\":\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/electric-car-example.webp\",\"contentUrl\":\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/electric-car-example.webp\",\"width\":1200,\"height\":628,\"caption\":\"Electric car\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/electric-motor-temperature-digital-twin\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.neuraldesigner.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Learning\",\"item\":\"https:\/\/www.neuraldesigner.com\/learning\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Build a digital twin of an electric motor using machine learning\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.neuraldesigner.com\/#website\",\"url\":\"https:\/\/www.neuraldesigner.com\/\",\"name\":\"Neural Designer\",\"description\":\"Explanable AI Platform\",\"publisher\":{\"@id\":\"https:\/\/www.neuraldesigner.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.neuraldesigner.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.neuraldesigner.com\/#organization\",\"name\":\"Neural Designer\",\"url\":\"https:\/\/www.neuraldesigner.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.neuraldesigner.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/05\/logo-neural-1.png\",\"contentUrl\":\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/05\/logo-neural-1.png\",\"width\":1024,\"height\":223,\"caption\":\"Neural Designer\"},\"image\":{\"@id\":\"https:\/\/www.neuraldesigner.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/NeuralDesigner\",\"https:\/\/es.linkedin.com\/showcase\/neuraldesigner\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Build a digital twin of an electric motor using machine learning","description":"Use machine learning to build a digital twin of an electric motor to ensure electric engines are the best in the market.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.neuraldesigner.com\/learning\/examples\/electric-motor-temperature-digital-twin\/","og_locale":"en_US","og_type":"article","og_title":"Electric motor temperature machine learning example","og_description":"The advance of new technology and electric cars has been taking place recently. Many companies want to assure their electric engines to be the best in the market, speaking in terms of reliability, autonomy for the client and durability.","og_url":"https:\/\/www.neuraldesigner.com\/learning\/examples\/electric-motor-temperature-digital-twin\/","og_site_name":"Neural Designer","article_modified_time":"2026-07-28T13:42:16+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/electric-car-example.webp","type":"image\/webp"}],"twitter_card":"summary_large_image","twitter_title":"Electric motor temperature machine learning example","twitter_description":"The advance of new technology and electric cars has been taking place recently. Many companies want to assure their electric engines to be the best in the market, speaking in terms of reliability, autonomy for the client and durability.","twitter_image":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/electric-car-example.webp","twitter_site":"@NeuralDesigner","twitter_misc":{"Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.neuraldesigner.com\/learning\/examples\/electric-motor-temperature-digital-twin\/","url":"https:\/\/www.neuraldesigner.com\/learning\/examples\/electric-motor-temperature-digital-twin\/","name":"Build a digital twin of an electric motor using machine learning","isPartOf":{"@id":"https:\/\/www.neuraldesigner.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.neuraldesigner.com\/learning\/examples\/electric-motor-temperature-digital-twin\/#primaryimage"},"image":{"@id":"https:\/\/www.neuraldesigner.com\/learning\/examples\/electric-motor-temperature-digital-twin\/#primaryimage"},"thumbnailUrl":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/electric-car-example.webp","datePublished":"2023-08-31T11:12:59+00:00","dateModified":"2026-07-28T13:42:16+00:00","description":"Use machine learning to build a digital twin of an electric motor to ensure electric engines are the best in the market.","breadcrumb":{"@id":"https:\/\/www.neuraldesigner.com\/learning\/examples\/electric-motor-temperature-digital-twin\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.neuraldesigner.com\/learning\/examples\/electric-motor-temperature-digital-twin\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.neuraldesigner.com\/learning\/examples\/electric-motor-temperature-digital-twin\/#primaryimage","url":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/electric-car-example.webp","contentUrl":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/electric-car-example.webp","width":1200,"height":628,"caption":"Electric car"},{"@type":"BreadcrumbList","@id":"https:\/\/www.neuraldesigner.com\/learning\/examples\/electric-motor-temperature-digital-twin\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.neuraldesigner.com\/"},{"@type":"ListItem","position":2,"name":"Learning","item":"https:\/\/www.neuraldesigner.com\/learning\/"},{"@type":"ListItem","position":3,"name":"Build a digital twin of an electric motor using machine learning"}]},{"@type":"WebSite","@id":"https:\/\/www.neuraldesigner.com\/#website","url":"https:\/\/www.neuraldesigner.com\/","name":"Neural Designer","description":"Explanable AI Platform","publisher":{"@id":"https:\/\/www.neuraldesigner.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.neuraldesigner.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.neuraldesigner.com\/#organization","name":"Neural Designer","url":"https:\/\/www.neuraldesigner.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.neuraldesigner.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/05\/logo-neural-1.png","contentUrl":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/05\/logo-neural-1.png","width":1024,"height":223,"caption":"Neural Designer"},"image":{"@id":"https:\/\/www.neuraldesigner.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/NeuralDesigner","https:\/\/es.linkedin.com\/showcase\/neuraldesigner\/"]}]}},"_links":{"self":[{"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/learning\/3483","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/learning"}],"about":[{"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/types\/learning"}],"author":[{"embeddable":true,"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/users\/11"}],"version-history":[{"count":18,"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/learning\/3483\/revisions"}],"predecessor-version":[{"id":22846,"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/learning\/3483\/revisions\/22846"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/media\/2265"}],"wp:attachment":[{"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/media?parent=3483"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/categories?post=3483"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/tags?post=3483"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}