实现在 MATLAB 中使用 GPU 运行神经网络的步骤如下:
登录后复制 gpuDeviceCount 1.
如果返回的结果大于 0,则表示您的计算机支持 GPU 运算。否则,您需要检查您的计算机是否具备一块支持 CUDA 的 NVIDIA 显卡,并且已正确安装了相应的驱动程序。
登录后复制 gpuData = gpuArray(data); 1.
这里的 data
是您加载的数据。
登录后复制 options = trainingOptions('sgdm', 'ExecutionEnvironment', 'gpu'); 1.
这里的 'sgdm'
是您选择的训练算法,'ExecutionEnvironment'
的值设置为 'gpu'
表示使用 GPU 运行。
登录后复制 net = trainNetwork(gpuData, labels, layers, options); 1.
这里的 labels
是对应于加载的数据的标签,layers
是神经网络的层结构。
登录后复制 predictions = classify(net, gpuData); 1.
这里的 predictions
是预测结果。
以下是整个过程的流程图:
#render_71_4193047491-svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#render_71_4193047491-svg .error-icon{fill:#552222;}#render_71_4193047491-svg .error-text{fill:#552222;stroke:#552222;}#render_71_4193047491-svg .edge-thickness-normal{stroke-width:2px;}#render_71_4193047491-svg .edge-thickness-thick{stroke-width:3.5px;}#render_71_4193047491-svg .edge-pattern-solid{stroke-dasharray:0;}#render_71_4193047491-svg .edge-pattern-dashed{stroke-dasharray:3;}#render_71_4193047491-svg .edge-pattern-dotted{stroke-dasharray:2;}#render_71_4193047491-svg .marker{fill:#333333;stroke:#333333;}#render_71_4193047491-svg .marker.cross{stroke:#333333;}#render_71_4193047491-svg svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#render_71_4193047491-svg defs #statediagram-barbEnd{fill:#333333;stroke:#333333;}#render_71_4193047491-svg g.stateGroup text{fill:#9370DB;stroke:none;font-size:10px;}#render_71_4193047491-svg g.stateGroup text{fill:#333;stroke:none;font-size:10px;}#render_71_4193047491-svg g.stateGroup .state-title{font-weight:bolder;fill:#131300;}#render_71_4193047491-svg g.stateGroup rect{fill:#ECECFF;stroke:#9370DB;}#render_71_4193047491-svg g.stateGroup line{stroke:#333333;stroke-width:1;}#render_71_4193047491-svg .transition{stroke:#333333;stroke-width:1;fill:none;}#render_71_4193047491-svg .stateGroup .composit{fill:white;border-bottom:1px;}#render_71_4193047491-svg .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px;}#render_71_4193047491-svg .state-note{stroke:#aaaa33;fill:#fff5ad;}#render_71_4193047491-svg .state-note text{fill:black;stroke:none;font-size:10px;}#render_71_4193047491-svg .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5;}#render_71_4193047491-svg .edgeLabel .label rect{fill:#ECECFF;opacity:0.5;}#render_71_4193047491-svg .edgeLabel .label text{fill:#333;}#render_71_4193047491-svg .label div .edgeLabel{color:#333;}#render_71_4193047491-svg .stateLabel text{fill:#131300;font-size:10px;font-weight:bold;}#render_71_4193047491-svg .node circle.state-start{fill:#333333;stroke:#333333;}#render_71_4193047491-svg .node .fork-join{fill:#333333;stroke:#333333;}#render_71_4193047491-svg .node circle.state-end{fill:#9370DB;stroke:white;stroke-width:1.5;}#render_71_4193047491-svg .end-state-inner{fill:white;stroke-width:1.5;}#render_71_4193047491-svg .node rect{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#render_71_4193047491-svg .node polygon{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#render_71_4193047491-svg #statediagram-barbEnd{fill:#333333;}#render_71_4193047491-svg .statediagram-cluster rect{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#render_71_4193047491-svg .cluster-label,#render_71_4193047491-svg .nodeLabel{color:#131300;}#render_71_4193047491-svg .statediagram-cluster rect.outer{rx:5px;ry:5px;}#render_71_4193047491-svg .statediagram-state .divider{stroke:#9370DB;}#render_71_4193047491-svg .statediagram-state .title-state{rx:5px;ry:5px;}#render_71_4193047491-svg .statediagram-cluster.statediagram-cluster .inner{fill:white;}#render_71_4193047491-svg .statediagram-cluster.statediagram-cluster-alt .inner{fill:#f0f0f0;}#render_71_4193047491-svg .statediagram-cluster .inner{rx:0;ry:0;}#render_71_4193047491-svg .statediagram-state rect.basic{rx:5px;ry:5px;}#render_71_4193047491-svg .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#f0f0f0;}#render_71_4193047491-svg .note-edge{stroke-dasharray:5;}#render_71_4193047491-svg .statediagram-note rect{fill:#fff5ad;stroke:#aaaa33;stroke-width:1px;rx:0;ry:0;}#render_71_4193047491-svg .statediagram-note rect{fill:#fff5ad;stroke:#aaaa33;stroke-width:1px;rx:0;ry:0;}#render_71_4193047491-svg .statediagram-note text{fill:black;}#render_71_4193047491-svg .statediagram-note .nodeLabel{color:black;}#render_71_4193047491-svg .statediagram .edgeLabel{color:red;}#render_71_4193047491-svg #dependencyStart,#render_71_4193047491-svg #dependencyEnd{fill:#333333;stroke:#333333;stroke-width:1;}#render_71_4193047491-svg .statediagramTitleText{text-anchor:middle;font-size:18px;fill:#333;}#render_71_4193047491-svg :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}检查GPU支持加载数据准备数据定义神经网络结构配置训练选项训练神经网络预测和评估
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删