tabbedPanel标签

kivy的TabbedPanel选项面板的实操学习 kivy的TabbedPanel选项面板的实操学习,这里演示了在一个选项面板部件里面添加三个选项面板,并在每个添加文字内容及其他小部件的功能演示,本文包括py,kv文件,有实操演示效果及源码,及部件的常用属性: 惯例先上运行效果图: tabbedpanel.py from kivy.app import App ##导入kivy的App类,它是所有Kivy应用的基类 from kivy.uix.tabbedpanel import TabbedPanel ##引入控件 class T. 阅读详情
tabbedPanel标签

tabbedPanel标签在HTML页面里生成类似windows程序的Tab页,通过使用Tab页,可以在有限的空间里放置更多的内容.
tabbedPanel标签生成的Tab页的内容即可以是静态的,也可以是动态的.如果是静态的,则直接指定Tab页里的内容;如果是动态的,则可以采用Ajax方式来动态加载Tab页的内容.
tabbedPanel标签生成整个Tab框架,而tabbedPanel标签里的div子标签则生成单独的Tab页,每个div子标签生成一个Tab页.因为div标签本身是一个Ajax标签,允许内容动态改变,因此,每个Tab页的内容可以动态改变.
使用tabbedPaned标签可以指定如下几个属性:
closeButton:指定Tab页上关闭按钮的位置,可能的值是tab和pane.
selectedTab:指定加载该页面时选择哪个Tab页面,默认是第一个Tab页面.
doLayout:设置tabbedPanel是否为显示固定高度,如果该属性设置为false则tabbedPanel的高度会随着Tab页大小的改变而改变.
labelposition:设置Tab页面中标签的位置,可以是top(顶,这是默认值);right(右);button(底);left(左).
下面是一个简单的静态Tab页面的代码(JSP页面代码):

<%@ page contentType="text/html;charset=GBK" language="java" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
    <title>tabbled panel示例:简单tabbled panel</title>
<s:head theme="ajax" debug="true"/>
    <link rel="stylesheet" type="text/css" href="<s:url value="/struts/tabs.css"/>">   
</head>
<body>
简单Tab页面,doLayout属性设置是否使用固定高度<br>
<s:tabbedPanel id="tab1" theme="ajax" cssStyle="width: 400px; height: 240px;" doLayout="true">
   <s:div id="left" label="第一个Tab页" theme="ajax" >
    Spring2.0<br>
    J2EE<br>
    Ajax<br>
   </s:div >
   <s:div id="middle" label="第二个Tab页" theme="ajax" >
    <h3>简介</h3>
   有任何问题,都可以发邮件给我。<br>
   </s:div >
</s:tabbedPanel>

</body>
</html>

我们还可以为closeButton指定值来为Tab页面增加关闭按钮。但是在一般情况下并没有这种需求。

tabbedPanel在Tab页中使用动态内容有两种方法:1,直接为div标签指定href属性。2,在div标签中使用Ajax主题的div。实际上,对于tabbedPanel的每个Tab页面而言,都只是一个简单的容器,用于包含其他的HTML组件。动态的tabbedPanel的JSP页面代码如下:

<%@ page contentType="text/html;charset=GBK" language="java" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>包含动态内容的Tab页</title>
<s:head theme="ajax"/>
<link rel="stylesheet" type="text/css" href="<s:url value="/struts/tabs.css"/>" />
</head>
<body>
<s:url id="rd" value="/random.action"/>
<s:tabbedPanel id="tabbedpanel" cssStyle="width: 500px; height: 240px;" doLayout="true">
   <s:div id="panel1" label="动态Tab页面一" href="%{#rd}" theme="ajax"/>
   <s:div id="panel1" label="动态Tab页面二" theme="ajax">
    <h2>您最喜欢的图书:</h2>
    <s:div id="panel11"href="%{#rd}" theme="ajax" updateFreq="1000"/>
   </s:div>
   <s:div id="panel2" label="静态Tab页面" theme="ajax">
   <h3>简介</h3>
