STM32F411 Discovery学习笔记(二)点亮你的第一个LED

STM32F411 Discovery学习笔记(一)配置开发环境 STM32F411 Discovery学习笔记(一)配置开发环境 //第一次在优快云写博客,发现这个文档编辑真的厉害 去年暑假报名了嵌入式大赛及结果什么也没做出来,现在想想可能原因是自己太弱什么都不会吧~管老师借了一块ARM的开发板寒假回来闭关修炼。开发板的型号是 STM32F411 Discovery,百度搜索了一下资料真是少啊(其实是我太弱不知道哪些资料能用)。所以不如从头学起。。。 首先是... 阅读详情

对于开发板来说,点亮第一个LED可能就像程序里的HELLO WORLD!一样重要吧。
由于缺少资源,点亮这个LED浪费了我两天的宝贵时光,也没能成功,后来想到了老师一直强调的要看芯片手册和原理图,想想LED应该也不难,那么从零应该也是可以的。
对于STM32来说最难的是配置底层文件了,然而STM32CUBEMX可以帮助我们完成这一项操作,关于STM32CUBEMX的使用方法网上有好多,然而我竟然在B站搜索到了视频教程!而且讲的也很好!
接下来要说的内容是对B站UP主的现学现卖和自己的一些补充。

首先你需要找到原理图和芯片手册

不说废话直接放连接
https://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-eval-tools/stm32-mcu-eval-tools/stm32-mcu-discovery-kits/stm32f4discovery.html
这个连接应该可以找到STM32F4绝大部分资料,但是对于我们今天的任务好像没有啥用。
https://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-eval-tools/stm32-mcu-eval-tools/stm32-mcu-discovery-kits/32f411ediscovery.html#design-scroll
这里就是STM32F411 discovery开发板的资料啦,在这里我们主要看用户手册这一部分
在这里插入图片描述

找到LED连接的管脚

打开这份文件我们可以看到开发板上的LED连接到了哪里
在这里插入图片描述
可以看到橙色的LED连接到了GPIO的PD13。

使用STM32cubeMx进行底层配置

打开cubeMx
在这里插入图片描述
新建工程
在这里插入图片描述
根据开发板上的芯片型号选择STM32F411VET6,注意使用搜索功能(左上角红色方框)获得更好体验。
点击START PROJECT开始配置。
在这里插入图片描述
在这里插入图片描述
找到PD13管脚,将他设置成GPIO_OUTPUT (左键点击管脚,选择GPIO_OUTPUT)
在这里插入图片描述
在project manager里选择路径,文件名,注意选择IDE为MDK-ARM V5。
点击generate code创建MDK工程
在这里插入图片描述
等待一会会提示生成成功,是否打开工程?选择打开工程即可(这一步 忘记截图了)
在这里插入图片描述
在主函数里的while(1)循环中让LED点亮延时熄灭延时
HAL库manual
https://www.st.com/content/ccc/resource/technical/document/user_manual/2f/71/ba/b8/75/54/47/cf/DM00105879.pdf/files/DM00105879.pdf/jcr:content/translations/en.DM00105879.pdf
所以我们只需要在main函数中加入如下代码(while循环自动生成)

while (1)
  {
    /* USER CODE END WHILE */
		HAL_GPIO_WritePin(GPIOD, GPIO_PIN_13, GPIO_PIN_SET);
		HAL_Delay(500);
		HAL_GPIO_WritePin(GPIOD, GPIO_PIN_13, GPIO_PIN_RESET);
		HAL_Delay(500);
    /* USER CODE BEGIN 3 */
  }

在这里插入图片描述
点击全部编译

编译结束没有错误没有警告。
在这里插入图片描述
烧录进开发板即可观察到橙色LED闪烁。
在这里插入图片描述

我踩过的坑

首先411板上有两个USB接口,一个是micro usb一个是sub mini口,最开始我以为是要接micro口就在淘宝上买了两根线,卖家刚发货我就找到了之前的手机,插上线之后发现电源等都不亮
“不会是烧了吧”
怀着忐忑的心情多次实验无果,查阅用户手册发现
在这里插入图片描述
竟然是mini!于是我又淘宝了两根mini线,然后下单之后母上大人就找到了一根古老的用在MP4上的mini口的数据线。。。
“竟然能用”
接下来的故事就是我有两个快递在路上,然而他们看上去没有什么用了。。。

