winform项目打包进阶—添加卸载功能

【小白专用】WinForm项目打包成一个exe安装包教程(VS2022) winform程序打包为安装文件 阅读详情

        前文我们已经讲过了winform打包的步骤和方法,报考配置环境以及注册注册表信息,那么,我们要如何为我们的程序添加卸载功能呢?总不能一个个去电脑盘里面找了去删吧,这会非常的麻烦,还会耗费大量的时间,那么,我们是否可以为我们的打包程序添加一个卸载功能吗?没错!就是点击卸载后,能一键清除程序配置文件的功能。

        接下来,我们将详细讲讲如何添加卸载功能,准备工具和步骤与之前类似,这里主要详细讲解步骤中的操作,准备工作有不懂的可以翻看博主主页文章—winform项目打包教程。

工具

        Visual Studio 2022、需要打包的项目

工具

       首先,在需要打包的项目下创建一个新的项目,setup项目,这是Visual Studio 开发平台专门提供用于打包程序的,点击创建即可。

        接下来,封装项目,新建setup项目完成后,能看到如下界面,虽然很复杂,但是一点都不复杂,跟着操作即可。这里最主要用到的其实只有两个目录:1、Application Folder ,2、User's Desktop,一个用于存放打包后的文件,后者用于在桌面创建程序快捷图标。

        首先鼠标右击Application Folder,依次选择: Add=>项目输出,弹出表单,这里选择需要打包的项目,在选择主输出即可,当然,如果是没有项目,只有debug的包的话,选择发布项即可,其他操作一致。

        

        新增输出项后,会清除的看到vs已经自动将程序相关的文件引入了,这里最主要的是看主输出这一项,需要先创建快捷方式,同时将这个快捷方式放到桌面,这样用户在安装完成后会自动在桌面生成程序图标,方便使用。

        

       划重点!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!这里开始讲如何添加卸载程序,首先在当前界面右键,点击Add=>添加文件,这时候我们就需要用到系统的帮助文件(msiexec.exe),一般该文件存放在:C:\Windows\SysWOW64,搜索即可或者在C盘目录进行搜索,点击确认后我们可以发现Application Folder多了一个程序,没错!这就是我们的卸载工具,当然,现在还是不能使用的,因为它不知道我们要它帮忙卸载哪些文件,这里的话,首先,我们要创建一个快捷方式,鼠标右键选择我们的添加的msiexec.exe文件,选择创建快捷方式,接着,我们要将我们的打包程序Argument的值赋予给它,并给重新命名为卸载程序.exe,注意,文件后缀不要漏了,setup项目可没有那么聪明帮我们加上。

        

        到了这里,程序打包基本已经完成,那么结束了吗?还没有,需要进行注册,否则在其他电脑使用会报错。右击我们的打包项目setup,依次选择:View=>注册表,会弹出这个界面,我们主要选择的是Manufacturer,右击Manufacturer选择:New=>字符串值,接着随机赋值进行注册即可。

       

        接下来,最重要的环境,将 .Net 组件信息加载到程序中。鼠标右击选择项目,打开项目属性,配置项目的框架,如下所示:

        到了这里,你可以选择右击setup项目生成程序包,可在Setup项目的Debug目录下看到打包出来的文件,这里有个需要注意的,如果在已有.Net环境的电脑下运行,双击setup.exe安装即可,如果出现报错,找不到,那么是因为没有注册的原因,需要先双击Setup1.msi进行注册,再进行安装的操作,注意,安装过程是需勾选为任何人安装,否则卸载工具可能无法正常工作!!!

        可以看到我们的卸载工具已经加上,让我们试试效果

全部删除!!!

        如有问题,请下方留言或私信本人,下期出在打包过程添加卸载程序教程,码字不易,能不能来个免费的赞以及关注呢?(*❦ω❦)!!

WinForms零基础进阶控件教程(超实用&&详细版) 本篇为WinForms零基础进阶教程。希望能帮助大家更好地掌握这些控件的使用。在实际开发中,这些控件非常强大,可以构建出功能丰富的桌面应用程序。 阅读详情