有任何问题,都可以发邮件给我。<br>
   </s:div>
   <s:div id="panel3" label="远程表单的Tab页" theme="ajax">
    <div id='show' style="background-color:#bbbbbb;width:240px;height:50px">原始静态文本</div>
    <s:url id="ajaxTest" value="/AjaxTest.action" />
    <s:form action='AjaxTest' method='post' theme='ajax'>
     <s:textfield name="name" label="姓名"/><br/>
     <s:textfield name="age" label="年龄"/><br/>
     <s:submit value="提交" targets="show"/>
    </s:form>
   </s:div>
</s:tabbedPanel>

</body>
</html>

使用JSON插件实现Ajax

1,JSON基础知识

JSON插件是Struts2的Ajax插件,通过利用JSON插件,允许开发者以非常灵活简单的方式来开发Ajax应用。

JSON的全称是JavaSrcipt Object Notation,即JavaScript对象符号,它是一种轻量级的数据交换格式.JSON的数据格式既适合人类的读写,也适合计算机的解析和生成.最早的时候,JSON是JavaScript语言的数据交换格式,后来发展成一种语言无关的数据交换格式,这点类似于XML.


JSON提供了多种语言之间完成数据交换的能力,因此,JSON也是一种非常理想的数据交换格式,JSON主要有如下两种数据结构:
1,由key-value对组成的数据结构,这种数据结构在不同的语言中,有不责骂的实现.例如:在JavaScript中是一个对象,在Java中一种Map结构,在C语言中,则是一个struct.
2,有序集合.这种数据结构在不同语言中,可能有list,vector,数组,序列等实现.


上面的两种数据结构,在不同的语言中都有对应的实现,因此,这种简便的数据表示方式完全可以实现跨语言.因此可以作为程序设计语言中通用的数据交换格式.
在JavaScript中主要有两种JSON的语法:一是用于创建对象;二是用于创建数组.

1,使用JSON语法创建对象

JSON语法创建对象是一种更简单的方式,使用JSON语法可避免书写函数,也可避免使用new关键字,而是直接获取一个JavaScript对象。JavaScript中创建对象的语法如下:

//定义一个函数作为构造器
function Person(name, sex){
this.name=name;
this.sex=sex;
}
//创建一个Person实例
var p = new Person('annlee','male');
//输出Person实例
alert(p.name);

使用JSON的语法如下:

var p = {
"name":'annlee',"sex":'male'
};
alert(p);

这种语法就是一种JSON语法,显然,使用JSON语法创建对象更加简捷,方便。它的value不仅仅可以是普通的字符串,还可以是任何基本数据类型,函数,数组,另一个JSON对象等等。

2,使用JSON语法创建数组

JavaScript创建数组的语法如下:

//创建数组对象
var a = new Array();
//为数组元素赋值
a[0]='annlee';
a[1]='male';
alert(a);

或者用下面的方法:

//创建数组对象
var a = new Array('annlee','male');
alert(a);

使用JSON语法创建数组用如下方法:

//创建数组对象
var a = ['annlee','male'];
alert(a);

由于JSON语法的简单易用,而且作为数据传输载体时,数据传输量更小,因此在Ajax交互中,往往不使用XML,而是使用JSON作为数据交换格式。如果要交换一个对象person,它的name=annlee,gender=male,age=25,使用JSON语法可以简单成如下格式:

person = {
name:'annlee',
gender:'male',
age:26
}

2,为Struts2安装JSON插件

JSON插件提供了一种名为json的ResultType,一旦为某个Action指定了一个类型为json的Result,则该Result无需映射到任何视图资源。因为JSON插件会负责将Action里的状态信息序列化成JSON格式的数据,并将该数据返回给客户端页面的JavaScript。简单地说,JSON插件允许我们在JavaScript中异步调用Action,而且Action不再需要使用视图资源来显示该Action里的状态信息,而是由JSON插件负责将Action里的状态信息返回给调用页面----通过这种方式,就可以完成Ajax交互。

完装JSON插件也只需将JSON的jar包复制到工程的WEB-INF/lib目录下。

