struts2+jasperreport集成方案

Struts2与JasperReport整合所需jar包指南 本文还有配套的精品资源,点击获取 简介:Struts2是一个强大的Java Web应用程序MVC框架,而JasperReport是一款开源报表工具。将二者整合,可以实现动态报告的生成和展示。在整合过程中,需要特定jar包以确保框架和工具之间的通信与协同工作。本文将详细介绍整合Struts2与JasperReport所必需的关键jar包及其整合步骤,同时提供关于报表模板设计、... 阅读详情

web项目需要增加报表,报表分为明细表、统计表(多级表头)和图形表(柱状图),思来想去选择了集成jasperreport,这样可以方便后期维护及扩展,虽然初期集成和上手麻烦点,但是可以使用iReport设计器还是省了不少工作。

注意,ireport5.6.0 启动需要1.7jdk,1.8会一闪而过。

1. jasperreport的依赖,集成过程大部分错误都是缺少jar包,maven列表:

<dependency>
  <groupId>net.sf.jasperreports</groupId>
  <artifactId>jasperreports</artifactId>
  <version>5.6.0</version>
</dependency>

<dependency>
  <groupId>org.codehaus.groovy</groupId>
  <artifactId>groovy-all</artifactId>
  <version>2.0.1</version>
</dependency> 

<dependency>
  <groupId>org.apache.struts</groupId>
  <artifactId>struts2-jasperreports-plugin</artifactId>
  <version>2.5.10.1</version>
</dependency>

<dependency>
  <groupId>joda-time</groupId>
  <artifactId>joda-time</artifactId>
  <version>2.10.1</version>
</dependency>

一共24个依赖jar包,如下图:
jasper_report依赖包

2. struts.xml中基本定义要增加jasper结果类型,最好放在package的第一行避免报错。

<package name="system_default" extends="struts-default">
		<result-types>
			<result-type name="jasper" class="org.apache.struts2.views.jasperreports.JasperReportsResult"/>
		</result-types>
</package>

3. action的两种配置方式java代码构造数据和直接连接数据库:

	<!--1. 程序构造数据-->
	<action name="jasper_report_index"
		class="com.bnu.questionnaire.plugin.jasperreport.action.JasperReportAction"
		method="getInfoCheckIndex">
		<result>/${html}</result>
	</action>

	<action name="jasper_report_getInfoCheckData" class="com.bnu.questionnaire.plugin.jasperreport.action.JasperReportAction">
		<result name="success" type="jasper">
			<!-- location指定iReport设计器编译产生的jasper报表文件在项目目录的位置 -->
			<!-- /项目根目录/${location} -->
			<!-- http://localhost:8088/项目名/${location} -->
			<param name="location">/jasper/report1.jasper</param>
			<!--  dataSource指定数据源action中函数方法,反射getXXXX()方法 -->
			<!-- 如下配置示例反射action中的getReportData()方法 -->
			<param name="dataSource">reportData</param>
			<!-- format指定返回类型,默认PDF -->
			<param name="format">HTML</param>
			<!-- imageServletUrl指定图片servlet地址 -->
			<!-- 不配置会出现报表背景及图形表图片无法显示情况 -->
			<param name="imageServletUrl">
				<![CDATA[/image?image=]]>
			</param>
		</result>
	</action>
	<!--2. 直连数据库-->
	<action name="jasper_report_infocheck" class="com.bnu.questionnaire.plugin.jasperreport.action.JasperReportAction">
		<result name="success" type="jasper">
			<param name="location">/jasper/report1.jasper</param>
			<!-- connection指定数据链接,使用直连数据库的方式,反射action中getXXXXX()方法,应返回数据库Connection对象 -->
			<param name="connection">jasperConnection</param>
			<param name="format">HTML</param>
			<!--ireport设计时sql语句中包含查询条件$P{year}和$P{region}-->
			<!--也可以通过$P!{where语句}直接替换为查询语句,例如:ireport中设计语句为"select * from tableName $P!{where}",那么action返回参数可以直接定义为map.put("where","where param1 = 'value1' ")-->
			<param name="reportParameters">Params</param>
			<param name="imageServletUrl">
				<![CDATA[/image?image=]]>
			</param>	
		</result>
	</action>