上述工程文件我已经放在优快云下载区了,系统只让我设置成5币。。。反正代码很少,没有必要去下载了。。。。

用C#在STM32上写第一个Hello world 随着微软放弃.Net MF ,通过C#编写STM32平台上的程序变得渺茫, 但是, 别着急, 目前至少有两个社区在做这件事情, 传承了微软的.Net MF , 一家是nanoframework,另外一家比较封闭的是 GHI Electronics 地址是:https://github.com/ghi-electronics GHI只支持自家设计生产的开发板, 不支持STM32其... 阅读详情

相关推荐

记录1——stm32f411CEU6之点亮一盏LED灯+按键控制LED灯

单片机相当于是一种微型的电脑,我们可以利用它实现许多功能,而stm32以其独特的性能优势脱颖而出,很多人都开启了学习stm32的学习,本文就来记录一下我学习最小系统板stm32f411CEU6的小小历程以及学习的基础内容,希望能以这种方式让自己进步,内容相当基础,大佬勿喷。我主要学习的是基于HAL库进行开发的内容,需要提前下载好keil 5,STM32CubeMX的软件,买好单片机、调试器以及杜母线。提示:点亮LED灯算得上是每个人学习stm32的最最基础部分首先应该在cubeMX中根据自己的芯片原理图配置

weixin_65489379的博客 9841

STM32F411RE-0004-开发板用户使用说明手册

DM1724这份文档是介绍了开发板的用户使用说明。 下面介绍了开发板的跳线帽设置、驱动安装、按键和灯的显示判断开发板是否正常。 这张图介绍了一个概略图。 通过下图可以知道元器件的位置 下面是关于LED的状态指示灯,如果觉得需要可以关注这一部分。 其实最重要的就是知道LED3亮红灯表示STM32F411上电是没有问题了,LED2要控制亮和灭需要控制GPIO高和低就可以了。 ...

wuzengfengjing1的博客 3498

STM32F411音频滤波实战:从PDM解码到FIR带通滤波完整指南

在嵌入式音频处理中,数字信号处理(DSP)技术是让声音数据变得可用的关键。音频信号从麦克风采集到耳机回放,需要经历采样、解码、滤波等多个环节。PDM(脉冲密度调制)作为一种数字麦克风输出格式,需要通过CIC滤波器解码为PCM数据,而FIR滤波器则能实现精确的带通滤波,保留人声频段并抑制噪声。借助STM32F411E-DISCOVERY开发板,无需外接音频模块即可完成实时音频链路验证。本文从PDM解码原理讲起,介绍如何使用CMSIS-DSP库实现FIR滤波,并结合I2S与DMA完成数据搬运,最终通过耳机输出清

weixin_27014595的博客 334

STM32F411 Discovery学习笔记(四)串口

仔细想了想,好像串口也不需要啥外设就可以玩,于是学习一波 首先是新建工程,在STM32cubeMx里找到STM32F411VET然后START PROJECT。 接下来将USART1配置成异步串口模式 接下来配置数据格式,波特率默认115200,数据宽度8bit,不进行奇偶校验,停止位1bit。 修改文件名,IDE,生成代码 找到串口发送函数 再main函数的while循环中增加如下代码...

magiconecube的博客 2680

基于STM32与TinyML的实时运动姿态矫正系统VibeCoach设计与实现

在嵌入式人工智能和物联网(AIoT)领域,微型机器学习(TinyML)技术正将智能从云端下沉至资源受限的边缘设备。其核心原理在于,通过模型压缩与优化,让轻量级神经网络或传统机器学习算法得以在微控制器(MCU)上实时运行,直接处理传感器数据。这项技术的巨大价值在于实现了低延迟、高隐私的本地化智能决策,无需依赖网络,极大地拓展了智能设备的应用边界。典型的应用场景包括可穿戴设备、预测性维护和智能家居。本文聚焦的VibeCoach项目,正是这一技术范式的生动实践。它利用STM32微控制器采集MPU-9250惯性传感

weixin_34101229的博客 291

STM32F411xx标准例程模板

STM32F411xx标准例程模板,STM32F411xx系列单片机的模板程序

STM32F411 Discovery学习笔记(三)中断与按键

拖了好几天终于进入到中断的学习了 我们的任务目标是采用中断的方式通过411板上的按键控制LED的亮灭 中断源的设置 打开STM32CubeMx,按照之前的方法新建文件 设置中断源,查阅开发板手册发现开发板有两个按键,一个是User一个是Reset.很显然我们要用User键。 很显然USER键连接到了GPIO A0上,但是低有效还是高有效并不知道。 别急,manual一定会写的。 根据原理图,当...