JSON的下载地址是:http://www.json.org/ 我们下载Java1.5版本的JSON的lib包就可以了。

JSON的Struts2插件下载地址是:http://code.google.com/p/jsonplugin/downloads/list

将下载的文件json-lib-2.2.2-jdk15.jar和jsonplugin-0.30.jar复制到WEB-INF/lib目录下。

3,实现Action逻辑

下面以一个例子来实现JSON的调用:

1,JSP页面代码:

<%@ page language="java" contentType="text/html; charset=GBK"%>
<script src="prototype-1.4.0.js" type="text/javascript">
</script>
<script language="JavaScript">
function gotClick()
{
   //请求的地址
var url = 'JSONExample.action';
   //将favorite表单域的值转换为请求参数
  var params = Form.serialize('form1');
   //创建Ajax.Request对象,对应于发送请求
  
var myAjax = new Ajax.Request(
   url,
   {
    //请求方式:POST
    method:'post',
    //请求参数
    parameters:params,
    //指定回调函数
    onComplete: processResponse,
    //是否异步发送请求
    asynchronous:true
   });
}


    function processResponse(request)
{
   $("show").innerHTML = request.responseText;
}

</script>
<html>
<head>
<title>使用JSON插件</title>
</head>
<body>
<form id="form1" name="form1" method="post">
<INPUT TYPE="text" name="field1" id="field1"/><br>
<INPUT TYPE="text" name="field2" id="field2"/><br>
<INPUT TYPE="text" name="field3" id="field3"/><br>
<INPUT TYPE="button" value="提交" onClick="gotClick();"/>
</form>

<div id="show">
</div>
</body>
</html>

以上JSP页面有三个表单域,提交表单后通过异步方式发送给JSONExample.action处理。并将返回的数据放在名为show的div标签中。

2,Action中的代码如下:

package lee;
import java.util.HashMap;
import java.util.Map;
import com.opensymphony.xwork2.Action;
import com.googlecode.jsonplugin.annotations.JSON;
public class JSONExample
{
    private int[] ints = {10, 20};
    private Map map = new HashMap();
    private String customName = "custom";
    private String field1;
   //'transient'不会被序列化
    private transient String field2;
    //没有setter和getter方法的字段不会被序列化
    private String field3;


    public String execute()
{
        map.put("name", "annlee");
        return Action.SUCCESS;
    }

    public String getField1() {
        return field1;
    }
    public void setField1(String field1) {
        this.field1 = field1;
    }
    public String getField2() {
        return field2;
    }
    public void setField2(String field2) {
        this.field2 = field2;
    }
    public String getField3() {
        return field3;
    }
    public void setField3(String field3) {
        this.field3 = field3;
    }
    public int[] getInts() {
        return ints;
    }
    public void setInts(int[] ints) {
        this.ints = ints;
    }
    public Map getMap() {
        return map;
    }
    public void setMap(Map map) {
        this.map = map;
    }
    @JSON(name="newName")
    public String getCustomName()
{
        return this.customName;
    }
}

通过Action中的注释,可以了解到标记为'transient'的属性,以及没有get/set方法的属性不会被序列化,即不会出现在JSON的返回值中。

我们还可以通过@JSON注释来设置JSON返回值中的数据名称。此外JSON注释还支持如下几个域:

serialize:设置是否序列化该属性
deserialize:设置是否反序列化该属性
format:设置用于格式化输出,解析日期表单域的格式.例如"yyyy-MM-dd'T'HH:mm:ss"

3,struts.xml配置文件中的配置如下:

<struts>
<constant name="struts.i18n.encoding" value="UTF-8"/>
<package name="example" extends="json-default">
   <action name="JSONExample" class="lee.JSONExample">
   <result type="json"/>
   </action>
</package>
</struts>

可以看到type=json的result无任何返回视图。这里还有另外两点要注意:1,struts.i18n.encoding要配置成UTF-8,国为Ajax的POST请求都是以UTF-8的方式进行编码的。2,配置包时,要扩展自json-default,因为在json-default包下才有json类型的result。