3. web.xml关于图片的配置,不配置无法正常显示charts

<!--jasperreport-->
<servlet>
	<servlet-name>JasperReportImageServlet</servlet-name>
	<servlet-class>
		net.sf.jasperreports.j2ee.servlets.ImageServlet
	</servlet-class>
</servlet>
<servlet-mapping>
	<servlet-name>JasperReportImageServlet</servlet-name>
	<url-pattern>/image</url-pattern>
</servlet-mapping>

4. Action伪代码

    /**
     * Using:报表主页加载数据
     *
     * @return
     */
    public List<DemoModel> getReportData() throws Exception {
        List<DemoModel> demoModelList = new ArrayList<>();
        demoModelList.add(new DemoModel("test1","100001","李一","oa"));
        demoModelList.add(new DemoModel("test2","100002","王二","oa"));
        demoModelList.add(new DemoModel("test3","100003","张三","oa"));
        return demoModelList;
    }

    /**
     * Using:jasperReport直连数据库,返回Connection对象。
     *
     * @return Connection
     * @throws Exception
     */
    public Connection getJasperConnection() throws Exception{
        String region = this.getRequest().getParameter("region");
        String year = this.getRequest().getParameter("year");
        Params.put("year", year);
        Params.put("region", region);
        Connection connection = this.getConnection();
        return connection;
    }
    
    /**
    * Using:定义返回报表模板的参数
    **/
    private HashMap Params = new HashMap();

    public HashMap getParams() {
        return Params;
    }
Maven、Struts2、JasperReport与iReport整合:一站式Web应用开发实战 Apache Maven是一个项目管理和构建自动化工具,它依赖于项目对象模型(POM)的概念,并利用一个中央仓库来管理项目构建的各个阶段。它简化了项目的构建过程,如编译、测试、打包等。Maven通过定义生命周期和插件机制,允许开发者专注于项目的开发工作,而不是构建配置。自定义拦截器需要实现接口或继承类。在实现拦截器逻辑时,intercept方法将被调用。开发完成后,需要在struts.xml中进行配置:</action>在这个配置中,拦截器被添加到自定义的拦截器栈。 阅读详情

相关推荐

jasper report用到的5个jar包

用jasper report生成报表需要的jar包,都在这

整合Struts2+JasperReport Web报表应用示例

整合Struts2+JasperReport Web报表应用示例   JasperReports作为一种优秀且开源的报表引擎,不利用太可惜了。同时,借助开源的JasperReports模板设计利器iReports,可以可视化的设计报表模板。基于Web的报表在很多项目中都是需要

924

jasperreports_jar

Struts2框架使用的到的jasperreport的jar包

Ubuntu 16.04 安装 Node.js:nvm 为主、PPA 为辅、apt 避坑指南

Node.js 是 JavaScript 运行时环境,支撑现代前端构建、服务端开发与 CLI 工具链;其核心原理是基于 V8 引擎的事件驱动执行模型,通过 npm 实现依赖管理与生态集成。技术价值在于跨平台一致性、轻量级部署及与 Web 生态无缝协同。典型应用场景包括 Vue/React 项目构建、Express 后端服务、CI/CD 流水线执行及 Docker 容器化交付。在 Ubuntu 16.04 这类已停止官方支持但仍在生产环境广泛使用的 LTS 系统中,因系统源仅提供过时的 Node.js v4.

diejiankuai3444的博客 498

JasperReport整合Struts2所用jar包 iTextAsian.jar sqljdbc4.jar

asm-2.2.jar commons-collections-2.1.1.jar commons-digester-1.7.jar commons-fileupload-1.2.1.jar commons-logging-1.0.4.jar freemarker-2.3.15.jar groovy-all-1.5.5.jar iText-2.1.7.jar iTextAsian.jar jasperreports-3.7.1.jar log4j-1.2.15.jar ognl-2.7.3.jar poi-3.5-FINAL-20090928.jar sqljdbc4.jar struts2-core-2.1.8.1.jar struts2-jasperreports-plugin-2.1.8.1.jar xwork-core-2.1.6.jar iTextAsianCmaps.jar