相关推荐

VS2013打包C#项目带卸载功能

背景 vs2010打包时,在其他项目类型中找到安装和部署的模板,即可新建安装项目,而在vs2013中需要先在线搜索InstallShield,然后按照网页提示一步步下载,之后添加安装项目,配置打包设置完成打包 在vs2010 选择“新建项目”→“ 其他项目类型”→“ Visual Studio Installer→“安装项目”: 1. 打包前的准备 InstallShield安装 在我们准备好的项...

11wy11的博客 1000

winform项目-C#面向对象程序设计,深入浅出入门和进阶实战开发解决方案必知点 3 数组,循环,判断的综合案例,业务场景的初步应用尝试和快速实现

挨,算了,,通过枣树事件可以知道,即便是父子之间,至亲之人也仍然有很多无法完全理解的事情。哦,对了,去码家之前,先去王寨赶了村里的大集市,说的集市其实也是小时候心里面的印象了,花了19元买油炸的油条,老家叫做果子的。然后,买了点香蕉 19块钱的,油条20块钱的,还有花了2块钱,给孩子买了一个吹泡泡玩具,然后gris 要兔子,结果去的时候有,转悠回来的时候就没有了。只能说白天真的很多的事情,但是具体什么事情呢,哦,好像去了一趟码家,然后上午的时间就一直在那边了,哄孩子,sister and boy。

chenggong9527的博客 683

c# 将WinForm项目打包成exe安装包,并创建快捷方式 (vs2019)

(可同时创建用户的程序菜单中的程序运行exe程序,及其图标(.ico格式))第五步:添加程序运行时环境1.

不生产代码的码农 3386

winform打包应用程序-setup安装包

winform生成安装包详细步骤和图文讲解,手把手保姆级教程,实测复现。

有一分热,发一分光。 6904

WinForm用微软打包工具打包

下载扩展点击扩展 —> 管理扩展安装完之后重启VS就好了。

GeGe&YoYo的博客 3720

Winform打包发布图解

最近,机房收费系统的个人版接近尾声,到了打包发布的时刻。VB.NET的打包发布与VB6.0的打包发布存在不小的差别。下面我们来详细看一下如果打包发布。 第一步:           打开VS,新建项目,选择其他项目类型--安装部署             第二步,添加了项目之后我们进入文件系统选项卡,选择应用程序文件夹,添加文件         在弹出的文件对话框中添加项目文件。

康 7262

C# Winform项目exe安装包打包配置(桌面快捷方式、卸载、开机自启)

环境:.NET Framework 4.5工具:Visual Studio 2019原因:每次将winform项目拷贝给同事安装时都麻烦的很,想着不如直接弄个类似游戏的安装exe,直接一站式操作,方便且快捷。

qq_34373197的博客 5751

vs打包winform程序心得

最近一直在做winform程序,做完后程序打包很头疼,第三方打包工具,好用的花钱,不花钱的不好用,最后只能用vs自带的打包工具了!打包过程vs2010(包含卸载功能):1、  添加安装和部署。首先打开一个要进行打包的项目的设计界面,然后点击vs上的“文件”→“添加”→“新建项目”→“已安装的模板”→“其他项目类型”→“安装和部署”→“Visual Studio Installer”→“安装项目”。然后为安装项目起一个名称,再选择一个安装位置,如图:最后点击确定。如图:2、  配置应用程序文件夹选中应用程序文

panhaiyanPHY的专栏 2997

WinForm简单的打包和部署

在安装项目类型中,比较适合WinForm应用程序创建安装程序部署的是安装项目。下面是进行简单的WinForm应用程序的打包和部署。以Visual Studio2010为例。 1、新建安装部署项目 打开VS,单击“文件”,选择“新建”,选择“项目”,选择“其他项目类型”->"安装与部署”->“安装项目”或“安装向导”,然后单击“确定”。 2、配置安装系统文件 (1)单

仰望星空的代码 2万+

C#学习记录——C# winform程序怎么打包成安装项目(VS2019图解)