当然我们也可以按照普通的返回视图来实现这个功能,这就要在返回的JSP页面中将Action中需要返回的值从新做个包装。这种处理方式,我在另一篇文章中已经写过了。(http://hi.baidu.com/annleecn/blog/item/b0dc017a8ae897f10bd18755.html)

在上面的页面中使用了prototype.js的Ajax.Request来完成Ajax交互,为了使用prototype.js,需要在该页面中导入prototype.js的代码库。即将prototype.js放在JSP相同的目录下。或JSP可以访问到的目录下。

4,显示结果:

访问JSP页面,提交后的JSON返回结果如下:

{"newName":"custom","field1":"","field2":"","field3":"","ints":[10,20],"map":{"name":"annlee"}}

5,解析返回值:

对于上面的这种JSON格式的字符串,可以借助于JSON扩展后的字符串方法将转换成一个对象,从而能以更简单的方式来访问该字符串,JSON扩展了JavaScript字符串的方法,为JavaScript字符串增加了一个parseJSON()或parse()方法,该方法用于将一个JSON格式的字符串解析成一个个JSON对象,例子代码如下:

function processResponse(request){  
     var objectArray = JSON.parse(request.responseText);
   var upound = objectArray.length;
     for(var j =0; j < upound; j++ ){  
     var paramKey = objectArray[j].paramCode;

       if($(paramKey)){
           document.getElementById("docYear_textBox").value=objectArray[j].paramValue;
           $("docYear_selectedValue").value=objectArray[j].paramValue;
         }
     }
}

当然,这里也要将json.js放在同JSP一样的目录下。或JSP可以访问到的目录下。

TabbedPanel Taglibrary-开源 用于在选项卡中显示内容的标记库-HTML选项卡式窗格,支持AJAX的选项卡内容。 提供类似于JTabbedPane的功能。 可使用CSS进行自定义。 相当简单易用。 立即下载

相关推荐

用MATLAB从零实现六足机器人步态仿真:交替三角与波动步态保姆级教程

本文详细介绍了如何使用MATLAB从零实现六足机器人的两种经典步态仿真:交替三角支撑步态和波动步态。通过参数定义、相位设置、运动轨迹生成和三维可视化等步骤,帮助读者掌握六足机器人步态规划的核心技术。教程包含完整代码和详细解析,适合机器人爱好者和相关专业学生学习实践。

weixin_26765363的博客 227

《Python+Kivy(App开发)从入门到实践》自学笔记:高级UX部件——TabbedPanel选项面板

《Python+Kivy(App开发)从入门到实践》自学笔记:高级UX部件——TabbedPanel选项面板

lstef的博客 1155

金证股份软件测试笔试题面试题

boss上这家公司的HR找到了我,我看了一下这家公司的业务,是我以前做过的基金与证券。还是很感兴趣的,决定去面试看看情况。 (因为只是想去涨面试经验,没有想拿offer,一些回答有点不太对,为后面木有offer埋下伏笔。其实有点亏,毕竟走路过去,而且还花了3个小时) 地点在金证股份科技大楼8楼。 2月25号 主要分为笔试题和面试。 1、笔试题 进来的时候直接给我一份笔试题做,做了一个半小时吧。 分为3道选择题和1道SQL查询题、1道案例设计题 选择题都是考察SQL函数,可能日常生活中没有见过

全村的希望的博客 4451

tabbedpanel标签

tabbedpanel标签将被呈现为一个多页面板,如图27-3所示。它可以包含任意多个面板,并且每个面板都是可以关闭的。 图27-3 一个多页面板 tabbedpanel标签的属性列在表27-7里。 表27-7 tabbedpanel标签的属性 名字 数据类型 默 认 值 说明 afterNotifyTopics Str...

weixin_34343689的博客 241

保姆级教学:从0搭建微信小程序SpringBoot+Vue(一)

目标:实现一个微信小程序从后端数据库MySQL获取的商品展示页。 框架:后端采用SpringBoot,前端采用Vue,数据库MySQL。 部署工具:IntelliJ IDEA 2024.2专业版+HbuilderX+Node+微信开发者工具,jdk1.8已安装

weixin_44545610的博客 4925

基于Simulink的前馈解耦SVPWM整流器仿真

本文提出了一种基于Simulink的前馈解耦SVPWM整流器仿真方案,针对传统双闭环控制存在的耦合严重、电压利用率低等问题进行优化。通过前馈补偿dq轴耦合项(ωLiq和ωLid)结合SVPWM调制算法,实现了电流跟踪误差<3%、电压利用率达0.99、THD<3%的性能指标。文章详细阐述了系统架构设计,包括前馈解耦原理推导、SVPWM算法实现步骤,并提供了完整的Simulink建模方法。仿真结果表明,该方案在动态响应速度(25ms)和直流电压纹波(1.1%)方面显著优于传统SPWM控制。同时给出了

MHD0815的博客 162

Java Swing JTabbedPane:选项卡组件

创建套接字: create(端口号,socket类型,ip地址(null表示接收任何ip地址的请求)) 侦听连接请求: listen(等待连接队伍的最大长度) 接收连接请求: accept(????) 发送信息: send(发送数据的缓冲指针,数据大小,调用方式默认为0) 接收信息: receive(接收数据的缓冲,缓冲大小,默认调用方式为0) ...

这里是菠萝味菠萝啤的博客 1125

手把手教你在VirtualBox里复活Win98,并搞定驱动和文件传输(含资源寻找攻略)

本文详细指导如何在VirtualBox中安装和配置Windows 98,包括驱动安装、文件传输等实用技巧。通过逐步教程和资源寻找攻略,帮助技术爱好者完美复刻这一经典操作系统,满足怀旧或兼容性测试需求。

weixin_29596051的博客 324

tabbedpanel用法

声名:转自:http://jiake.iteye.com/blog/271270 1.多个tab 如何选中某一个: function selectTab(id) { var tabContainer = dojo.widget.byId("tabContainer"); tabContainer.selectTab(id); } ...

wangkehengshuai的专栏 389

【图像去噪】论文复现:降维打击!图像对输入变成像素对输入!Pytorch实现Noise2Void(N2V),基于U-Net模型训练,简洁明了理解N2V核心思想!附训练好的灰度图和RGB图的模型文件!

论文题目:Noise2Void-Learning Denoising from Single Noisy Images —— Noise2Void -从单个噪声图像中学习去噪【图像去噪】论文精读:Noise2Void-Learning Denoising from Single Noisy Images(N2V)由于源码是tensorflow版本,本文将基于Pytorch复现。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 1356

【Linux命令大全】006.网络通讯之netstat命令(实操篇)

本文详细介绍了Linux系统中netstat网络诊断命令的实用技巧。主要内容包括:1) 基本功能与参数详解,展示如何查看网络连接、路由表和接口统计;2) 安装方法及基础用法,如查看TCP/UDP连接、显示进程信息和路由表;3) 高级应用技巧,包括监听端口检查、连接状态统计和实时监控。文章通过表格和代码示例,系统性地呈现了netstat在系统管理中的核心应用场景,是网络故障排查和性能监控的实用指南。

