K:注解语法简介

NN-Descent构建K近邻图——论文超详细注解 论文题目 Efficient K-Nearest Neighbor Graph Construction for Generic Similarity Measures 相关信息 作者与单位 Wei Dong(wdong@cs.princeton.edu); Moses Charikar(moses@cs.princeton.edu); Kai Li(li@cs.princeton.edu). D... 阅读详情

@转载自:http://www.cnblogs.com/peida/archive/2013/04/24/3036689.html

注解分为元注解(meta-annotation)和自定义注解

元注解:

元注解:是负责注解(动词)其它注解(名词)的注解(名词)。

java5.0中有4个标准的注解。它用来对其它annotation类型作说明

1.@Target

2.@Retention

3.@Documented

4.@Inherited

 

以上的四个元注解,以及其所支持的类位于java.lang.annotation包中。

 

@Target:

用于描述注解所修饰的对象范围,Annotation可用于packages(包)、types(类,接口,枚举,annotation类型)、类型成员(方法、构造方法、成员变量、枚举值)、方法参数和本地变量(如循环变量、catch参数)。在Annotation类型的声明中使用了target可更加清晰其修饰的目标。

作用:用于描述注解的使用范围(即:被描述的注解可以被使用在什么地方)

取值(ElementType)有:

1.CONSTRUCTOR:用于描述构造器(构造方法)

2.FIELD:用于描述域(即成员变量或静态变量)

3.LOCAL_VARIABLE:用于描述局部变量(方法中的变量)

4.METHOD:用于描述方法(成员方法或者静态方法)

5.PACKAGE:用于描述包

6.PARAMETER:用于描述参数(成员方法或者静态方法中的参数)

7.TYPE:用于描述类、接口(包括注解类型)或enum声明

8.ANNOTATION_TYPE:用于描述注解

 

例子:

@Target(ElementType.TYPE)

public @interface Table

{

/**

*数据表名称注解,默认值为类名称

*@return

*/

public String tableName() default “className”;
}

 

@Target(ElementType.FIELD)

public @interface NoDBColumn

{

}

 

 

注解Table可以用于注解类,接口(包括注解类型的接口,就是声明注解的注解)或enum声明,而注解NoDBColumn仅可以注解类的成员变量或类变量

 

@Retention

@Retention定义了该Annotation被保留的时间长短;某些Annotation仅出现在源代码中,而被编译器丢弃,而另一些却被编译在class文件中,编译在class文件中的Annotation可能会被虚拟机忽略,而另一些在class被转载时将被读取。这个元注解可以对Annotation的“生命周期”进行限制。

作用:表示需要在什么级别保存该注释信息,用于描述注解的生命周期(即被描述的注解在什么范围内有效)

取值(RetentionPolicy)有:

1.SOURCE:在源文件中有效(即注解仅存在于源码中,在class字节码文件中不包含。当Java文件编译成class文件的时候,注解被遗弃。Annotations are to be discarded by the compiler.)

2.CLASS:在class文件中有效(即默认的保留策略,注解会在class字节码文件中存在,但运行时无法获得。jvm加载class文件时候被遗弃。这是默认的生命周期。Annotations are to be recorded in the class file by the compiler but need not be retained by the VM at run time.  This is the default behavior.)

3.RUNTIME:在运行时有效(即注解会在class字节码文件中存在,在运行时可以通过反射获取到。jvm加载class文件之后,仍然存在,保存到class对象中,可以通过反射来获取。)

 

 

例子:

@Target(ElementType.FIELD)

@Retention(RetentionPolicy.RUNTIME)

public @interface Column

{

public String name() default ”fieldName”;

public boolean defaultDBValue() default false;
}

Column注解的RetentionPolicy的属性值为RUNTIME,其表示该Column注解是运行时保留的,这样注解处理器可以通过反射,获取到该属性值,从而去做一些运行时的逻辑处理。

 

@Documented

@Documented用于描述其它类型的注解应该被作为被标注的程序成员的公共API(也就是说,被@Documented注解的注解其在注解程序的时候,被注解的程序是对外开放的公共API),因此可以被例如javadoc此类的工具文档化。Documented是一个标记注解,没有成员

 

例子:

@Target(ElementType.FIELD)

@Retention(RetentionPolicy.RUNTIME)

@Documented

public @interface Column

{

public String name() default “fieldName”;

}

 

 

@Inherited