magiconecube的博客 1899

STM32F4xx中文参考手册(20181013).pdf

STM32F4xx中文参考手册(20181013).pdf

STM32F411E-DISCOVERY实时音频滤波实战:CMSIS-DSP与FIR/IIR全流程

数字信号处理(DSP)是嵌入式系统从基础控制迈向智能感知的核心能力之一。在MCU上实现实时音频滤波,不仅需要理解FIR与IIR等滤波器原理,更需掌握从传感器采集到数据输出的完整数据通路。Cortex-M4F内核凭借其单精度FPU和DSP扩展指令,结合ARM官方CMSIS-DSP库,为低成本硬件上的高性能实时计算提供了可能。本文基于STM32F411E-DISCOVERY开发板,完整演示了如何借助CMSIS-DSP实现128阶FIR低通滤波与IIR Biquad级联,并深入解析PDM数字麦克风采集、I2S音频

weixin_29169899的博客 335

STM32F411RE标准库模板

修复了已知的错误,并测试了闪灯程序,0错误 0警告

无感无刷电机控制进阶:反电动势过零检测的5种实现方案对比

本文深入探讨无感无刷电机控制中反电动势过零检测的5种实现方案,包括电阻分压虚拟中性点法、专用BEMF检测IC方案、基于ADC采样的数字锁相环、无传感器观测器技术及混合方案创新实践。通过对比分析各方案的优劣及适用场景,为电机控制工程师提供实用的技术选型指南,助力提升系统性能与成本效益。

weixin_28691741的博客 843

stm32 str转hex_用C#在STM32上写第一个Hello world

随着微软放弃.Net MF ,通过C#编写STM32 平台上的程序变得渺茫, 但是, 别着急, 目前至少有两个社区在做这件事情, 传承了微软的.Net MF , 一家是nanoframework,另外一家比较封闭的是GHI Electronics 地址是:https://github.com/ghi-electronics GHI只支持自家设计生产的开发板,不支持STM32其他厂...

weixin_35693055的博客 206

AI赋能软件测试:从冒烟测试到全流程智能化的效率革命

软件测试是确保软件质量的关键环节,其核心原理是通过预设用例验证系统功能是否符合预期。传统测试方法依赖人工编写和维护脚本,面临维护成本高、适应性差等挑战。随着人工智能技术的发展,特别是自然语言处理和计算机视觉的成熟,AI为测试领域带来了新的技术价值。通过让AI理解应用界面和业务逻辑,可以实现测试用例的智能生成、自主执行和结果分析,显著提升测试效率和覆盖率。在实际应用场景中,AI驱动的冒烟测试能够动态适应UI变化,自动分析失败日志,将测试人员从重复劳动中解放出来,专注于更复杂的质量策略设计。本文基于AI在冒烟测

weixin_28841265的博客 306

stm32f429移植linux教程,STM32F429i-Discovery 移植并成功跑起来u-boot 2016.05

说是移植,其实就是编译,不管怎样,u-boot 2016.05已经成功的支持stm32f429i-Discovery了!!因为我在编译最新的Linux 4.5内核时,发现已经支持:stm32f429i-Discovery,并且编译成功并能生成uImage xipimage等!!因此,可以说,虽然没有MMU的STM32429i-Discovery,没有网络,依然可以把Linux系统简单的跑起来!!最...

weixin_32145807的博客 1687

MRI多序列,多中心数据集预处理--使用FSL-Flirt 配准数据

FLIRT(FMRIB 的线性图像配准工具)是用于线性(仿射)模态内和模态间脑图像配准的全自动稳健且准确的工具。 什么是配准 在这两张图片上,很容易看出它们没有对齐,左边相对右边倾斜,虽然我们人类视觉系统还是能把对应的解剖关系连系在一起,但是我们使用计算机分析时确不能够 因此,我们希望相同的解剖结构对齐,用坐标表示的话,希望他们在相同的坐标上。如下图 对齐这些解剖结构的过程就叫做配准(register) 因此,配准的目的也是使相同的解剖结构在同一个位置,便于分析。可以将CT和MRI配准,看同一结构在两个

Tina姐的博客 1万+

(王道计算机组成原理笔记)第一章计算机系统概述-第二节:计算机系统层次结构 1(计算机系统组成、计算机硬件)