yuhuasheng1997的博客 705

struts2:tabbedPanel标签

1、tabbedPanelTag.jsp: Enter first and last name     cssStyle="padding: 10px; ">   第一个 TabItem   第一个 TabItem       cssStyle="padding: 10px; ">         第二个 TabItem         第

ld513508088的专栏 2844

IPGUARD客户端与应用程序冲突

客户端与应用程序冲突 症状 安装客户端之后,客户端的某些程序无法运行或使用过程中出现异常,卸载客户端后恢复正常。 原因分析 可能是客户端的某些功能与应用程序发生冲突导致。 解决方法 当出现这样的情况时,可以按照以下步骤确认。 步骤1:屏蔽主动注入 在客户端配置策略中,增加配置策略hookapi_disinj,值为1;待策略同步到客户端后,重启客户端确认问题是否解决。如果解决,则转到...

IP-Guard专栏 1410

tabbedpanel (选项卡)标签

tabbedpanel标签将被呈现为一个多页面板,如图27-3所示。它可以包含任意多个面板,并且每个面板都是可以关闭的。 图27-3 一个多页面板 tabbedpanel标签的属性列在表27-7里。 表27-7 tabbedpanel标签的属性 名字 数据类型 默 认 值 说明 afterNotifyTopics ...

xufaxi的专栏 160

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

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