@Inherited元注解是一个标记注解,@Inherited阐述了某个被标注的类型是被继承的,即子类型会继承父类型的该注解。如果一个使用了@Inherited修饰的注解类型被用于一个class,则其annotation将被用于该class的子类。

注意:@Inherited annotation类型是被标注过的class的子类所继承。类并不从它所实现的接口继承annotation,方法并不从它所重载的方法继承annotation、

 

当@Inherited annotation类型标注的annotation的Retention是RetentionPolicy.RUNTIME,则反射API增强了这种继承性。如果我们使用java.lang.reflect去查询一个@Inherited annotation类型的annotation时,反射代码检查将展开工作:检查class和其父类,直到发现指定的annotation类型被发现,或者到达类继承结构的顶层。

 

例子:

@Inherited

public @interface Greeting

{

public enum FontColor{BLUED,RED,GREEN};

String name();

FontColor fontColor() default FontColor.GREEN;
}

 

 

 

自定义注解:

自定义注解,就是自己所编写的注解,java中提供了四个元注解,其与的注解均为自定义注解。

使用@interface自定义注解时,自动继承了java.lang.annotation.Annotation接口,由编译程序自动完成其它细节。在定义注解时,不能继承其它的注解或者接口。@interface用来什么一个注解,其中的每一个方法实际上是声明了一个配置参数。方法的名称就是参数的名称,返回值类型就是参数的类型(返回值类型只能是基本数据类型,Class类型,String,enum)。可以通过default来声明参数的默认值。

语法格式如下:

@元注解

public @interface 注解名

{

public [static][final] 变量类型 变量名=变量值;

public [abstract] 返回值类型(也就是注解的参数类型) 方法名称(也就是注解的参数名称) [default 返回值类型的值](其表示可选);
}

 

注解参数的可支持数据类型:

1.所有基本数据类型(int、float、boolean、byte、double、short、long、char)

2.String类型

3.Class类型

4.enum类型

5.Annotation类型

6.以上所有类型的数组

 

Annotation类型里面的参数的设定:

1.只能用public或默认(缺省)这两个访问权修饰。例如 String value();这里就是把方法用缺省值进行修饰。

2.参数成员只能是基本基本类型byte,short,char,int,long,float,double,boolean八种基本数据类型和 String,Enum,Class,annotations等数据类型,以及这一些类型的数组.例如,String value();这里的参数成员就为String;

3.如果只有一个参数成员,最好把参数名称设为"value"。即类型String value();这样

 

 

注解使用的一个例子:

package annotation;

 

import java.lang.annotation.Documented;

import java.lang.annotation.ElementType;

import java.lang.annotation.Retention;

import java.lang.annotation.RetentionPolicy;

import java.lang.annotation.Target;

 

@Target(ElementType.FIELD)

@Retention(RetentionPolicy.RUNTIME)

@Documented

@interface FruitName 

{

String value() default "";

}

 

@Target(ElementType.FIELD)

@Retention(RetentionPolicy.RUNTIME)

@Documented

@interface FruitColor

{

public enum Color{BLUED,YELLOW,GREEN};

Color fruitColor() default Color.BLUED;

}

 

 

package annotation;

 

import annotation.FruitColor.Color;

 

/**

 * 自定义注解的使用例子,对于注解而言,如果没有相应

 * 的注解信息处理流程,注解便毫无使用价值

 * 让注解发挥真正作用,主要在于注解处理方法

 * @author 学徒

 *

 */

public class Test

{

@FruitName(value="apple")

private String appleName;

@FruitColor(fruitColor=Color.BLUED)

private String appleColor;

public void displayInformation()

{

System.out.println(this.appleColor+"\t"+this.appleName);

}

public static void main(String[] args)

{

new Test().displayInformation();

}

}

 

 

对于注解元素而言(即注解中定义的方法也就是注解的参数),注解元素必须要有确定的值,要么在定义注解的默认值中指定,要么在使用注解时指定,非基本类型的注解元素的值不可以为null。因此,使用空字符串或0作为默认值是一种常见的做法。这个约束使得处理器很难表现一个元素的存在或缺失的状态,因为每个注解的声明中,所有元素都存在,并具有相应的值,为了绕开这个约束,我们只能定义一些特殊的值,例如空字符串或者负数,以此来表示某个元素不存在,在定义注解时,这已成为一种习惯用法。例如:

 

package annotation;

 

import java.lang.annotation.Documented;

import java.lang.annotation.ElementType;

import java.lang.annotation.Retention;

import java.lang.annotation.RetentionPolicy;

import java.lang.annotation.Target;

 

