Hi3861鸿蒙开发环境搭建

【鸿蒙开发】 “极简”搭建鸿蒙开发环境(南向) 系统环境:WIN10+VM(Ubuntu21.04) 开发工具:VSCode+DevEcoDeviceTool插件 步骤 操作 一、下载链接 VMware workstation player Ubtuntu VSCode DevEcoDeviceTool插件 Python3.7.4-3.8.x 64位版本 Node.js 二、window10环境搭建 1、安装VSCode 注意:安装时须勾选“添加到PATH(重启生. 阅读详情
AI摘要

本文详细介绍了基于Hi3861芯片的OpenHarmony嵌入式开发环境搭建全流程,涵盖Visual Studio Code配置、DevEco Device Tool插件安装、CH340串口驱动部署、Hi3861 BSP源码获取、专用编译工具下载与配置、工程导入、UART烧录端口设置及编译烧录监控操作,适用于鸿蒙IoT设备开发入门。

1.1 安装配置Visual Studio Code

打开Download Visual Studio Code - Mac, Linux, Windows选择下载安装Windows系统的Visual Studio Code。

下载后进行安装。Visual Studio Code安装完成后,通过内置的插件市场搜索并安装开发所需的插件如图所示:

1.2 安装鸿蒙开发插件

打开https://device.harmonyos.com/cn/develop/ide#download网址下载Windows系统的DevEco Device tool鸿蒙开发工具。下载完成解包后,运行devicetool-windows-tool-4.0.0.400.exe安装程序。工具安装前会自动检测系统是否已安装python与vscode,如未安装可在下图中的窗口上点击安装。

DevEco Device Tool安装成后,打开VSCode可查看到鸿蒙开发相关插件已成功安装,如图所示:

1.3 下载并安装串口驱动

因Hi3861是通过UART接口烧录及调试程序的,所以需要在Windows系统上安装相关驱动。打开网址CH341SER.EXE - 南京沁恒微电子股份有限公司,下载CH341SER驱动程序。下载后进行安装,安装完成后。Hi3861设备通电后,通过数据线接入PC机后,会在系统的资源管理器中显示出一个“USB-SERIAL CH340”的COM口,如图所示:

1.4 下载Hi3861 BSP工程源码

OpenHarmony是开源的操作系统,但适配Hi3861的工程源码并没有在华为官网提供下载,只能通过第三方的源码管理平台上下载。因源码平台通常是通过git命令下载源文件的,所以需要在网址https://git-scm.com/download/win上下载并安装git程序。安装过程中使用默认配置即可。

    按住“win”键后再按R键,打开“运行”窗口, 输入“cmd”后确认进入Dos终端,然后通过git命令下载SDK源码包, 在Dos终端执行命令:

   

   git clone https://gitee.com/HiSpark/hi3861_hdu_iot_application

下载完成后,整个工程源码hi3861_hdu_iot_application文件夹中。

1.5 下载Hi3861编译工具

下载鸿蒙编译工具包链接地址: 

https://hispark-obs.obs.cn-east-3.myhuaweicloud.com/DevTools_Hi3861V100_v1.0.zip

下载完成后,无需解包。

1.6 工程配置

为了避免一些莫名其妙的错误,建议工程源码hi3861_hdu_iot_application文件夹与DevTools_Hi3861V100_v1.0.zip编译工具包放在D盘下,如图所示。注意在Windows系统上路径长度不能超过256字节,并且路径中不能有中文字符。

打开Visual Studio Code后,进上DevEco插件的操作页面,如图所示:

点击”Import Project”,在弹出的窗口中选择工程源码文件夹的路径,如图所示:

点击”Import”按钮后,接着在弹出窗口中选择芯片型号,如图所示:

再次点击”Import”按钮后导入工程源码, 在以下页面中,打开工程:

在此弹出的窗口中选择信任工程源码文件夹。

1.7配置编译工具

将DevTools_Hi3861V100_v1.0.zip解压缩包,并重命名为DevTools。

然后在Visual Studio Code进入DevEco插件页面如图所示,进行源码工程配置:在compiler_bin_path项选择编译工具压缩包的解包路径,如图所示:

1.8配置烧录UART口

编译工具配置完成与接入Hi3861设备后,在如图所示的页面中点击”hi3861“:

注意,Hi3861必须处于通电状态,且通过数据线接入PC机。在如图的页面中配置”USB-SERIAL CH340”的COM口。

1.9编译烧录

在DevEco插件页面中,点击”Rebuild”清除并重新编译工程,完成后在终端有输出绿色的SUCCESS信息,如图所示:

编译完成后,点击“Upload”按钮,并根据信息提示按下Hi3861开发板的复位按键,如图所示:

烧录成功后,提示信息如图所示:

烧录完成后,点击”Monitor”后,再次复位Hi3861设备,则会在终端显示开发板输出的信息。

鸿蒙系统开发笔记【基于小熊派HarmonyOS】 学习笔记均来自bearpi,内容涉及学习视频的功能调用以及未提及的好用插件分享~ 阅读详情

相关推荐

鸿蒙开发从hello world开始

:字符串化 ##:把宏参数连接在一起,参数在中间两边都需要## 宏定义用#和##的地方宏参数不会再展开,如果需要将传入参数的宏再次展开,需要中间增加一层转换,把所有宏的参数在这层里全部展开,在最下层使用#或者##。...

lt_xiaodou的博客 983

flutter-3.22鸿蒙版 mac vscode harmonyos环境配置与更新

flutter3.22鸿蒙版,vscode配置harmonyos环境

weixin_44099571的博客 6590

Mac安装鸿蒙系统,搭建MAC系统下的Wi-Fi loT Hi3861鸿蒙开发环境

前言周二就收到了Wi-Fi loT Hi3861的试用开发板,最近忙的一直没有时间开始研究,终于今天周六睡了一个大懒觉起来开始准备开发环境。因为harmonyos目前只能使用ubuntu进行编译,刷写固件需要windows环境,而我习惯在mac下开发。这对入门者来说是第一个挑战,想要开始开发首先需要集齐三大操作系统????。。还好在开发者群里有【乔大妈】大佬提供了mac下开发,编译,烧录的全套方案,这里...

weixin_34984088的博客 2009

HarmonyOS设备开发(1)-环境搭建

买了个润和鸿蒙开发板,环境搭建了好几次的没搭建好。主要是官方给的文档有很大的迷惑,记录一下搭建成功的过程 综合以下三个网站的教程搭建的,系统是Ubuntu 20.04。本文是对Ubuntu下环境搭建,源码编译,Windows只负责烧录。 鸿蒙官方网址 小熊派开源社区 润和软件 一、软件安装 工具名称 用途说明 版本要求 获取渠道 Visual Studio Code 代码编辑工具 V1.53及以上 64位版本。 https://code.visualstudio.com/Downlo.

weixin_51560951的博客 1540

鸿蒙Hi3861开发板配置、编译与烧录<一>

Hi3861个人实操记录

w_hn934524的博客 4476

鸿蒙硬件开发:Hi3861开发环境搭建及Windows下编译下载程序

Windows开发环境准备 可参考官方文档Windows开发环境准备进行配置。 安装VS Code https://code.visualstudio.com/Download 安装Python https://www.python.org/downloads/ 一定要下载3.7.4-3.8.x 64位版本,否则之后安装DevEco Device Tool插件是会出错。 安装Node.js https://nodejs.org/zh-cn/download/ 一定要下载v12.0.0及以上 64位版本,原

unclejin_的博客 8533

【Web】使用Vue3开发鸿蒙的HelloWorld!

本文介绍了如何利用Vue3与HarmonyOS ArkUI框架进行鸿蒙原生应用开发。通过Vue3的响应式编程范式和ArkUI的声明式UI语法,开发者可以快速构建高性能的跨端应用。文章详细描述了从环境搭建到应用落地的全流程,包括开发环境的配置、Vue项目的创建与修改、静态资源的生成与导入,以及如何在DevEco Studio中进行应用签名和运行。最终,开发者可以将Vue3项目成功移植到华为Mate 60 Pro上,实现“一次开发,多端部署”的目标。

沙师弟专栏 3361

鸿蒙轻内核开发环境搭建指南:小熊派Hi3861实战

嵌入式开发中,轻量级操作系统(LiteOS)凭借其资源占用少、实时性强的特点,成为物联网设备的理想选择。鸿蒙系统的轻内核基于LiteOS技术,特别适合Hi3861等RISC-V架构芯片的开发。本文以小熊派开发板为例,详细讲解从工具安装、工程配置到固件烧录的全流程,重点解决WiFi连接、内核裁剪等实际问题。通过实践演示如何利用DevEco Device Tool搭建高效的开发环境,帮助开发者快速掌握鸿蒙南向开发的核心技能,为智能硬件开发奠定基础。

weixin_29189377的博客 253

鸿蒙系统在Hi3816平台上初体验

前言 鸿蒙系统最近在网上很热,系统有很多优点,其中分布式系统吸引了我。公司用到的产品有stm32的单片机、NXP的IMX系列和海思的Hi3536 系列产品。如果能都跑起来鸿蒙系统的话,在上层应用架构上会方便很多。 鸿蒙官网地址: https://device.harmonyos.com/cn/home 鸿蒙源码仓库地址(doc里面也有相应的文档说明,我发现比官网的更新快): https://gitee.com/openharmony 发布会上华为说过,鸿蒙可以跑在大多数芯片上。...

Eric.Xi 2297

鸿蒙南向开发环境搭建与Hi3861实战指南

嵌入式系统开发中,操作系统移植与驱动开发是连接硬件与软件的关键环节。鸿蒙OS的微内核架构通过组件化设计实现功能灵活裁剪,特别适合物联网设备的轻量化需求。以Hi3861 WiFi SoC为例,其RISC-V架构与鸿蒙轻内核的组合,为智能硬件开发提供了高效解决方案。开发环境搭建涉及工具链配置、源码管理和交叉编译等核心技术,而小熊派开发板作为OpenHarmony官方推荐平台,降低了学习门槛。掌握南向开发技能对实现设备互联、边缘计算等物联网典型应用场景具有重要意义,特别是在智能家居、工业物联网等领域。

weixin_29181861的博客 301

Vscode+ROS/ROS2 开发调试基于ROS/ROS2应用环境配置

在ROS操作系统开发应用程序时,我们常常需要调试代码,验证程序的正确性。但是在用rosrun或者roslaunch启动节点后,若程序运行过程中发生错误而导致发生出错停止工作,这时候终端并不会输出具体的信息指出在何处发生了错误,具体错误的原因又是什么。往往仅仅是core dump 或者segmentation fault 等等一类的模糊提示。

Chasinglight的博客 5800

鸿蒙HarmonyOS开发者的第一课:手把手搭建轻量级RTOS开发环境(基于Hi3861开发板)

本文详细介绍了鸿蒙HarmonyOS开发者在Hi3861开发板上搭建轻量级RTOS开发环境的完整流程,涵盖硬件选型、工具链安装、工程配置与编译、系统烧录与调试等关键步骤。通过实战演示分布式软总线调试和低功耗配置,帮助开发者快速掌握嵌入式技术,提升物联网开发效率。

q9w8e7r6t5的博客 199

Label Studio保姆级教程:从零搭建医疗影像标注平台(DICOM格式支持)

本文提供基于Label Studio从零搭建医疗影像标注平台的保姆级教程。针对DICOM格式支持,详细阐述了环境部署、DICOM深度集成与预处理、团队协作权限管理以及质量审核闭环等核心环节,旨在构建一个高效、可落地的医疗AI数据标注解决方案,助力模型落地。

nft7creator的博客 303

腾讯云服务器搭建鸿蒙Hi3861开发板开发环境

关注程序员小哈,嵌入式学习不迷路。 前言 此网文撰写耗时两天,硬件成本288元,重复操作三遍,只为各位少踩坑,希望各位可以“分享、点赞、在看、留言”四连鼓励一下。 安装Hi3861开发板的开发环境可以选择虚拟机、Docker、 WSL 或者实体Linux笔记本,这几种方式都只合适单一的开发环境,像我这样的上班族,家里单位各一个电脑,用起来还是不太方便。 如果这个开发环境部署在云端,那岂不是我在哪都可以随时继续之前的工作了?想想就挺美好,恰好双十一腾讯云有新人活动:288元/三年(不是腾讯云的广告哈,其他云服

程序员小哈的专栏 4882

西门子V90 PN伺服控制核心:FB284功能块详解与实战

在工业自动化中,伺服定位控制是运动控制的基础环节,其本质是PLC通过PROFINET协议与伺服驱动器实现高速、确定性数据交互。FB284作为西门子为V90 PN定制的标准化功能块,封装了GSD映射、状态机管理与周期性PDO同步机制,将底层寄存器操作抽象为高可靠调用接口。相比MOVE指令或MC_MoveAbsolute等通用方案,FB284显著降低时序错乱风险,提升多轴同步精度与故障响应能力。它广泛应用于包装、灌装、装配等中端产线,尤其适配S7-1200/1500平台下的快速部署与现场维护。本文聚焦V90 P

weixin_42696271的博客 298

迈创Cameralink采集卡与MIL软件集成开发实战指南

本文详细介绍了迈创Cameralink采集卡与MIL软件的集成开发实战指南,涵盖硬件安装、驱动配置、MIL软件深度设置及图像采集处理等关键步骤。特别适合工业视觉检测和医疗影像领域,通过优化配置和性能调优,实现高速稳定的图像处理。

weixin_29204205的博客 422

硬件如何才能安装鸿蒙,鸿蒙硬件HI3861开发环境搭建

鸿蒙HI3861开发环境搭建1.板子在哪里买2.如何组装左边的是HI3861模块中间的是I2C OLED模块,中间上面是NFC模块,中间下面是JTAG烧录仿真的板子右边是可以替换的模块,可以换这个LED灯,环境监测或者人体感应模块中间的是固定的,右边的是可以替换模块的,底板上面有标识和防呆设计,插入的时候注意就行 3.上电测试注意底板上有个J2排针 5V ---> 5V_MAI...

weixin_39798626的博客 887

AT32F435/437开发实战:把SD卡变成U盘的完整指南(含源码解析)

本文提供了基于AT32F435/437微控制器将SD卡改造为U盘的完整实战指南。通过深入解析USB MSC协议与SDIO驱动的协同工作原理,详细介绍了硬件设计要点、软件架构融合、核心源码解析以及从编译到文件传输的完整调试流程,帮助开发者实现可靠的大容量存储设备扩展。

weixin_29159127的博客 409

harmonyOS 编译,1.14.手把手搭建HI3861开发环境并编译2

本期是我们鸿蒙系列课程的第1期,主要目标是让大家先搞清楚鸿蒙的整体架构,开发环境搭建,代码构建和编译烧录测试等玩法。然后就是核心的代码解读和试验了,譬如liteos_a的启动流程,liteos的shell原理和用法,鸿蒙各组件的加载和使用。鸿蒙的ipc和rpc,ace模块的实现和接口,鸿蒙app的sdk介绍和app开发环境搭建,app和hap的区分,注册鸿蒙app开发者,本次测试应用、上传应用等。...

weixin_29711471的博客 382

《机器学习》周志华_自学记录

第一章绪论## 1.1引言机器学习所研究的主要内容,是关于在计算机上从数据中产生"模型"(model)的算法,即"学习算法"(learning algorithm).在面对新的情况时(例如看到一个没剖开的西瓜),模型会给我们提供相应的判断(例如好瓜).如果说计算机科学是研究关于"算法"的学问,那么类似的,可以说机器学习是研究关于"学习算法"的学问.## 1.2基本术语:用于预测离散值,例如将样本分为“好瓜”或“坏瓜”。:用于预测连续值,例如西瓜的成熟度(如0.95、0.37)。

2201_75296678的博客 2530

Python爬虫selenium验证-中文识别点选+图片验证码案例

环境对模型进行训练,参考:https://github.com/sml2h3/dddd_trainer。能识别,但是发现默认识别率有点低,想要提升识别率,可以搭建。截图每个字符,并基于ddddocr识别。根据坐标,在验证码上进行点击。

dme.的博客 2165

Hi3861 OpenHarmony嵌入式应用入门--鸿蒙开发环境搭建

本篇将进行hi3861开发环境的搭建,并能够编译默认工程。

andylauren的专栏 3777

​非线性分析-增加位移量可能出现下面错误。虽然求解无法在所有时间点完成,但在某些点上仍能够求解部分结果。请参阅“帮助系统”中的故障排除,以了解更多信息详情。由于受约束,规划求解引擎无法收敛

基于收敛状态拆分载荷步‌:在已收敛的载荷步基础上,将未收敛的关键区域拆分为更细的子步,比如在载荷突变点前设置5~10个子步,逐步加载。替换冲突约束为弱约束‌:若存在约束冲突,将刚性约束替换为弱弹簧约束(刚度设为1e-6~1e-4),既限制刚体位移,又不影响结构的变形自由度,命令流:SPRING, NODE, K, 1e-6。部分区域约束完整,但存在未被约束的刚体自由度,或约束类型与大变形/接触逻辑冲突,比如某部件的位移约束在初始阶段有效,但大变形后约束位置脱离实际受力点,导致求解器在该阶段无法收敛。

qq_15963745的博客 144

开发板上的密码登录界面的代码_腾讯云服务器搭建鸿蒙Hi3861开发板开发环境

关注程序员小哈,嵌入式学习不迷路。前言此网文撰写耗时两天,硬件成本288元,重复操作三遍,只为各位少踩坑,希望各位可以“分享、点赞、在看、留言”四连鼓励一下。预告一下,明天网文我会分享几个我常读的公众号,涉及嵌入式开发的方方面面,后续我也会邀请这些号主入驻我的微信群中,方便大家交流,大家记得明天来关注看看哈。安装Hi3861开发板的开发环境可以选择虚拟机、Docker、 WSL 或者实体Linux...

weixin_39535752的博客 565

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

【鸿蒙】Hi3861开发环境搭建踩坑记

1.Linux编译环境搭建 官方参考教程 https://device.harmonyos.com/cn/docs/start/introduce/oem_quickstart_3861_build-0000001054781998 将shell连接到bash 查看shell是否为bash ls -l /bin/sh 如果显示为“/bin/sh -> bash”则为正常,否则需要修改. sudo dpkg-reconfigure dash sudo rm -rf /bin/sh sudo ln -s

程序猿成长记 7133

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

鸿蒙开发没有python,鸿蒙HI3861开发环境搭建

首先吐槽下,相比起arduino、ESP8266这些方案,鸿蒙的WIFI_IOT开发板环境搭建简直是地狱难度....最坑爹的是Windows平台不能用HPM编译,Linux环境下可以编译但不能烧写(如果是按照官网的环境搭建手册是可以搭建基于HB命令的windows编译烧写环境的,但是因为我的无能,harmonyos-ssd1306这个库没法编译)而根据官网的linux编译虚拟机+windows烧写...

weixin_33484711的博客 1574

深度学习工具包 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")

上一篇: 富芮坤蓝牙FR801xH GPIO
下一篇: LiteOS增加执行自定义源码
jklinux
博客等级 码龄10年 1060粉丝 276原创
评论 13
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值