今天学习将Winform程序打包成安装项目,参考网上教程,并记录尝试过程。测试打包的程序为用C# Winform开的的一个客户端程序。

做有价值的事,积累有价值的笔记! 3040

U型槽微带贴片天线:从理论公式到带宽扩展实战

本文深入探讨了U型槽微带贴片天线的设计与带宽扩展实战。针对传统微带天线带宽窄的痛点,详细解析了通过引入U型槽形成双谐振点以拓宽带宽的原理,并提供了从MATLAB理论计算、ANSYS HFSS仿真建模到参数优化的一站式工程指南。文章还分享了多种带宽扩展组合技巧及仿真与实测避坑经验,助力射频工程师设计出高性能的宽带微带天线。

weixin_29168153的博客 447

winform程序打包和卸载

C#程序的打包和卸载都可以在Visual Studio这个IDE中实现。 打包插件 首先需要下载Microsoft Visual Studio Installer Project插件。该插件是微软官方插件,安全可靠,有大厂背书。 在VS中,工具 >> 扩展和更新 ,搜索插件名称,安装即可。 Note:装完该插件,需要重启VS方可生效。 新建项目 解决方案(右键) >> 添...

u011498594的博客 2187

从立创商城到Cadence:手把手教你实现封装格式的精准迁移

本文详细介绍了如何从立创商城获取元器件封装并精准迁移至Cadence Allegro的全流程。通过实战案例MAX31865ATP+T芯片,逐步解析Altium Designer格式转换、Cadence环境配置、封装导入验证等关键步骤,提供常见问题解决方案和效率提升技巧,帮助硬件工程师实现封装格式的高效迁移。

weixin_42519985的博客 216

WinForm程序在打包的时候如何添加卸载功能。

1.新建一个控制台项目,包含在当前解决方案内。 2.在Program.cs中加入代码:C# code <!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> string path = Syste

1006

电机控制——PMSM无感FOC控制(一)FOC入门

FOC 是一种电机控制技术,全称为 Field Oriented Control(磁场定向控制),也称作矢量控制。该技术可以提高电机的效率、控制稳定性和精度,广泛应用于电机驱动系统中,是目前无刷直流电机(BLDC)、永磁同步电机(PMSM)、感应电机的高效控制的最优方法之一。本节主要讲了FOC的大致流程,带大家先了解FOC到底是个什么东西在做什么,各个模块具体的原理会放到后面的章节详细讲解。FOC其实就是通过控制,相电流按照正弦变化,从而产生出旋转的磁场,控制电机转子转动。

zhuxinmingde的博客 2624

IEC61850 通信协议测试验证实战指南:从理论到实践

本文提供了一份全面的IEC61850通信协议测试验证实战指南,强调测试必须从理论走向工程实践。文章详细讲解了如何搭建测试环境,并深入剖析了MMS、GOOSE、SV三大核心协议的实战测试方法,旨在帮助工程师通过系统化的测试验证,确保电力自动化设备的互操作性与通信可靠性。

weixin_29204121的博客 170

Visual Studio 2022打包WinForm程序时,如何优雅地添加一键卸载功能?

本文详细介绍了在Visual Studio 2022中为WinForm程序添加专业级一键卸载功能的完整方案。从获取ProductCode到开发独立卸载程序,再到用户体验优化和企业级解决方案,帮助开发者实现从安装到卸载的全流程专业体验。重点讲解了如何通过自定义操作和界面设计提升卸载流程的易用性和品牌一致性。

weixin_30666401的博客 357

超详细YOLOv8目标检测全程概述:环境、训练、验证与预测详解

这篇博文提供了一个关于使用YOLOv8进行目标检测的全面指南,包括环境搭建、模型训练、验证和预测的详细步骤,以及如何解释训练过程中生成的各种图表和数据。整篇文章为读者提供了一个关于如何利用YOLOv8进行目标检测的实践指南,从环境搭建到模型部署,再到结果分析,每一部分都给出了详细的步骤和解释。此外,还有对于模型输出的解释,帮助读者更好地理解和使用YOLOv8模型。

CDBmax的博客 10万+