/**

 * 该类用于演示默认的annotation的值

 * @author 学徒

 *

 */

@Target(ElementType.FIELD)

@Documented

@Retention(RetentionPolicy.RUNTIME)

public @interface AnnotationDefault 

{

public int id() default -1;

public String name() default "";

public String address() default "";

}

 

定义了注解,并在需要的时候给相关的类,类属性加上注解信息,如果没有相应的注解信息处理流程,注解可以说是没有实用价值。如何让注解真的发挥作用,主要在于注解的处理方法上。往下,将介绍注解信息的获取和处理。

K语言入门学习3:歧义消除 这里从语言表述中可能产生歧义出发,描述了K框架中bracket和token两个属性的由来。 可能整篇语言学逻辑的东西比较多,整个讲下来,大家可能不是太理解,不妨多看看视频中的例子。 抓住bracket消除歧义,以及Token定义term的具体涵义的实质功能就好,后面多用K框架编写相应的行文规范,才能更好地理解本篇的内容。... 阅读详情

相关推荐

Lsdyna圆柱绕流-附详细K文件与逐行注释

这个K文件。模拟了流体绕流。比较适合研究相关内容的硕博生参考。另外我在K文件的每一行上都标注了设置这一条的原因,让读者能够真正理解原因。本来这个专栏是我自己留存想要防止遗忘的,但是每天都有各种后台私信有偿求K文件,遂做成公开。

zheaa的博客 203

8.spring系列- java注解

问题 注解是干什么的? 一个注解可以使用多次吗?如何使用? @Inherited是做什么的? @Target中的TYPE_PARAMETER和TYPE_USER用在什么地方? 泛型中如何使用注解? 注解定义可以实现继承吗? spring对注解有哪些增强?@Aliasfor注解是干什么的? 什么是注解 代码中注释大家都熟悉吧,注释是给开发者看的,可以提升代码的可读性和可维护性,但是对于java编译器和虚拟机来说是没有意义的,编译之后的字节码文件中是没有注释信息的;而注解和注释有点类似,唯一的区别就是注释是

qq_32062699的博客 2666

Gerrit 使用操作手册

Gerrit是一种免费、开源的代码审查工具,使用网页交互页面。这个软件的名称来自于荷兰设计师师赫里特·里特费尔德(GerritRietveld),作者为Google公司的ShawnPearce。它使用Git作为底层版本控制系统,相比于其他的代码管理工具,Gerrit明显的特色是代码审核。利用网页浏览器,同一个团队的软件程序员,可以相互审核(Review)彼此修改后的程序代码,然后决定是继续提交还是取消提交。...

九离的博客 1万+

字符串类——MyString类

字符串操作,写了一个自己的string类,小小的练习。 #pragma once #include <iostream> #include <cstring> class MyString { public: MyString(); //默认构造函数 MyString(const char* s); //构造函数 MyString(const MyString& s); //拷贝构造函数 ~MyString(); // 析构函数 MyString& o

程序的魅力 4952

Windows下Nginx发布DEM地形瓦片数据全流程(含Cesium调用避坑指南)

本文详细介绍了在Windows环境下使用Nginx发布DEM地形瓦片数据的完整流程,并提供了Cesium前端调用的详细配置与避坑指南。重点讲解了Nginx的核心配置、跨域问题解决以及CesiumTerrainProvider的关键参数设置,帮助开发者快速搭建本地地形服务,实现高效的三维地形可视化。

weixin_29212867的博客 435

GitLab社区版vs企业版:本地部署性能对比与选型建议(含实测数据)

本文深入对比GitLab社区版(CE)与企业版(EE)在本地部署中的性能差异与功能特性,提供实测数据与选型建议。测试显示EE版在并发克隆、CI流水线启动等场景性能提升显著,尤其适合需要高级安全合规与CI/CD功能的团队。文章还包含硬件配置指南与成本效益分析,帮助技术决策者做出明智选择。

weixin_28828243的博客 295

K:注解简介

@转载自:http://www.cnblogs.com/peida/archive/2013/04/23/3036035.html 什么是注解(Annotation): Annotation(注解)注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用

MyStringIsNotNull的博客 330

保姆级教程:在RK3568 Debian系统上搞定AIC8800 WiFi与蓝牙驱动(含固件路径与开机自启脚本)

本文提供在RK3568 Debian系统上配置AIC8800 WiFi与蓝牙驱动的保姆级教程,涵盖驱动移植、固件部署、开机自启脚本等关键步骤。通过详细的硬件连接指南、内核配置示例和常见问题解决方案,帮助开发者快速实现无线模块的全功能配置,特别适合嵌入式Linux开发者参考。