文章目录一:冯诺依曼体系结构(1)存储程序计算机(2)层次结构二:计算机硬件概述(1)存储器A:存储元、存储单元、存储体、存储字和存储字长B:MAR 一:冯诺依曼体系结构 在冯诺依曼体系结构中,计算机的硬件主要有**存储器,运算器,控制器,输入和输出设备(也叫做I/O设备)**组成。 (1)存储程序计算机 冯诺依曼体系结构也叫做存储程序计算机,计算器和计算机的唯一区别就是计算器是不能编程的,只能做电路板中设定好的固定的运算。 这也就意味着计算器本质就是一个不能编程的计算机,其在硬件层面已经将逻辑写死,如果

快乐江湖的博客 1万+

STM32F4 封装库

--------------------- 作者:_杰杰_ 来源:优快云 原文:https://blog.youkuaiyun.com/jiejiemcu/article/details/80179096 版权声明:本文为博主原创文章,转载请附上博文链接! 昨晚在github发现了一个老外自己整理的封装库,有很多,比如一些通讯啊啥的,一些显示屏驱动等等 目录 STM32F4 Libraries...

dwell548560的博客 3562

YOLOv8 改进:使用 MobileNetV3 轻量化架构改进特征提取网络

通过使用 MobileNetV3 作为 YOLOv8 的特征提取器,能够显著降低模型复杂度和运行时资源消耗,同时在一定程度上保持检测精度。这种方法特别适合需要高效计算的边缘设备和嵌入式系统。

走向CTO的路上... 1275

【干货】老外的GitHub整理的stm32f4驱动库

昨晚在github发现了一个老外自己整理的封装库,有很多,比如一些通讯啊啥的,一些显示屏驱动等等 目录 STM32F4 Libraries and projects Here are listed all libraries for STM32F4 devices.Libraries are designed to work with STM32F4xx series of MCU. ...

杰杰的博客 9935

从0到全栈:C#/.NET/.NET Core终极学习路线——2025年开发者必修的12个阶段与30个实战项目

【代码】从0到全栈:C#/.NET/.NET Core终极学习路线——2024年开发者必修的12个阶段与30个实战项目。

墨夶的博客 2042

C#跨平台制图新纪元:Mapsui,一库在手,地图我有

深入学习Mapsui的渲染机制,定制属于你的地图样式,无论是颜色、图标还是文字,都可以随心所欲。

java专栏 1455

Tock 中的 STM32F412G 芯片支持:基于 stm32f4xx 的分层 MCU 适配实践

本文围绕 Tock 嵌入式操作系统仓库中 [chips/stm32f412g](https://link.gitcode.com/i/f13187040ec8545fd0660fd170ce5d0a) 芯片支持 crate 展开,系统讲解 STM32F412G MCU 在 Tock 中"复用共享外设驱动、叠加芯片专属配置"的分层设计思路。你将掌握该 crate 的源码结构与模块划分、97 路中断向

gitblog_00473的博客 1010

【5】GD32H7xx CAN发送及FIFO接收

GD32H7xx CAN收发调试记录,包含源码

madao1234的博客 1813

RT-Thread STM32 系列 BSP 开发指南:支持矩阵、快速上手与外设驱动配置

本文围绕 RT-Thread 仓库中 [bsp/stm32](https://link.gitcode.com/i/2c5c9fd7c5fb51820b98d37e00748000) 目录下的 STM32 系列 BSP(板级支持包)展开,系统梳理 STM32 系列 BSP 的开发板支持矩阵、BSP 目录组织方式、快速上手流程,以及借助 ENV 工具与 `menuconfig` 开启板载/片上外设驱

gitblog_00922的博客 196

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

MicroPython STM32 移植版完整指南:从源码构建到固件烧录与部署

MicroPython 的 STM32 移植版(`ports/stm32`)是官方维护最全面、硬件支持最丰富的移植之一,覆盖从 STM32F0 到 STM32WB 的十余个 MCU 系列,并支持 pyboard、Discovery、Nucleo 等大量开发板。本文以 [ports/stm32/README.md](https://link.gitcode.com/i/234c274b88a6cc9

gitblog_00945的博客 770

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

上一篇: STM32F411 Discovery学习笔记(一)配置开发环境
下一篇: STM32F411 Discovery学习笔记(三)中断与按键
魔方科研
博客等级 码龄9年 128粉丝 29原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值