{"id":24119,"date":"2026-09-24T13:19:03","date_gmt":"2026-09-24T11:19:03","guid":{"rendered":"https:\/\/www.neuraldesigner.com\/?post_type=learning&#038;p=24119"},"modified":"2026-09-24T13:56:24","modified_gmt":"2026-09-24T11:56:24","slug":"mnist-handwritten-digit-classification","status":"publish","type":"learning","link":"https:\/\/www.neuraldesigner.com\/learning\/examples\/mnist-handwritten-digit-classification\/","title":{"rendered":"MNIST handwritten digit classification"},"content":{"rendered":"<style>\n.ndb{--ndb-code-bg:#f3f7fa;--ndb-code-fg:#12354b;box-sizing:border-box;width:100%;margin-left:0;margin-right:0;padding:22px 0 14px;background:#fff;color:#1b2635;font-family:\"Outfit\",\"Roboto\",Arial,sans-serif}\n.ndb *{box-sizing:border-box}.ndb-wrap{width:min(calc(100% - 48px),1160px);margin:0 auto}.ndb a{text-decoration:none}\n.ndb-executive{margin:0 0 34px;padding:32px;border-radius:20px;}\n.ndb-executive h2{margin:0 0 12px;font-size:30px}.ndb-executive p{font-size:18px;line-height:1.55}\n.ndb-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:22px}.ndb-kpi{padding:18px;border:1px solid rgba(255,255,255,.18);border-radius:14px}.ndb-kpi strong{display:block;font-size:25px}.ndb-kpi span{font-size:13px}\n.ndb-actions,.ndb-audience,.ndb-downloads{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:22px 0}\n.ndb-toc{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 0 42px;padding:0;list-style:none}.ndb-toc a,.ndb-audience span{display:block;padding:9px 14px;border-radius:20px;background:#e9f2f8;color:#12354b;font-weight:600}\n.ndb-card{margin:0 0 54px;scroll-margin-top:90px}.ndb-card h2{margin:0 0 20px;padding-bottom:12px;border-bottom:1px solid #dbe5ec;color:#001233;font-size:24px}.ndb-card h3{margin:30px 0 12px;color:#12354b;font-size:19px}.ndb-card p,.ndb-card li{font-size:16.5px;line-height:1.6}.ndb-card img{display:block;width:auto;max-width:min(640px,100%);height:auto;margin:24px auto;border-radius:12px}.ndb-card img.ndb-architecture{width:min(1000px,100%);max-width:100%;margin:0 auto}.ndb-card>figure{width:min(760px,100%);margin:24px auto}.ndb-card figcaption{color:#405361;font-size:14px;line-height:1.45}.ndb-architecture-figure{width:min(1000px,100%)!important}.ndb-architecture-link{display:block}.ndb-architecture-figure figcaption{margin-top:12px}\n.ndb-value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0}.ndb-value{padding:20px;border:1px solid #dce8ef;border-radius:14px;background:#f8fbfd}\n.ndb-note{margin:20px 0;padding:18px 20px;border-left:4px solid #56a1c8;border-radius:0 12px 12px 0;background:#f6fafc}.ndb-note--warning{border-left-color:#d79a29;background:#fff9ed}\n.ndb-table-scroll{max-width:100%;overflow-x:auto}.ndb-card table{width:auto;max-width:100%;margin:24px auto;border-collapse:collapse;background:#fff}.ndb-card th,.ndb-card td{padding:11px 16px;border-bottom:1px solid #e2e9ee}.ndb-card thead th{background:#12354b!important;color:#fff!important}.ndb-card tbody th{background:#eaf2f6!important;color:#12354b!important;text-align:left}.ndb-card tbody tr:nth-child(even) th{background:#f4f8fa!important}.ndb-card tbody td{color:#33424f!important}\n.ndb-pipeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:12px;margin:24px 0;padding:0;list-style:none}.ndb-pipeline>li{padding:16px;border:1px solid #dce8ef;border-radius:12px;background:#f8fbfd}.ndb-pipeline>li strong{display:block;margin-bottom:5px;color:#12354b}.ndb-pipeline>br,.ndb-pipeline>p:empty{display:none!important}\n.ndb-figure-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px}.ndb-figure-grid>.ndb-figure-item{min-width:0}.ndb-figure-grid>br,.ndb-figure-grid>p:empty{display:none!important}.ndb-figure-grid figure{margin:0;padding:16px;border:1px solid #dce8ef;border-radius:15px;background:#f8fbfd}.ndb-figure-grid img{width:100%;max-width:100%;margin:0 auto 12px}\n.ndb-comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;margin:24px 0}.ndb-comparison-grid>.ndb-comparison-item{min-width:0}.ndb-comparison-grid>br,.ndb-comparison-grid>p:empty{display:none!important}.ndb-interactive-bundle{width:min(840px,100%);margin:24px auto}.ndb-interactive-figure{margin:0;padding:14px;border:1px solid #dce8ef;border-radius:15px;background:#fff;overflow:hidden}.ndb-interactive-chart{width:100%;height:500px;min-height:500px}.ndb-interactive-figure figcaption{margin-top:10px}.ndb-figure-grid .ndb-interactive-chart,.ndb-comparison-grid .ndb-interactive-chart{height:520px;min-height:520px}\n.ndb pre,.ndb .wp-block-code,.ndb pre[class*=\"language-\"]{display:block;max-width:100%;overflow:auto;padding:18px 20px!important;border:1px solid #d5e2e9!important;border-radius:12px!important;background:var(--ndb-code-bg)!important;color:var(--ndb-code-fg)!important;box-shadow:none!important;text-shadow:none!important;white-space:pre}\n.ndb pre code,.ndb pre code *,.ndb .wp-block-code code,.ndb .wp-block-code code *{border:0!important;background:transparent!important;color:var(--ndb-code-fg)!important;box-shadow:none!important;text-shadow:none!important;font-family:Consolas,\"Liberation Mono\",monospace!important;font-size:14px;line-height:1.55}\n.ndb :not(pre)>code{padding:.08em .32em;border-radius:4px;background:#e6eef3!important;color:#12354b!important}\n.ndb .ndb-expression{max-width:100%;overflow:auto;margin:22px auto;padding:18px 20px;border:1px solid #d5e2e9;border-radius:12px;background:#fff!important;color:#12354b!important;text-align:center}\n.ndb .ndb-expression math,.ndb .ndb-expression mjx-container,.ndb .ndb-expression .MathJax{background:transparent!important;color:#12354b!important}\n@media(max-width:1020px){.ndb-figure-grid,.ndb-comparison-grid{grid-template-columns:1fr}.ndb-figure-grid .ndb-interactive-chart,.ndb-comparison-grid .ndb-interactive-chart{height:500px;min-height:500px}}\n@media(max-width:820px){.ndb-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ndb-value-grid{grid-template-columns:1fr}}\n@media(max-width:620px){.ndb{padding:12px 0}.ndb-kpis{grid-template-columns:1fr}.ndb-executive{padding:24px 20px}.ndb-card table{font-size:13px}.ndb-card th,.ndb-card td{padding:9px 8px}}\n.ndb .ndb-calculator-grid>br,.ndb .ndb-calculator-grid>p:empty{display:none!important}\n\/* nd-shared-components:start *\/html body.nds-shared:not(.wp-admin), html body.nds-shared:not(.wp-admin) :is(.site-main,.site-content,.entry-content,.page-content,.nd-native-article,.nd-native-article__content,.nd-home-page,.nd-product-page,.nd-company-page,.nd-contact-page,.nd-downloads-page,.nd-account-page,.nd-plain-page,.nd-blog-page,.ndlh-page,.ndhub,.ndth,.ndts,.ndareas,.ndarea,.ndeu), html body:not(.wp-admin) :is(.ndb,.nds,.ndg,.nd-page-surface){background-color:#fff!important;background-image:none!important} :is(.ndb,.nds) :is(.ndb-executive,.nds-executive,.ndb-highlight){background:#f4f7f9;color:#193645} :is(.ndb,.nds) :is(.ndb-executive,.nds-executive,.ndb-highlight) :is(h2,h3){color:#193645} :is(.ndb,.nds) :is(.ndb-executive,.nds-executive,.ndb-highlight) p{color:#52636f} :is(.ndb,.nds) :is(.ndb-kpi,.nds-kpi){background:#245e80;color:#fff} :is(.ndb,.nds) :is(.ndb-kpi,.nds-kpi) strong{color:#fff} :is(.ndb,.nds) :is(.ndb-kpi,.nds-kpi) span{color:#d9edf7} :is(.ndb,.nds) :is(.aui-button,.ndb-actions a,.ndb-downloads a,.nds-actions a,.nds-downloads a){box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:48px;max-width:100%;height:auto;padding:11px 20px;background:#176b91;color:#fff;border:1px solid #176b91;border-radius:6px;font-family:Roboto,\"Segoe UI\",Arial,sans-serif;font-size:16px;font-weight:700;line-height:1.5;letter-spacing:normal;text-align:center;text-decoration:none;text-transform:none;white-space:normal;overflow-wrap:anywhere;box-shadow:none;cursor:pointer} :is(.ndb,.nds) :is(.aui-button,.ndb-actions a,.ndb-downloads a,.nds-actions a,.nds-downloads a):is(:hover,:focus-visible){background:#125574;color:#fff;border-color:#125574} :is(.ndb,.nds) :is(.aui-button,.ndb-actions a,.ndb-downloads a,.nds-actions a,.nds-downloads a):focus-visible{outline:3px solid #176b91;outline-offset:4px} :is(.ndb,.nds) .aui-button.aui-button--secondary{background:#fff;color:#176b91;border-color:#176b91} :is(.ndb,.nds) .aui-button.aui-button--secondary:is(:hover,:focus-visible){background:#f4f7f9;color:#125574;border-color:#125574} :is(.ndb,.nds) .aui-button:is(:disabled,[aria-disabled=\"true\"],.disabled){opacity:.55;cursor:not-allowed} @media(forced-colors:active){:is(.ndb,.nds) .aui-button{border-color:ButtonText}:is(.ndb,.nds) .aui-button:focus-visible{outline-color:Highlight}} html body :is(.nd-native-article__content,.entry-content,.page-content,.ndb,.nds,.ndg) :is(.nd-table-scroll,.ndb-table-scroll,.nds-table-scroll,.ndg-table-wrap,.ndb-table-wrap,.ndb-confusion-wrap,.wp-block-table){box-sizing:border-box;display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;overflow-x:auto!important;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch} html body :is(.nd-native-article__content,.entry-content,.page-content,.ndb,.nds,.ndg) :is(.nd-table-scroll,.ndb-table-scroll,.nds-table-scroll,.ndg-table-wrap,.ndb-table-wrap,.ndb-confusion-wrap,.wp-block-table)>table, html body :is(.nd-native-article__content,.entry-content,.page-content,.ndb,.nds,.ndg) table.nd-content-table{display:table!important;width:auto!important;min-width:0!important;max-width:100%!important;margin:24px auto!important;float:none!important;table-layout:auto!important;overflow:visible!important} html body :is(.nd-native-article__content,.entry-content,.page-content,.ndb,.nds,.ndg) .nd-table-scroll:focus-visible{outline:3px solid #176b91;outline-offset:3px} html body.nds-shared:not(.wp-admin) .aui-button.aui-button, html body :is(.ndb,.nds,.nd-page-surface) .aui-button.aui-button{box-sizing:border-box;min-height:48px!important;height:auto!important;padding:11px 20px!important;border:1px solid #176b91!important;border-radius:6px!important;font-family:Roboto,\"Segoe UI\",Arial,sans-serif!important;font-size:16px!important;font-weight:700!important;line-height:1.5!important;color:#fff!important;-webkit-text-fill-color:#fff!important;background:#176b91!important;text-shadow:none!important;box-shadow:none!important;transform:none!important;translate:none!important;scale:none!important;rotate:none!important;transition:none!important;animation:none!important} html body.nds-shared:not(.wp-admin) .aui-button.aui-button:is(:hover,:focus-visible), html body :is(.ndb,.nds,.nd-page-surface) .aui-button.aui-button:is(:hover,:focus-visible){color:#fff!important;-webkit-text-fill-color:#fff!important;background:#125574!important;border-color:#125574!important} html body.nds-shared:not(.wp-admin) .aui-button.aui-button:is(:hover,:focus,:focus-visible), html body :is(.ndb,.nds,.nd-page-surface) .aui-button.aui-button:is(:hover,:focus,:focus-visible){box-shadow:none!important;transform:none!important;translate:none!important;scale:none!important;rotate:none!important;transition:none!important;animation:none!important} html body.nds-shared:not(.wp-admin) .aui-button.aui-button.aui-button--secondary, html body :is(.ndb,.nds,.nd-page-surface) .aui-button.aui-button.aui-button--secondary{color:#176b91!important;-webkit-text-fill-color:#176b91!important;background:#fff!important;border-color:#176b91!important} html body.nds-shared:not(.wp-admin) .aui-button.aui-button.aui-button--secondary:is(:hover,:focus-visible), html body :is(.ndb,.nds,.nd-page-surface) .aui-button.aui-button.aui-button--secondary:is(:hover,:focus-visible){color:#125574!important;-webkit-text-fill-color:#125574!important;background:#f4f7f9!important;border-color:#125574!important} html body.nds-shared:not(.wp-admin) .aui-button.aui-button:focus-visible, html body :is(.ndb,.nds,.nd-page-surface) .aui-button.aui-button:focus-visible{outline:3px solid #176b91!important;outline-offset:4px!important} html body.nds-shared:not(.wp-admin) .aui-button.aui-button :is(span,strong,b,em,i), html body :is(.ndb,.nds,.nd-page-surface) .aui-button.aui-button :is(span,strong,b,em,i){color:inherit!important;-webkit-text-fill-color:inherit!important} @media(forced-colors:active){html body .aui-button.aui-button{border-color:ButtonText!important}html body .aui-button.aui-button:focus-visible{outline-color:Highlight!important}} html body{--nd-content-width:1160px;--nd-content-gutter:24px} @media(max-width:640px){html body{--nd-content-gutter:20px}} html body.nds-shared .aui{--aui-width:var(--nd-content-width);--aui-gutter:var(--nd-content-gutter)} html body.nds-shared :is(.aui-container,.nd-native-article__content,.nds-article-content,.nd-home-wrap,.nd-product-wrap,.nd-company-main,.ndlh-wrap,.nd-blog-main,.ndhub-wrap,.ndth-wrap,.ndts-wrap,.ndareas-wrap,.ndarea-wrap,.ndeu-wrap,.nd-contact-wrap,.nd-downloads-wrap,.nd-plain-wrap,.nd-account-hero-inner,.nd-account-main), html body :is(.nd-content-container,.ndb-wrap,.nds-wrap,.ndg-wrap){box-sizing:border-box!important;width:min(calc(100% - 2 * var(--nd-content-gutter)),var(--nd-content-width))!important;max-width:var(--nd-content-width)!important;margin-left:auto!important;margin-right:auto!important;padding-left:0!important;padding-right:0!important} html body :is(.ndb,.nds,.ndg){box-sizing:border-box!important;width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important;text-align:left} html body :is(.aui-container,.nd-native-article__content,.nds-article-content,.nd-content-container) :is(.aui-container,.nd-content-container,.ndb-wrap,.nds-wrap,.ndg-wrap,.nds-editorial-wrap){width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important} html body.nds-shared :is(.nd-home-service-grid,.nds-editorial-wrap){width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important} html body.nds-shared :is(.aui-content-copy,.aui-section-heading,.aui-section-note,.nds-legal-copy,.nd-legal-copy):not(.aui-container):not(.nd-content-container){width:100%!important;max-width:none!important;text-align:left!important} html body.nds-shared :is(.aui-section-heading p,.nds-learning-closing h2,.aui-closing-inner>div){max-width:none!important;text-align:left!important} html body :is(.nds-article-section,.ndb-wrap>.ndb-card,.nds-wrap>.nds-card){box-sizing:border-box!important;width:100%!important;max-width:100%!important;padding-left:0!important;padding-right:0!important;text-align:left!important} html body:not(.wp-admin) :is(.nds-article-section,.ndb-card,.nds-card,.aui-content-copy,.nds-legal-copy,.nd-legal-copy,.nd-native-article__content,.nds-article-content,.nds-editorial-page-content,.nd-content-container)>:is(p,h1,h2,h3,h4,ul,ol):not(:has(img,svg,canvas,iframe,video,math,mjx-container,.MathJax)){max-width:none!important;text-align:left!important} html body :is(.ndb,.nds) :is(.nds-comparison-grid,.ndb-comparison-grid,.ndb-figure-grid){width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important} html body.nds-shared main.site-main>.page-content:not(.aui-container):not(:has(.aui-container,.nd-native-article__content,.nds-article-content,.nd-content-container,.nd-home-wrap,.nd-product-wrap,.nd-company-main,.ndlh-wrap,.nd-blog-main,.ndhub-wrap,.ndth-wrap,.ndts-wrap,.ndareas-wrap,.ndarea-wrap,.ndeu-wrap,.nd-contact-wrap,.nd-downloads-wrap,.nd-plain-wrap,.nd-account-hero-inner,.nd-account-main,.ndb-wrap,.nds-wrap,.ndg-wrap)){box-sizing:border-box!important;width:min(calc(100% - 2 * var(--nd-content-gutter)),var(--nd-content-width))!important;max-width:var(--nd-content-width)!important;margin-left:auto!important;margin-right:auto!important;padding-left:0!important;padding-right:0!important} html body :is(main,.ndb,.nds,.ndg,.nd-content-container) :is(figure,.wp-caption,.nd-media-block):not(.wp-block-gallery){ float:none!important;margin-left:auto!important;margin-right:auto!important;max-width:100%;box-sizing:border-box; } html body :is(main,.ndb,.nds,.ndg,.nd-content-container) :is(.nd-content-image,figure>img,figure>a>img,figure>picture>img,.wp-caption>img,.wp-caption>a>img,.nd-media-block>img,.nd-media-block>a>img,.nd-media-block>picture>img){ display:block!important;float:none!important;margin-left:auto!important;margin-right:auto!important;max-width:100%!important;box-sizing:border-box; } html body :is(main,.ndb,.nds,.ndg,.nd-content-container) :is(.nd-media-link,.nd-media-block>picture){display:block;max-width:100%;margin-left:auto!important;margin-right:auto!important} html body :is(.nd-media-group,.ndb-figure-grid,.ndb-selection-grid,.nds-figure-grid,.ndb-comparison-grid,.nds-comparison-grid,.nd-comparison-grid,.wp-block-gallery){ display:flex!important;flex-wrap:wrap!important;justify-content:center!important;align-items:flex-start!important;gap:24px!important; max-width:100%!important;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box; } html body :is(.ndb-figure-grid,.ndb-selection-grid,.nds-figure-grid,.ndb-comparison-grid,.nds-comparison-grid,.nd-comparison-grid)>:is(figure,.ndb-figure-item,.nds-figure-item,.ndb-comparison-item,.nds-comparison-item,.nd-comparison-item,.ndb-interactive-bundle,.nds-interactive-bundle){ flex:0 1 calc((100% - 24px)\/2)!important;width:calc((100% - 24px)\/2)!important;min-width:0!important;max-width:100%!important;margin:0!important;box-sizing:border-box; } html body .nd-media-group>:is(img,a,picture,figure,.nd-media-item){flex:0 1 auto;min-width:0;max-width:calc((100% - 24px)\/2)!important;margin:0!important;box-sizing:border-box} html body .nd-media-group>:is(a,picture,.nd-media-item)>img{max-width:100%!important} html body .nd-media-group>:is(.nd-content-image,.nd-media-link,.nd-media-item){margin-left:0!important;margin-right:0!important} html body :is(.nd-media-group,.ndb-figure-grid,.ndb-selection-grid,.nds-figure-grid,.ndb-comparison-grid,.nds-comparison-grid,.nd-comparison-grid)>:is(br,p:empty){display:none!important} html body .nd-media-helper{display:none!important} @media(max-width:1020px){ html body :is(.ndb-figure-grid,.ndb-selection-grid,.nds-figure-grid,.ndb-comparison-grid,.nds-comparison-grid,.nd-comparison-grid)>:is(figure,.ndb-figure-item,.nds-figure-item,.ndb-comparison-item,.nds-comparison-item,.nd-comparison-item,.ndb-interactive-bundle,.nds-interactive-bundle){flex-basis:100%!important;width:100%!important} } @media(max-width:640px){ html body .nd-media-group>:is(img,a,picture,figure,.nd-media-item){max-width:100%!important} } html body.nds-shared .aui.nds-content-scope :is(h1,h2,h3,h4,h5,h6), html body.nds-shared :is(main,.ndb,.nds,.ndg,.nd-content-container) :is(h1,h2,h3,h4,h5,h6), html body :is(main,.ndb,.nds,.ndg,.nd-content-container) :is(h1,h2,h3,h4,h5,h6){ font-family:Outfit,Roboto,Arial,sans-serif!important;font-weight:600!important; font-style:normal;letter-spacing:-.02em;text-transform:none;overflow-wrap:anywhere; } html body.nds-shared :is(main,.ndb,.nds,.ndg,.nd-content-container) :is(h1,h2,h3,h4,h5,h6)>:is(span,strong,b,a), html body :is(main,.ndb,.nds,.ndg,.nd-content-container) :is(h1,h2,h3,h4,h5,h6)>:is(span,strong,b,a){ font-family:inherit!important;font-weight:inherit!important;font-size:inherit!important;line-height:inherit!important; } html body.nds-shared .aui.nds-content-scope .nd-section-title, html body :is(.nd-section-title,.ndb-card>h2,.nds-card>h2){ display:block!important;box-sizing:border-box;width:100%!important;max-width:none!important; color:#193645!important;font-size:32px!important;font-weight:600!important;line-height:1.25!important; text-align:left!important;letter-spacing:-.02em!important; margin:0 0 20px!important;padding:0 0 12px!important; border:0!important;border-bottom:1px solid #dbe5ec!important;border-radius:0!important; background:none!important;box-shadow:none!important; } html body .nd-section-title>:is(span,strong,b,a){color:inherit!important} html body .nd-section-title::after{content:none!important} html body :is(.nd-heading-section,.nd-heading-step){border-top:0!important} html body .nd-heading-step{display:block!important;padding-left:0!important;padding-right:0!important} html body .nd-heading-step>:is(.ndg-step__body,.nds-step-body){width:100%!important;max-width:none!important;margin-left:0!important;padding-left:0!important} html body :is(.nd-heading-number-source,.nd-heading-divider){display:none!important} html body .nd-section-title>.nd-heading-number{display:inline!important;color:inherit!important;background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;margin:0!important;font:inherit!important;white-space:normal} @media(max-width:640px){html body.nds-shared .aui.nds-content-scope .nd-section-title,html body :is(.nd-section-title,.ndb-card>h2,.nds-card>h2){font-size:28px!important}} html body{--nd-photo-tint:rgba(220,238,250,.9);--nd-photo-surface:#dceefa} html body :is(.ndlh-area-card,.nd-photo-card){position:relative;isolation:isolate;overflow:hidden;background-color:var(--nd-photo-surface)!important} html body .nd-photo-card{background-image:var(--nd-photo-bg,none);background-size:cover;background-position:center} html body :is(.ndlh-area-card,.nd-photo-card)::before{ content:\"\"!important;position:absolute!important;inset:0!important;z-index:1!important; background:var(--nd-photo-tint)!important;opacity:1!important;pointer-events:none!important; } html body :is(.ndlh-area-card,.nd-photo-card)>img{ position:absolute!important;inset:0!important;width:100%!important;height:100%!important; max-width:100%!important;object-fit:cover!important;margin:0!important;z-index:0!important; } html body :is(.ndlh-area-card,.nd-photo-card)>:is(.ndlh-area-body,.nds-card-body,.nd-photo-card__body){position:relative!important;z-index:2!important} html body .nd-photo-card__body{padding:24px;color:#193645} html body :is(.ndlh-area-card,.nd-photo-card) :is(.ndlh-area-body,.nds-card-body,.nd-photo-card__body) :is(h2,h3,h4){color:#193645!important} html body :is(.ndlh-area-card,.nd-photo-card) :is(.ndlh-area-body,.nds-card-body,.nd-photo-card__body) :is(p,li){color:#425563!important} html body :is(.ndlh-area-card,.nd-photo-card) :is(.ndlh-area-body,.nds-card-body,.nd-photo-card__body) a:not(:is(.aui-button,.button,.wp-element-button,.wp-block-button__link,[role=\"button\"])){color:#125574!important} html body :is(.ndareas-group-head,.ndhub-card-head,.nd-photo-header){ background-color:var(--nd-photo-surface)!important; background-image:linear-gradient(var(--nd-photo-tint),var(--nd-photo-tint)),var(--nd-photo-bg,var(--ndareas-bg,var(--ndhub-bg,none)))!important; background-size:cover!important;background-position:center!important; color:#193645; }\/* nd-shared-components:end *\/\n\n.nd-chart-bundle{width:100%;max-width:760px;min-width:0;margin:24px auto;box-sizing:border-box;position:relative;overflow-x:auto;text-align:center;background:#fff;color:#30343b}\n.nd-chart-bundle .nd-chart-host{width:100%;height:440px;min-width:0;box-sizing:border-box}\n.nd-chart-bundle:not(.is-ready) .nd-chart-host{position:absolute;visibility:hidden}\n.nd-chart-bundle.is-ready .nd-chart-fallback{display:none!important}\n.nd-chart-bundle .nd-chart-fallback{display:block;margin:0 auto!important;width:100%;height:auto;max-width:100%}\n.nd-chart-bundle>script,.nd-chart-bundle>br,.nd-chart-bundle>p:empty{display:none!important}\n@media(max-width:600px){.nd-chart-bundle{margin:20px auto}.nd-chart-bundle .nd-chart-host{height:440px}}\n\n.nd-native-figure{width:min(760px,100%);margin:24px auto!important}.nd-native-figure figcaption{margin-top:12px;text-align:left}\n\n\/* Saved Calculate outputs examples. *\/\n.nd-output-examples{margin:28px 0}.nd-output-examples .nd-output-example{min-width:0}.nd-output-examples blockquote{margin:16px 0;padding:12px 18px;border-left:3px solid #176b91;background:#f4f7f9;color:#193645;overflow-wrap:anywhere}.nd-output-examples figure{margin-top:16px;margin-bottom:16px}.nd-output-examples figcaption{margin-top:12px;overflow-wrap:anywhere}.nd-output-examples img{height:auto}.nd-output-examples .nd-output-digit{width:112px!important;height:112px!important;image-rendering:pixelated}.nd-output-examples h4{font-size:21px;margin:0 0 16px}.nd-output-examples .nd-output-result{margin:16px 0}\n<\/style>\n<div class=\"ndb\">\n<div class=\"ndb-wrap\">\n<section class=\"ndb-executive\">\n<h2>Classify handwritten digits with a convolutional network<\/h2>\n<p>A convolutional classifier recognizes ten handwritten digit classes in 10,000 grayscale images. The saved model achieves 96.10% accuracy on its 2,000 testing images, with all confusion counts reproduced by exported inference.<\/p>\n<div class=\"ndb-kpis\">\n<div class=\"ndb-kpi\"><strong>10,000<\/strong><span>Images<\/span><\/div>\n<div class=\"ndb-kpi\"><strong>10<\/strong><span>Classes<\/span><\/div>\n<div class=\"ndb-kpi\"><strong>2,000<\/strong><span>Saved testing-role samples<\/span><\/div>\n<div class=\"ndb-kpi\"><strong>96.10%<\/strong><span>Verified test accuracy<\/span><\/div>\n<\/div>\n<div class=\"ndb-actions\"><a class=\"aui aui-button\" href=\"#7-model-deployment\">Explore the model<\/a><a class=\"aui aui-button aui-button--secondary\" href=\"https:\/\/www.tensorflow.org\/datasets\/catalog\/mnist\">View source dataset<\/a><\/div>\n<\/section>\n<ul class=\"ndb-toc\">\n<li><a href=\"#1-industrial-challenge\">Industrial challenge<\/a><\/li><li><a href=\"#2-data-set\">Data set<\/a><\/li><li><a href=\"#3-model\">Model<\/a><\/li><li><a href=\"#4-training\">Training<\/a><\/li><li><a href=\"#5-selection\">Model selection<\/a><\/li><li><a href=\"#6-testing\">Testing<\/a><\/li><li><a href=\"#7-model-deployment\">Deployment<\/a><\/li><li><a href=\"#8-limitations\">Limitations<\/a><\/li>\n<\/ul>\n<section class=\"ndb-card\" id=\"1-industrial-challenge\"><h2>1. Industrial challenge<\/h2><p>Digit recognition is a compact introduction to visual pattern classification and document-processing systems. This example maps an already cropped digit image to one of ten classes; it does not locate digits in a page or read multi-digit fields.<\/p><div class=\"ndb-value-grid\"><div class=\"ndb-value\"><h3>Image preprocessing<\/h3><p>Preserve 28 \u00d7 28 grayscale inputs and the saved scaling layer.<\/p><\/div><div class=\"ndb-value\"><h3>Pattern classification<\/h3><p>Map an image to one of the ten digit classes.<\/p><\/div><div class=\"ndb-value\"><h3>Integration planning<\/h3><p>Add crop detection and rejection rules before a document workflow.<\/p><\/div><\/div><div class=\"ndb-audience\"><span>Machine-learning practitioners<\/span><span>Data and analytics teams<\/span><\/div><div class=\"ndb-note\">One cropped, grayscale digit per image. The model output order is eight, five, four, nine, one, seven, six, three, two, zero.<\/div><\/section>\n<section class=\"ndb-card\" id=\"2-data-set\"><h2>2. Data set<\/h2><p>The supplied collection contains 10,000 MNIST digit images at 28 \u00d7 28 pixels, with class counts matching the standard MNIST test collection. This project repartitions those images into training, validation and testing; it is not the standard 60,000-training \/ 10,000-test MNIST benchmark protocol.<\/p><p><a href=\"https:\/\/www.tensorflow.org\/datasets\/catalog\/mnist\">Dataset source and access conditions<\/a>. Source reviewed on 24 September 2026.<\/p><div class=\"nd-table-scroll\" tabindex=\"0\"><table><caption>Target class distribution table<\/caption><thead><tr><th scope=\"col\"><\/th><th scope=\"col\">Images<\/th><th scope=\"col\">Share (%)<\/th><\/tr><\/thead><tbody><tr><th scope=\"row\">eight<\/th><td>974<\/td><td>9.74<\/td><\/tr><tr><th scope=\"row\">five<\/th><td>892<\/td><td>8.92<\/td><\/tr><tr><th scope=\"row\">four<\/th><td>982<\/td><td>9.82<\/td><\/tr><tr><th scope=\"row\">nine<\/th><td>1009<\/td><td>10.09<\/td><\/tr><tr><th scope=\"row\">one<\/th><td>1135<\/td><td>11.35<\/td><\/tr><tr><th scope=\"row\">seven<\/th><td>1028<\/td><td>10.28<\/td><\/tr><tr><th scope=\"row\">six<\/th><td>958<\/td><td>9.58<\/td><\/tr><tr><th scope=\"row\">three<\/th><td>1010<\/td><td>10.10<\/td><\/tr><tr><th scope=\"row\">two<\/th><td>1032<\/td><td>10.32<\/td><\/tr><tr><th scope=\"row\">zero<\/th><td>980<\/td><td>9.80<\/td><\/tr><\/tbody><\/table><\/div><figure class=\"nd-native-figure\"><div aria-label=\"Interactive chart; scroll horizontally on narrow screens\" class=\"nd-chart-bundle\" data-native-chart=\"nd-mnist-t1-s2-20260924\" role=\"group\" tabindex=\"0\"><div aria-label=\"Target class distribution pie chart\" class=\"nd-chart-host\" id=\"nd-mnist-t1-s2-20260924\" role=\"img\"><\/div><p class=\"nd-chart-fallback\">Target class distribution pie chart. Enable JavaScript to explore the chart.<\/p><script type=\"application\/json\">{\"config\":{\"displayModeBar\":true,\"displaylogo\":false,\"editable\":false,\"responsive\":true,\"scrollZoom\":true,\"toImageButtonOptions\":{\"filename\":\"neural-designer-chart\",\"format\":\"svg\"}},\"data\":[{\"direction\":\"clockwise\",\"hovertemplate\":\"%{label}\\u003cbr\\u003e%{value}\\u003cbr\\u003e%{percent}\\u003cextra\\u003e\\u003c\/extra\\u003e\",\"labels\":[\"eight\",\"five\",\"four\",\"nine\",\"one\",\"seven\",\"six\",\"three\",\"two\",\"zero\"],\"marker\":{\"colors\":[\"#d2ecf9\",\"#a6d9f2\",\"#79c5ec\",\"#4db2e5\",\"#209fdf\",\"#1b88bf\",\"#17729f\",\"#125b7f\",\"#0e4460\",\"#092d40\"]},\"showlegend\":true,\"sort\":false,\"textinfo\":\"label+percent\",\"type\":\"pie\",\"values\":[9.739999771118164,8.920000076293945,9.819999694824219,10.09000015258789,11.350000381469727,10.279999732971191,9.579999923706055,10.100000381469727,10.319999694824219,9.800000190734863]}],\"layout\":{\"autosize\":true,\"font\":{\"color\":\"#30343b\",\"family\":\"Arial, sans-serif\",\"size\":14},\"hovermode\":\"closest\",\"legend\":{},\"margin\":{\"b\":68,\"l\":72,\"pad\":4,\"r\":36,\"t\":112},\"paper_bgcolor\":\"#ffffff\",\"plot_bgcolor\":\"#ffffff\",\"title\":{\"automargin\":true,\"pad\":{\"t\":48},\"text\":\"Target class distribution pie chart\",\"x\":0.5,\"xanchor\":\"center\",\"y\":1,\"yanchor\":\"top\",\"yref\":\"container\"}}}<\/script><\/div><figcaption>Class distribution in the complete supplied dataset.<\/figcaption><\/figure><div class=\"nd-table-scroll\" tabindex=\"0\"><table><thead><tr><th scope=\"col\">Subset<\/th><th scope=\"col\">Samples<\/th><\/tr><\/thead><tbody><tr><th scope=\"row\">Training<\/th><td>6000<\/td><\/tr><tr><th scope=\"row\">Validation<\/th><td>2000<\/td><\/tr><tr><th scope=\"row\">Testing<\/th><td>2000<\/td><\/tr><\/tbody><\/table><\/div><div class=\"nd-table-scroll\" tabindex=\"0\"><table><caption>Images dimension table<\/caption><thead><tr><th scope=\"col\"><\/th><th scope=\"col\">Width<\/th><th scope=\"col\">Height<\/th><th scope=\"col\">Channels<\/th><th scope=\"col\">Images<\/th><\/tr><\/thead><tbody><tr><th scope=\"row\">Dimensions<\/th><td>28<\/td><td>28<\/td><td>1<\/td><td>10000<\/td><\/tr><\/tbody><\/table><\/div><p>The saved augmentation settings have zero rotation and translation, with no random reflections. Images are read in class-folder order and sorted filename order within each class.<\/p><div class=\"ndb-note\">The project stores a 60\/20\/20 sample partition (rounded for the 1,999-image collection). Results apply only to this example\u2019s split. Group-level independence is not documented.<\/div><\/section>\n<section class=\"ndb-card\" id=\"3-model\"><h2>3. Model<\/h2><p>The following configuration comes from the saved trained model. The same topology is used before and after training; no separate architecture-selection run is recorded.<\/p><div class=\"nd-table-scroll\" tabindex=\"0\"><table><thead><tr><th scope=\"col\">Layer<\/th><th scope=\"col\">Input shape<\/th><th scope=\"col\">Output shape<\/th><th scope=\"col\">Configuration<\/th><\/tr><\/thead><tbody><tr><th scope=\"row\">Scaling<\/th><td>28 \u00d7 28 \u00d7 1<\/td><td>28 \u00d7 28 \u00d7 1<\/td><td>ImageMinMax<\/td><\/tr><tr><th scope=\"row\">Convolutional<\/th><td>28 \u00d7 28 \u00d7 1<\/td><td>28 \u00d7 28 \u00d7 8<\/td><td>ReLU; 8 filters, 3 \u00d7 3<\/td><\/tr><tr><th scope=\"row\">Pooling<\/th><td>28 \u00d7 28 \u00d7 8<\/td><td>14 \u00d7 14 \u00d7 8<\/td><td>MaxPooling<\/td><\/tr><tr><th scope=\"row\">Flatten<\/th><td>14 \u00d7 14 \u00d7 8<\/td><td>1568<\/td><td><\/td><\/tr><tr><th scope=\"row\">Dense<\/th><td>1568<\/td><td>128<\/td><td>ReLU<\/td><\/tr><tr><th scope=\"row\">Dense<\/th><td>128<\/td><td>10<\/td><td>Softmax<\/td><\/tr><\/tbody><\/table><\/div><p>Sigmoid or softmax outputs are uncalibrated model scores. The predicted class is the label with the largest output score.<\/p><figure class=\"ndb-architecture-figure\"><a class=\"ndb-architecture-link\" href=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/09\/nd-mnist-t2-s1-20260924.png\" rel=\"noopener\" target=\"_blank\"><img decoding=\"async\" alt=\"MNIST handwritten digit classification \u2014 saved neural network architecture\" class=\"ndb-architecture\" src=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/09\/nd-mnist-t2-s1-20260924.png\"\/><\/a><figcaption>Static architecture diagram rendered by Neural Designer from the saved report. The topology is the same before and after training. Open the image to inspect the layer dimensions.<\/figcaption><\/figure><\/section>\n<section class=\"ndb-card\" id=\"4-training\"><h2>4. Training strategy<\/h2><p>Training minimizes cross-entropy using Adam. The saved configuration uses a learning rate of 0.001, mini-batches of 32 and no regularization.<\/p><div class=\"nd-table-scroll\" tabindex=\"0\"><table><caption>Adaptive moment estimation results<\/caption><thead><tr><th scope=\"col\"><\/th><th scope=\"col\">Value<\/th><\/tr><\/thead><tbody><tr><th scope=\"row\">Epochs number<\/th><td>20<\/td><\/tr><tr><th scope=\"row\">Elapsed time<\/th><td>00:00:04<\/td><\/tr><tr><th scope=\"row\">Stopping criterion<\/th><td>Maximum epochs number<\/td><\/tr><tr><th scope=\"row\">Training error<\/th><td>0.022<\/td><\/tr><tr><th scope=\"row\">Validation error<\/th><td>0.107<\/td><\/tr><\/tbody><\/table><\/div><figure class=\"nd-native-figure\"><div aria-label=\"Interactive chart; scroll horizontally on narrow screens\" class=\"nd-chart-bundle\" data-native-chart=\"nd-mnist-t3-s2-20260924\" role=\"group\" tabindex=\"0\"><div aria-label=\"Adaptive moment estimation error history\" class=\"nd-chart-host\" id=\"nd-mnist-t3-s2-20260924\" role=\"img\"><\/div><p class=\"nd-chart-fallback\">Adaptive moment estimation error history. Enable JavaScript to explore the chart.<\/p><script type=\"application\/json\">{\"config\":{\"displayModeBar\":true,\"displaylogo\":false,\"editable\":false,\"responsive\":true,\"scrollZoom\":true,\"toImageButtonOptions\":{\"filename\":\"neural-designer-chart\",\"format\":\"svg\"}},\"data\":[{\"connectgaps\":false,\"line\":{\"color\":\"#529cc2\",\"dash\":\"solid\",\"width\":2},\"mode\":\"lines\",\"name\":\"Training error\",\"opacity\":1,\"showlegend\":true,\"type\":\"scatter\",\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19],\"y\":[0.5580000281333923,0.1979999989271164,0.12300000339746475,0.08720000088214874,0.05889999866485596,0.04659999907016754,0.033799998462200165,0.021900000050663948,0.014299999922513962,0.014100000262260437,0.010200000368058681,0.007139999885112047,0.0036800000816583633,0.0026000000070780516,0.0017900000093504786,0.0014799999771639705,0.0011899999808520079,0.0010999999940395355,0.0008449999731965363,0.0007650000043213367]},{\"connectgaps\":false,\"line\":{\"color\":\"#ed982a\",\"dash\":\"solid\",\"width\":2},\"mode\":\"lines\",\"name\":\"Validation error\",\"opacity\":1,\"showlegend\":true,\"type\":\"scatter\",\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19],\"y\":[0.3009999990463257,0.19300000369548798,0.16599999368190765,0.12300000339746475,0.11699999868869781,0.1120000034570694,0.11100000143051147,0.10700000077486038,0.11900000274181366,0.11500000208616257,0.12300000339746475,0.10999999940395355,0.11500000208616257,0.11400000005960464,0.11299999803304672,0.11699999868869781,0.12200000137090683,0.11999999731779099,0.12399999797344208,0.125]}],\"layout\":{\"autosize\":true,\"font\":{\"color\":\"#30343b\",\"family\":\"Arial, sans-serif\",\"size\":14},\"hovermode\":\"closest\",\"legend\":{\"orientation\":\"h\",\"x\":0.5,\"xanchor\":\"center\",\"y\":-0.24,\"yanchor\":\"top\"},\"margin\":{\"b\":120,\"l\":72,\"pad\":4,\"r\":36,\"t\":112},\"paper_bgcolor\":\"#ffffff\",\"plot_bgcolor\":\"#ffffff\",\"title\":{\"automargin\":true,\"pad\":{\"t\":48},\"text\":\"Adaptive moment estimation error history\",\"x\":0.5,\"xanchor\":\"center\",\"y\":1,\"yanchor\":\"top\",\"yref\":\"container\"},\"xaxis\":{\"automargin\":true,\"gridcolor\":\"#d9dde3\",\"linecolor\":\"#9aa3ad\",\"range\":[0,19],\"title\":{\"text\":\"Epoch\"},\"zerolinecolor\":\"#aeb6c2\"},\"yaxis\":{\"automargin\":true,\"gridcolor\":\"#d9dde3\",\"linecolor\":\"#9aa3ad\",\"range\":[0,0.6001000000000001],\"title\":{\"text\":\"Cross-entropy error\"},\"zerolinecolor\":\"#aeb6c2\"}}}<\/script><\/div><figcaption>Native training and validation error history from the supplied report.<\/figcaption><\/figure><p>The summary table and epoch history are retained as separate native report outputs. Epoch-history endpoints need not equal the restored best-validation model; they are not additional test metrics.<\/p><\/section>\n<section class=\"ndb-card\" id=\"5-selection\"><h2>5. Model selection<\/h2><p>No architecture selection or feature selection experiment is recorded. The same network topology is used before and after training. The validation subset monitors training; the reported evaluation uses the saved testing assignment.<\/p><p>A constant classifier predicting the most frequent training label (one) achieves 10.65% accuracy on the same testing images, compared with 96.10% for this model. The constant label is chosen from the training images only.<\/p><\/section>\n<section class=\"ndb-card\" id=\"6-testing\"><h2>6. Testing analysis<\/h2><p>Testing uses the 2,000 images assigned to the testing subset in the saved project. The confusion matrix and class metrics agree with exported inference, and repeated reloads preserve the same evaluation images. Rows below are actual labels; columns are predicted labels.<\/p><div class=\"nd-table-scroll\" tabindex=\"0\"><table><thead><tr><th scope=\"col\">Actual \/ predicted<\/th><th scope=\"col\">eight<\/th><th scope=\"col\">five<\/th><th scope=\"col\">four<\/th><th scope=\"col\">nine<\/th><th scope=\"col\">one<\/th><th scope=\"col\">seven<\/th><th scope=\"col\">six<\/th><th scope=\"col\">three<\/th><th scope=\"col\">two<\/th><th scope=\"col\">zero<\/th><\/tr><\/thead><tbody><tr><th scope=\"row\">eight<\/th><td>194<\/td><td>1<\/td><td>1<\/td><td>0<\/td><td>1<\/td><td>0<\/td><td>0<\/td><td>0<\/td><td>0<\/td><td>1<\/td><\/tr><tr><th scope=\"row\">five<\/th><td>1<\/td><td>163<\/td><td>0<\/td><td>1<\/td><td>0<\/td><td>0<\/td><td>2<\/td><td>5<\/td><td>0<\/td><td>2<\/td><\/tr><tr><th scope=\"row\">four<\/th><td>1<\/td><td>0<\/td><td>186<\/td><td>3<\/td><td>0<\/td><td>0<\/td><td>0<\/td><td>0<\/td><td>1<\/td><td>0<\/td><\/tr><tr><th scope=\"row\">nine<\/th><td>1<\/td><td>2<\/td><td>5<\/td><td>194<\/td><td>0<\/td><td>2<\/td><td>0<\/td><td>6<\/td><td>0<\/td><td>1<\/td><\/tr><tr><th scope=\"row\">one<\/th><td>0<\/td><td>0<\/td><td>0<\/td><td>0<\/td><td>210<\/td><td>1<\/td><td>0<\/td><td>1<\/td><td>1<\/td><td>0<\/td><\/tr><tr><th scope=\"row\">seven<\/th><td>0<\/td><td>1<\/td><td>1<\/td><td>1<\/td><td>2<\/td><td>207<\/td><td>0<\/td><td>1<\/td><td>1<\/td><td>0<\/td><\/tr><tr><th scope=\"row\">six<\/th><td>2<\/td><td>2<\/td><td>0<\/td><td>0<\/td><td>0<\/td><td>0<\/td><td>179<\/td><td>0<\/td><td>0<\/td><td>2<\/td><\/tr><tr><th scope=\"row\">three<\/th><td>2<\/td><td>1<\/td><td>0<\/td><td>0<\/td><td>0<\/td><td>4<\/td><td>0<\/td><td>206<\/td><td>1<\/td><td>0<\/td><\/tr><tr><th scope=\"row\">two<\/th><td>3<\/td><td>0<\/td><td>0<\/td><td>0<\/td><td>1<\/td><td>3<\/td><td>0<\/td><td>3<\/td><td>187<\/td><td>2<\/td><\/tr><tr><th scope=\"row\">zero<\/th><td>5<\/td><td>0<\/td><td>0<\/td><td>0<\/td><td>0<\/td><td>0<\/td><td>0<\/td><td>0<\/td><td>0<\/td><td>196<\/td><\/tr><\/tbody><\/table><\/div><div class=\"nd-table-scroll\" tabindex=\"0\"><table><thead><tr><th scope=\"col\">Class<\/th><th scope=\"col\">Testing images<\/th><th scope=\"col\">Precision<\/th><th scope=\"col\">Recall<\/th><th scope=\"col\">F1<\/th><\/tr><\/thead><tbody><tr><th scope=\"row\">eight<\/th><td>198<\/td><td>0.928<\/td><td>0.980<\/td><td>0.953<\/td><\/tr><tr><th scope=\"row\">five<\/th><td>174<\/td><td>0.959<\/td><td>0.937<\/td><td>0.948<\/td><\/tr><tr><th scope=\"row\">four<\/th><td>191<\/td><td>0.964<\/td><td>0.974<\/td><td>0.969<\/td><\/tr><tr><th scope=\"row\">nine<\/th><td>211<\/td><td>0.975<\/td><td>0.919<\/td><td>0.946<\/td><\/tr><tr><th scope=\"row\">one<\/th><td>213<\/td><td>0.981<\/td><td>0.986<\/td><td>0.984<\/td><\/tr><tr><th scope=\"row\">seven<\/th><td>214<\/td><td>0.954<\/td><td>0.967<\/td><td>0.961<\/td><\/tr><tr><th scope=\"row\">six<\/th><td>185<\/td><td>0.989<\/td><td>0.968<\/td><td>0.978<\/td><\/tr><tr><th scope=\"row\">three<\/th><td>214<\/td><td>0.928<\/td><td>0.963<\/td><td>0.945<\/td><\/tr><tr><th scope=\"row\">two<\/th><td>199<\/td><td>0.979<\/td><td>0.940<\/td><td>0.959<\/td><\/tr><tr><th scope=\"row\">zero<\/th><td>201<\/td><td>0.961<\/td><td>0.975<\/td><td>0.968<\/td><\/tr><\/tbody><\/table><\/div><div class=\"nd-table-scroll\" tabindex=\"0\"><table><thead><tr><th scope=\"col\">Summary metric<\/th><th scope=\"col\">Value<\/th><\/tr><\/thead><tbody><tr><th scope=\"row\">Accuracy<\/th><td>96.10%<\/td><\/tr><tr><th scope=\"row\">Macro F1<\/th><td>0.961<\/td><\/tr><tr><th scope=\"row\">Testing images<\/th><td>2000<\/td><\/tr><\/tbody><\/table><\/div><p>The model predicts a single digit from a cropped image. The largest class-level recall shortfall is for nine (0.919). These results use this project\u2019s own partition of the 10,000-image collection, not the standard MNIST training\/test protocol.<\/p><\/section>\n<section class=\"ndb-card\" id=\"7-model-deployment\"><h2>7. Model deployment<\/h2><div class=\"nd-output-examples\" id=\"calculate-outputs\"><h3>Recognizing handwritten digits<\/h3><p>See how the model recognizes two handwritten digits. Each example pairs the original image with the predicted digit and the scores for all ten classes.<\/p><div class=\"nd-comparison-grid\"><div class=\"nd-comparison-item nd-output-example\" data-output-example=\"1\"><h4>Example 1<\/h4><figure class=\"nd-media-block\"><img decoding=\"async\" class=\"nd-output-digit\" src=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/09\/nd-mnist-calculate-output-1-20260924.png\" alt=\"Handwritten digit selected for Calculate outputs: one\/1_149.bmp\" width=\"28\" height=\"28\"><figcaption>Input image: <code>one\/1_149.bmp<\/code><\/figcaption><\/figure><p class=\"nd-output-result\"><strong>Predicted class: one<\/strong><br>Model score: 99.97%<\/p><div class=\"nd-table-scroll\" tabindex=\"0\"><table><thead><tr><th scope=\"col\">Class<\/th><th scope=\"col\">Output score<\/th><\/tr><\/thead><tbody><tr><th scope=\"row\">eight<\/th><td>0.000007<\/td><\/tr><tr><th scope=\"row\">five<\/th><td>0.000000<\/td><\/tr><tr><th scope=\"row\">four<\/th><td>0.000011<\/td><\/tr><tr><th scope=\"row\">nine<\/th><td>0.000001<\/td><\/tr><tr><th scope=\"row\">one<\/th><td>0.999687<\/td><\/tr><tr><th scope=\"row\">seven<\/th><td>0.000289<\/td><\/tr><tr><th scope=\"row\">six<\/th><td>0.000000<\/td><\/tr><tr><th scope=\"row\">three<\/th><td>0.000002<\/td><\/tr><tr><th scope=\"row\">two<\/th><td>0.000004<\/td><\/tr><tr><th scope=\"row\">zero<\/th><td>0.000000<\/td><\/tr><\/tbody><\/table><\/div><\/div><div class=\"nd-comparison-item nd-output-example\" data-output-example=\"2\"><h4>Example 2<\/h4><figure class=\"nd-media-block\"><img decoding=\"async\" class=\"nd-output-digit\" src=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/09\/nd-mnist-calculate-output-2-20260924.png\" alt=\"Handwritten digit selected for Calculate outputs: four\/4_375.bmp\" width=\"28\" height=\"28\"><figcaption>Input image: <code>four\/4_375.bmp<\/code><\/figcaption><\/figure><p class=\"nd-output-result\"><strong>Predicted class: four<\/strong><br>Model score: 93.20%<\/p><div class=\"nd-table-scroll\" tabindex=\"0\"><table><thead><tr><th scope=\"col\">Class<\/th><th scope=\"col\">Output score<\/th><\/tr><\/thead><tbody><tr><th scope=\"row\">eight<\/th><td>0.064999<\/td><\/tr><tr><th scope=\"row\">five<\/th><td>0.000000<\/td><\/tr><tr><th scope=\"row\">four<\/th><td>0.932005<\/td><\/tr><tr><th scope=\"row\">nine<\/th><td>0.002492<\/td><\/tr><tr><th scope=\"row\">one<\/th><td>0.000000<\/td><\/tr><tr><th scope=\"row\">seven<\/th><td>0.000375<\/td><\/tr><tr><th scope=\"row\">six<\/th><td>0.000088<\/td><\/tr><tr><th scope=\"row\">three<\/th><td>0.000000<\/td><\/tr><tr><th scope=\"row\">two<\/th><td>0.000037<\/td><\/tr><tr><th scope=\"row\">zero<\/th><td>0.000003<\/td><\/tr><\/tbody><\/table><\/div><\/div><\/div><p>These are illustrative predictions, separate from the testing metrics above. Output scores have not been calibrated.<\/p><\/div><p>Download the original Neural Designer project and native figures, then relink the source dataset. The ZIP is a project archive; it does not contain the standalone Neural Engine runtime.<\/p><p>For batch inference, export a deployment package from Neural Designer. Keep the generated Python wrapper beside its <code>engine\/<\/code> and <code>model\/<\/code> folders. The supplied export uses Windows x64 and Python 3, with CPU inference by default.<\/p><pre><code>python mnist.py sample.bmp<\/code><\/pre><p>Preserve the trained vocabulary and sequence limit for text, or the saved image dimensions, channel handling and scaling for images. Record the model version and input quality before sending outputs for human review. The wrapper\u2019s score output is not evidence of probability calibration.<\/p><div class=\"ndb-downloads\"><a class=\"aui aui-button\" href=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/09\/mnist-project-20260924-r2.zip\">Download project and charts (ZIP)<\/a><a class=\"aui aui-button aui-button--secondary\" href=\"https:\/\/www.tensorflow.org\/datasets\/catalog\/mnist\">View source dataset<\/a><\/div><\/section>\n<section class=\"ndb-card\" id=\"8-limitations\"><h2>8. Scope and limitations<\/h2><p>Handwriting, framing, background polarity and image quality can shift outside this collection. Digit localization, rejection of non-digits and full-page optical character recognition require additional components. Writer-level separation is not documented.<\/p><p>The supplied artifacts do not establish independence by person, product, author, acquisition session or site. Check duplicates and group-related records before reporting performance on a new population. Calibration and external validation are not established; monitor drift and review errors before operational decisions.<\/p><\/section>\n<section class=\"ndb-card\" id=\"references\"><h2>References<\/h2><ul><li><a href=\"https:\/\/www.tensorflow.org\/datasets\/catalog\/mnist\">MNIST handwritten digit classification \u2014 dataset source<\/a><\/li><li><a href=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/09\/mnist-project-20260924-r2.zip\">Supplied Neural Designer project and native figures, 24 September 2026 (ZIP)<\/a><\/li><li><a href=\"https:\/\/www.neuraldesigner.com\/learning\/examples\/examples\/\">More Neural Designer examples<\/a><\/li><\/ul><\/section>\n<\/div>\n<\/div>\n<script data-cfasync=\"false\" data-noptimize=\"1\" src=\"https:\/\/cdn.plot.ly\/plotly-basic-4.0.0.min.js\"><\/script><script data-noptimize=\"1\">(()=>{const start=()=>{if(!window.Plotly)return;document.querySelectorAll('.nd-chart-bundle').forEach(bundle=>{if(bundle.dataset.started)return;bundle.dataset.started='1';const host=bundle.querySelector('.nd-chart-host'),source=bundle.querySelector('script[type=\"application\/json\"]');if(!host||!source)return;const figure=JSON.parse(source.textContent);window.Plotly.newPlot(host,figure.data,figure.layout,figure.config).then(async()=>{const title=host.querySelector('.gtitle');if(title)host.style.minWidth=Math.ceil(title.getComputedTextLength()+48)+'px';await window.Plotly.Plots.resize(host);bundle.classList.add('is-ready');if(window.ResizeObserver){let timer;new ResizeObserver(()=>{clearTimeout(timer);timer=setTimeout(()=>window.Plotly.Plots.resize(host),80);}).observe(bundle);}}).catch(error=>{bundle.dataset.error=String(error);console.error(error);});});};const ready=()=>{if(window.Plotly){start();return;}let count=0;const timer=setInterval(()=>{if(window.Plotly){clearInterval(timer);start();}else if(++count>200)clearInterval(timer);},50);};if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',ready,{once:true});else ready();})();<\/script>","protected":false},"author":152,"featured_media":0,"template":"","categories":[29],"tags":[],"class_list":["post-24119","learning","type-learning","status-publish","hentry","category-examples"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>MNIST handwritten digit classification - Neural Designer<\/title>\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\/mnist-handwritten-digit-classification\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"MNIST handwritten digit classification - Neural Designer\" \/>\n<meta property=\"og:description\" content=\"Classify handwritten digits with a convolutional network A convolutional classifier recognizes ten handwritten digit classes in 10,000 grayscale images. The saved model achieves 96.10% accuracy on its 2,000 testing images, with all confusion counts reproduced by exported inference. 10,000Images 10Classes 2,000Saved testing-role samples 96.10%Verified test accuracy Explore the modelView source dataset Industrial challengeData setModelTrainingModel selectionTestingDeploymentLimitations [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.neuraldesigner.com\/learning\/examples\/mnist-handwritten-digit-classification\/\" \/>\n<meta property=\"og:site_name\" content=\"Neural Designer\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-24T11:56:24+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/09\/nd-mnist-t2-s1-20260924.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@NeuralDesigner\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 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\/mnist-handwritten-digit-classification\/\",\"url\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/mnist-handwritten-digit-classification\/\",\"name\":\"MNIST handwritten digit classification - Neural Designer\",\"isPartOf\":{\"@id\":\"https:\/\/www.neuraldesigner.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/mnist-handwritten-digit-classification\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/mnist-handwritten-digit-classification\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/09\/nd-mnist-t2-s1-20260924.png\",\"datePublished\":\"2026-09-24T11:19:03+00:00\",\"dateModified\":\"2026-09-24T11:56:24+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/mnist-handwritten-digit-classification\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.neuraldesigner.com\/learning\/examples\/mnist-handwritten-digit-classification\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/mnist-handwritten-digit-classification\/#primaryimage\",\"url\":\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/09\/nd-mnist-t2-s1-20260924.png\",\"contentUrl\":\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/09\/nd-mnist-t2-s1-20260924.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/mnist-handwritten-digit-classification\/#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\":\"MNIST handwritten digit classification\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.neuraldesigner.com\/#website\",\"url\":\"https:\/\/www.neuraldesigner.com\/\",\"name\":\"Neural Designer\",\"description\":\"No-code 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":"MNIST handwritten digit classification - Neural Designer","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\/mnist-handwritten-digit-classification\/","og_locale":"en_US","og_type":"article","og_title":"MNIST handwritten digit classification - Neural Designer","og_description":"Classify handwritten digits with a convolutional network A convolutional classifier recognizes ten handwritten digit classes in 10,000 grayscale images. The saved model achieves 96.10% accuracy on its 2,000 testing images, with all confusion counts reproduced by exported inference. 10,000Images 10Classes 2,000Saved testing-role samples 96.10%Verified test accuracy Explore the modelView source dataset Industrial challengeData setModelTrainingModel selectionTestingDeploymentLimitations [&hellip;]","og_url":"https:\/\/www.neuraldesigner.com\/learning\/examples\/mnist-handwritten-digit-classification\/","og_site_name":"Neural Designer","article_modified_time":"2026-09-24T11:56:24+00:00","og_image":[{"url":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/09\/nd-mnist-t2-s1-20260924.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_site":"@NeuralDesigner","twitter_misc":{"Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.neuraldesigner.com\/learning\/examples\/mnist-handwritten-digit-classification\/","url":"https:\/\/www.neuraldesigner.com\/learning\/examples\/mnist-handwritten-digit-classification\/","name":"MNIST handwritten digit classification - Neural Designer","isPartOf":{"@id":"https:\/\/www.neuraldesigner.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.neuraldesigner.com\/learning\/examples\/mnist-handwritten-digit-classification\/#primaryimage"},"image":{"@id":"https:\/\/www.neuraldesigner.com\/learning\/examples\/mnist-handwritten-digit-classification\/#primaryimage"},"thumbnailUrl":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/09\/nd-mnist-t2-s1-20260924.png","datePublished":"2026-09-24T11:19:03+00:00","dateModified":"2026-09-24T11:56:24+00:00","breadcrumb":{"@id":"https:\/\/www.neuraldesigner.com\/learning\/examples\/mnist-handwritten-digit-classification\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.neuraldesigner.com\/learning\/examples\/mnist-handwritten-digit-classification\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.neuraldesigner.com\/learning\/examples\/mnist-handwritten-digit-classification\/#primaryimage","url":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/09\/nd-mnist-t2-s1-20260924.png","contentUrl":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/09\/nd-mnist-t2-s1-20260924.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.neuraldesigner.com\/learning\/examples\/mnist-handwritten-digit-classification\/#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":"MNIST handwritten digit classification"}]},{"@type":"WebSite","@id":"https:\/\/www.neuraldesigner.com\/#website","url":"https:\/\/www.neuraldesigner.com\/","name":"Neural Designer","description":"No-code 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\/24119","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\/152"}],"version-history":[{"count":4,"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/learning\/24119\/revisions"}],"predecessor-version":[{"id":24164,"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/learning\/24119\/revisions\/24164"}],"wp:attachment":[{"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/media?parent=24119"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/categories?post=24119"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/tags?post=24119"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}