struts2-jasperreports-plugin-2.1.6.jar 修改了html格式图片无法显示

jasperReport生成饼图等图片时,如果有图片,则html页面显示不了,本包修改了源码,解决了html格式输出图片的正常显示。

Struts2+JasperReports详细参数解析

此篇文章翻译与Apache官方网站的JasperReports API。JasperReports在线API地址为:http://struts.apache.org/2.1.8.1/struts2-plugins/struts2-jasperreports-plugin/apidocs/org/apache/struts2/views/jasperreports/JasperReportsResu

J-胖子的专栏 2128

struts2-jasperreports-plugin-2.0.14.jar

struts2-jasperreports-plugin ssh ireport

Struts2整合JasperReport

先介绍一下它们的关系:jasperReport:一个开源的,强大灵活的报表类库,能生成html,pdf等等其它格式报表。官网:http://jasperforge.org/projects/jasperreports下载时把整个工程下下来。如图:ireport:是jasperReport的可视化设计工具,使用ireport,可以更快地设计出想要的报表下载:http://jasperforge.org/projects/ireport注:我一开始的时候下的是最新版3.7.1,但后来运行老出问题,换了3.6版就

§封Ja葬va§ 5294

定时器(PWM输出)触发ADC采样(DMA)——STM32CubeMX

已知 Tclk 为 84MHz , 我们需要 Tout 为 200ms 即 200000us , 不妨先让PSC为 839, 带入上述公式可得 ARR = 19999. 这样算出来之后ARR和PSC都在0~65535的范围, 则可以使用这组参数。例如,如果时钟频率为1MHz,并且PSC设置为1000,则实际的定时频率将为1kHz。当重装载值(Period 或 ARR)设置为 500 时,意味着定时器需要计数 500 个时钟周期才会触发中断。例如,如果时钟频率为1MHz,则Tclk为1微秒。

2301_77123899的博客 1万+

银河麒麟V10系统下,手把手解决Ollama安装报错‘GLIBCXX_3.4.25 not found’

本文详细介绍了在银河麒麟V10系统下解决Ollama安装报错‘GLIBCXX_3.4.25 not found’的实战指南。通过隔离编译新版libstdc++、环境变量引导和服务化封装等安全方案,确保在不破坏系统稳定性的前提下顺利运行Ollama,适用于国产操作系统与AI工具的兼容性需求。

weixin_42556197的博客 484

JasperReport+Struts2集成 生成报表【转】

之前生成报表,数据源都是通过SQL查询获得,把SQL语句写在报表模板里。这次的数据源是需要调用存储过程,导出Excel报表,于是傻眼了。ireport里没法call 存储过程啊,网上查说可以封装成JavaBean,但是看了步骤好麻烦。同事有用jxl直接导出Excel的,不用jasperreport报表工具,觉得还是比较死板。后来问了岑同学,才知道有这么简便的方法,struts2原来是整合了jasp

417

STM32鱼塘水质监测系统设计与实现

物联网技术在农业领域的应用正逐步深入,其中传感器网络作为关键基础设施,通过实时数据采集与传输实现环境监测。基于STM32微控制器的嵌入式系统因其高性能和低功耗特性,成为物联网终端设备的理想选择。该系统通过DS18B20水温传感器、PH传感器和浊度传感器组成的多参数检测网络,配合4G通信模块实现水质数据的远程监控。在农业物联网场景中,这种解决方案不仅大幅降低了传统人工检测的成本,更能通过实时预警有效预防养殖损失。本文介绍的鱼塘水质监测系统正是这一技术的典型应用,展示了如何通过STM32和常见传感器构建高性价比

weixin_42173218的博客 620

Struts+Jasperreport配置

Struts+Jasperreport配置: 采用struts2 版本2.1.8,Jasperreport5.0 由于采用对于现在而言较新的版本,所以在引包和配置方面需要注意一些 在struts2中,最好不要使用编译器自带的框架导入。不然会引起包冲突或者是某些包的版本过低而报错的问题 (碰到自带框架的JSON版本过低。删除低版JSON后就可正常运行) 使用ireport5工具生成.jas

一步一步学习C/C++;一步一步深入了解linux 1159