C# winform程序怎么打包成安装项目(图解)

右击”应用程序文件夹“,点击”添加“,选择”文件“,然后将"C:\Windows\System32" 下面的”msiexec.exe“文件给添加进来,如果找不到,你可以直接搜。右击”应用程序文件夹“,点击”添加“,选择”项目输出...“,注意:在项目栏要选择你自己的项目(我的项目名:StudentJisu),然后选择”主输出“,点击确定。然后,右击”安装“,选择”应用程序文件夹“,选择安装程序类”InstallDB“,还是选择”主输出“,确定。右击”应用程序文件夹“,点击”添加“,点击”文件“。

weixin_43065218的博客 4907

56、Cortex - M33处理器浮点单元(FPU)的使用与优化

本文详细介绍了Cortex-M33处理器浮点单元(FPU)的使用与优化方法,涵盖单双精度浮点计算的选择、编译器命令行配置、ABI模式对比、特殊FPU模式设置(如Flush-to-Zero、Default NaN)、浮点异常处理机制以及FPU电源管理策略。结合代码示例和流程图,提供了在不同应用场景下的最佳实践建议,并总结了常见问题及解决方案,帮助开发者提升嵌入式系统中浮点运算的性能、精度与能效。

bread的博客 154

破解现代反爬虫:JS加密、OB混淆与CSS反爬的实战攻防分析

摘要: 随着反爬技术的升级,JS加密、OB混淆和CSS反爬成为主流防护手段,阻碍传统爬虫获取数据。本文解析了这些技术的工作原理,并提出破解策略:通过模拟浏览器(如Selenium、Puppeteer)执行动态JS,逆向混淆代码,以及利用开发者工具突破CSS隐藏。针对复杂防护,开发者需结合技术分析与工具应用,如API接口抓取、动态渲染破解等,以应对不断演进的反爬机制。未来,爬虫攻防将持续升级,需保持技术敏锐性。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1646

WinForm项目打包

一个http请求的小工具,需要打包成安装程序,所以记录了一下WinForm的项目打包。 小工具下载,包含项目的打包:https://download.youkuaiyun.com/download/beishuoh/11446910 1.解决右键:添加新建项目,选择其他项目类型,选择第一个项目。 若没有该选项,则在工具->扩展和更新 联机搜索Visual Studio Installer Pr...

小龚工 587

基于STM32的智能鱼缸设计

为了缓解学习、生活、工作带来的压力,提升生活品质,许多人喜欢在家中、办公室等场所养鱼。为节省鱼友时间、劳力、增加养鱼乐趣;为此,本文基于STM32单片机设计了一款智能鱼缸。该鱼缸可以实现水温检测、水质检测、自动或手动换水、氛围灯灯光变换和自动或手动喂食等功能为一体的控制系统,可通过控制键进行一键控制。...

1万+

C#打包安装卸载程序

<br />    发现了一篇比较好的,转载来,正在学习打包的童鞋们不愁了:<br /> <br /> <br />C#如何为winform程序打包发布应用(图解)<br />1:新建安装部署项目 <br />打开VS,点击新建项目,选择:其他项目类型->安装与部署->安装向导(安装项目也一样),然后点击确定.(详细见下图) <br />此主题相关图片如下: <br /><br />2:安装向导<br />关闭后打开安装向导,点击下一步,或者直接点击完成. <br /><br /><br />3:开始制作

WaterShuiMiao的专栏 714

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

winform程序打包(带卸载)

当我们把程序给客户的时候需要把程序打包,下面就是打包的流程(包括打包,开始菜单目录下的程序,桌面程序): 1、在该项目的解决方案上新建一个安装项目: 2、右键”应用程序文件夹“,添加——>文件夹,创建一个新的文件夹:(这里叫”数据比对系统“) 3、在”数据比对系统“文件夹右键,添加——>项目输出:添加主输出 一般的只添加主输出就行了,假如还有别的资源的话就得添加上去 4、在“

a604169074的专栏 3339

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

上一篇: winform项目打包教程
Vampire_LHT
博客等级 码龄5年 263粉丝 7原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值