weixin_28684825的博客 380

Java注解之 @Target、@Retention、@Documented简介

先来看一个Spring中的一个常用注解 package org.springframework.stereotype; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.ann...

笔落墨成&博客 343

工业相机——靶面尺寸、像元尺寸、分辨率 、传感器尺寸

由Sensor对角线长度表示,单位英寸,这里的1英寸=16mm。——靶面尺寸为宽12.7mm*高9.6mm,对角线16mm。——靶面尺寸为宽8.8mm*高6.6mm,对角线11mm。——靶面尺寸为宽7.2mm*高5.4mm,对角线9mm。——靶面尺寸为宽6.4mm*高4.8mm,对角线8mm。——靶面尺寸为宽4.8mm*高3.6mm,对角线6mm。——靶面尺寸为宽3.2mm*高2.4mm,对角线4mm。——靶面尺寸为宽14*高10.5mm,对角线17mm。

程序员,他们想的是什么?他们想的永远都是技术,他们崇尚的也永远都是技术。 9607

【嵌入式DIY实例-ESP32篇】-热成像仪

在本文中,我们将使用 MLX90640 热像仪和 1.8 英寸 ST7735 TFT 显示屏,构建一款基于 ESP32 的高性能紧凑型热像仪。本项目旨在打造一款便携、响应迅速的热像仪,具有增强的图像质量、优化的帧率和精准的温度读数。

视觉与物联智能 880

初识YAML语法,YAML语法小结 @ConfigurationProperties注解用法

YAML语法 1. YAML基本语法: key: 空格value 表示一对键值对(空格必须要有) 以空格的缩进来空值层级关系:只要是左对齐的一列数数据都是同一层级的。 server: port: 8081 path: /hello 属性和值也是大小写敏感的。 2. 值的写法 字面量:普通的值(数字,字符串,布尔) k: v 字面量直接来写 字符串不用加上单引号或者双引号 “”:双引号:不会转义字符串里面的特殊字符;特殊字符会作为本身想表示的意思。 name:“zhangsan \n list”

suitianshuang 793

LLM评测框架Ragas:测试RAG的性能出现TimeoutError()的解决办法(Ragas+langchain+ollama)

无奈之下,自己找到了一个解决办法,在ragas支持的llm类库中加了一个如下的类,支持ollama、langchian_ollama使用ragas测试报错的问题。可以将如上的库放到你的ragas的系统库的llms目录下,然后修改__init__.py如下。最近用ragas测试rag的性能,发现老出现TimeoutError()的错误。这是一个临时的解决办法,具体等待官方给出最终的解决方案。后来发现官方也没有尽快支持的计划。然后就可以用如下代码进行一些验证。

Criss@陈磊 666

Java 简单笔记——注解

注解一、概述二、三个基本的Annotation1.@Override2.@Deprecated 一、概述 从JDK5.0开始,Java新增加了对元数据(MetaData)的支持,也就是注解(Annotation) 注解其实就是代码中的特殊标记,这些特殊标记可以在类加载、编译、运行时被读取,并执行相应的处理。使用注解最大的作用就是在不改变原程序逻辑的情况下添加补充信息。 Annotation可以像修饰符一样被使用,可用于修饰包、类、构造器、方法、成员变量、参数、局部变量的声明,这些信息被保存在Annotat

Jiashun Hao的博客 1万+

16、保障Azure应用安全:密钥管理与身份认证

本文深入探讨了保障Azure应用安全的关键措施,包括使用网络安全工具(如Application Gateway和Azure Front Door)防范攻击,解决传统密钥和机密存储方式的安全隐患,以及通过Azure Key Vault实现敏感信息的安全管理。同时,介绍了使用托管标识实现Azure资源间安全访问的方法,并结合实际操作步骤展示了如何配置Key Vault、设置访问策略、存储机密以及授予Web应用对SQL Server的访问权限。最后,对不同安全措施进行了比较,并提出了在开发、测试及生产环境中的综合

rock5的博客 72

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

java字段注解类型数组_Java注解用法

Java注解用法注解元素的提供值必须是编译时常量表达式,不能使用null作为注解中任何类型元素的值。基本类型注解类型中的元素的数据类型可以是任何基本数据类型:byte,short,int,long,float,double,boolean 和 char。Version注释类型声明两个元素:major和minor,并且都是int数据类型。以下代码声明了注解类型:public @interface M...