别再对着数据手册发愁了!用HFSS 2023 R2搞定ESP32-C3板载天线的阻抗匹配

本文详细介绍了如何利用HFSS 2023 R2进行ESP32-C3板载天线的阻抗匹配优化,解决实际PCB设计中常见的性能偏差问题。通过智能模型导入、科学参数扫描和量化优化流程,显著提升天线性能,适用于WIFI和蓝牙应用场景。

weixin_42523543的博客 447

德国冯哈勃 Faulhaber2342L012空心杯减速电机带编码器

为了制作平衡车,我在淘宝上面买了一个 Faulhaber2342L012空心杯减速电机电机,具体参数如下: 一:电机参数 型    号:德国冯哈勃Faulhaber带编码器空心杯减速电机2342L012  12V每分 钟 120转 工作电压: 12V 空载转速:8100RPM(转每分钟) 减速后速:120RPM(转每分钟) 直     径:30mm

u011511430的专栏 1万+

JasperReport:几个莫名其妙的问题的解决

JasperReport各种莫名奇妙问题的解决 JasperReportC/S报表struts2struts2-jasperreport-plugin 也许你不曾遇到如题问题,那恭喜你,但你是否会疑惑为何我没有遇到而你们却遇到这种问题呢,我们可都是应用的struts2框架哦!!!是啊,为什么呢?有兴趣的不妨看看这篇博文http://peterliuye.javaeye.com...

熊诗言的博客 7578

GPS从入门到放弃(十七) --- 对流层延时

GPS从入门到放弃(十七) — 对流层延时 对流层概念 对流层(Troposphere)地球大气层靠近地面的一层。它同时是地球大气层里密度最高的一层,它蕴含了整个大气层约75%的质量,以及几乎所有的水蒸气及气溶胶。 对流层的下界与地面相接,上界高度随地理纬度和季节而变化,在低纬度地区平均高度为1718公里,在中纬度地区平均为1012公里,在高维度地区平均为8~9公里,并且夏季高于冬季。 卫星导航...

tyst08的专栏 1万+

Struts2整合jasperreport html展示图片不显示的解决办法

最近用ireport5.0做了一个柱状图的报表,用ireport预览功能显示没问题。 但是用Struts2集成jasperreport(struts2仅仅用它的跳转功能),展示成html格式的时候,柱状图显示不出来。 在网上查了很多资料,做了一些总结。 解决办法如下: 1.在web.xml中添加              ImageServlet         net.sf

代码的艺术 2533

2、实时DSP编程技术及其应用

本文详细介绍了实时数字信号处理(DSP)技术及其应用,涵盖三种流行的浮点DSP处理器系列的特点、开发工具和优化方法。通过具体的应用实例,如语音压缩、音乐信号处理和雷达信号处理,展示了如何在实际项目中应用这些技术,帮助工程师提高系统的性能和可靠性。

cicd6pipeline的博客 839

【零基础入门unity游戏开发——unity通用篇12】导入导出unity资源包、设置编程工具、创建脚本(组件)规则、MonoBehaviour基类介绍、脚本模板(基于unity6开发介绍)

导入导出unity资源包、设置编程工具、创建脚本(组件)规则、MonoBehaviour基类介绍、脚本模板(基于unity6开发介绍)

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 760

Struts2向JasperReport传参数配置

Recently I spent a whole day searching for solutions and experimenting with solutions for how to pass additional report parameters to a Jasper Report from the Struts 2 framework. It took 8 hours because I had to piece together the information that I needed

好记性不如烂笔头 6764

pscad IEEE标准系统搭建说明

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

JasperReport 和struts2的整合

JasperReport是一个报表制作程序。用户需要按照它制定的规则编写一个xml文件,然后得到用户需要输出的格式文件。而iReport是一个制作JasperReport的xml文件的可视化开发 工具,该库完全利用Java编写。可以用于在各种Java应用程序中,包括J2EE、WEB应用程序中生成动态内容。 1.iReort。 Report Life Cycle Before we start working with iReport, let's learn about the life c

py330316117的专栏 1636

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

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

上一篇: Java基础——继承
下一篇: Java基础——接口
Droy`Z
博客等级 码龄19年 75粉丝 57原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值