各种选项卡标签Tabbedpanel示例

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@ taglib uri="/struts-tags" prefix="s"%><%@ taglib uri="/struts-dojo-tags" prefix="sx"%><!D...

weixin_30435261的博客 193

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

struts2之Tabbedpanel标签实现选项卡

参考:点击打开链接

卡尼_Hu 406

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Ajax tabbedpanel标签

struts+Ajax实现的多面板 要使用tabbedpanel标签,必须在struts项目的lib目录下加入dojo插件此处使用的就是struts2-dojo-plugin-2.2.1.jar组件,使用此组件才可作为Ajax平台来开发   页面test.jsp Tabbed Panel            this is first

luoxiang183的专栏 549

struts2.1 Tabbedpanel标签实现选项卡效果

struts2.1提供Ajax标签实现各种选项卡效果 按照下面操作进行 1.现在使用的时候首先要导入一个库 : struts2-dojo-plugin-2.1.6.jar 2.在要生成日期控件的页面头部加上: 3.然后在web页面的head标签下面加上 也可以加上下面两句话 4.实现各种选项卡效果的示例: ...

卡巴斯基 238

struts2 Tabbedpanel标签实现选项卡效果

struts2.1提供Ajax标签实现各种选项卡效果 按照下面操作进行 1.现在使用的时候首先要导入一个库 : struts2-dojo-plugin-2.1.6.jar 2.在要生成日期控件的页面头部加上: 3.然后在web页面的head标签下面加上 也可以加上下面两句话 4.实现各种选项卡效果的示例: ...

摩西人生 231

动态获取struts2中tabbedPanel标签的当前选项

 假如有如下代码:               cssStyle="width:500px;height:400px">                            Main Content                                    Detail Content        如果现在有个需求:我想通过js获得当前tabbedPanel页的选项是谁

寻觅出路,争取幸福 1348

struts2之Tabbedpanel标签实现选项卡(极力推荐)

[img]http://dl.iteye.com/upload/attachment/351722/85700c04-be51-3e80-b7a3-fd86ce504c33.gif[/img] [img]http://dl.iteye.com/upload/attachment/351724/cd4e556f-4d7a-344f-959c-d0bfb9f31309.gif[/img] ...

love13983072282的专栏 337

《struts2权威指南》学习笔记之struts2 ajax标签之tabbedPanel

tabbedPanel标签在HTML页面里生成类似windows程序的tab页,通过使用TAB页面,可以在有限的空间里放置更多的内容web.xml xml version="1.0" encoding="GBK"?>web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"    xmlns:xsi="http://w

我的世界我的梦 3706

truts2.1 Tabbedpanel标签实现选项卡效果

struts2.1提供Ajax标签实现各种选项卡效果 按照下面操作进行 1.现在使用的时候首先要导入一个库 : struts2-dojo-plugin-2.1.6.jar   2.在要生成日期控件的页面头部加上:   3.然后在web页面的head标签下面加上 也可以加上下面两句话 theme="xhtml"/>  pars

谦虚使人发胖的博客 815

kivy 018 TabbedPanel

<TabbedPanelTest>: size_hint: .5, .5 pos_hint: {'center_x': .5, 'center_y': .5} do_default_tab: False TabbedPanelItem: text: 'first tab' Label: text: 'First tab content area' TabbedPanelItem: t

weixin_33595571的博客 287
上一篇: javascript实现表格劈分拖拽
下一篇: JAVA定时器
memory_xj
博客等级 码龄24年 44粉丝 23原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值