weixin_31456563的博客 3765

深度学习工具包 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进阶13: 注解】java内置的需要掌握的注解、元注解、反射注解、反射方法上的注解、注解在开发中的作用

只能出现在类上面,要求这个类中必须有一个int类型的id属性,如果没有这个属性就报异常,如果有这个属性则正常运行。如果一个注解的属性名是:value,并且该注解类型中只有这一个属性时在使用的时候,该属性名可以省略。注解中的属性为数组时,如果只写一个参数,则大括号可以省略,属性有枚举类型时怎么用。这个Target注解用来标注“被标注的注解”可以出现在哪些位置上。用来标注“注解类型”的“注解”,称为“元注解”这是一个元注解,用来标注“注解类型”的“注解”这是一个元注解,用来标注“注解类型”的“注解”

博客 563

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

java中注解 的用法_Java注解用法

本篇文章帮大家学习java注解用法,包含了Java注解用法使用方法、操作技巧、实例演示和注意事项,有一定的学习价值,大家可以用来参考。Java注解用法注解元素的提供值必须是编译时常量表达式,不能使用null作为注解中任何类型元素的值。基本类型注解类型中的元素的数据类型可以是任何基本数据类型:byte,short,int,long,float,double,boolean 和 char。Versio...

weixin_39705193的博客 407

java 基础语法速成

略

google20的博客 880

JavaSE笔记28:注解

注解 注解,或者叫做注释类型,英文单词是Annotation 注解Annotation是一种引用数据类型,编译之后也是生成xxx.class文件 怎么自定义注解 [修饰符列表] @interface 注解类型名{ } package se7; /* 自定义注解:MyAnnotation */ public @interface MyAnnotation { //???????? } 如何使用,用在什么地方? 注解使用时的语法格式:@注解类型名 注解可以出现在类上、属性上、方法上

qwq_666的博客 167

Matlab实现Kmeans算法(每行代码标注详细注解)

本文主要为了完成平日作业,并进一步加深对算法的理解。也希望对来访的读者有所帮助。 目录 一、什么是Kmeans算法 二、Kmeans算法的意义 三、Kmeans算法代码解析 1.关键概念 2.大致思路 3.对照每行代码的详细注解 四、总结 总结 一、什么是Kmeans算法 二、Kmeans算法的意义 三、Kmeans算法代码解析 1.关键概念 2.大致思路 3.对照每行代码的详细注解 function [U, E_in] = KMeans(data, K) [N, .

TaloyerG的博客 4万+

JavaEE初阶---properties类+反射+注解

1.配置文件properities 2.快速上手 3.常见方法 3.1读取配置文件 3.2获取k-v值 3.3修改k-v值 3.4unicode的说明 4.反射的引入 4.1传统写法 4.2反射的写法(初识) 4.3反射的介绍 4.4获得class类的方法 4.5所有类型的class对象 4.6类加载过程 4.7类初始化的过程 4.8类加载过程 4.9获取类的运行时结构 4.10动态创建对象 4.11获取成员属性方法 4.12性能测试 5.反射的应用 5.1操作泛型 5.2操作注解 6.注解annotati

大学成长道路上的探索经历与点滴思考,与君共勉,共筑成长。 1632

使用Mybatis的@MapKey注解返回Map集合案例

1、Mybatis@MapKey注解的使用场景 在多值查询的时候,通常要把方法返回类型设置为Map<String,Object>类型,Mybatis为我们提供了另一种解决方式,通过K-V的形式将查询结果保存在Map中,这种实现方式只需要在方法上标注为@Mapkey即可。 2、代码 @Mapper public interface TbUserInfoMapper { ...

川子的博客 1万+

Robot Framework 4.0.1 版本发布说明与关键修复深度解析

Robot Framework 4.0.1 是 4.0.x 系列的首个缺陷修复版本,于 2021 年 4 月 8 日发布,集中修复了 4.0 正式版发布后上报的若干严重问题,涵盖 Listener 中执行关键字导致 output.xml 损坏、套件 Teardown 中跳过测试引发的崩溃、多类型参数转换逻辑缺陷等。读完本文,你将掌握 4.0.1 的三项核心修复内容及其底层原理、一处向后不兼容的行为

gitblog_00372的博客 593

【Java基础】15.脚本、编译、注解

Java的注解机制

Maxbao0401的博客 1830
上一篇: K:注解简介
下一篇: K:注解处理
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值