初始化列表

模型参数的初始化

二次信任 提交于 2019-12-01 10:27:07
1. tf.global_variables_initializer() 可以初始化所有变量。 import tensorflow as tfa=tf.Variable(tf.ones((2,3)),name='a')b=tf.Variable(tf.random_normal(shape=(2,3),stddev=0.35),name='b')sess=tf.Session()sess.run(tf.global_variables_initializer())print(sess.run(a))print(sess.run(b)) 2. tf.variables_initializer([var_list]) 仅初始化列表var_list种的值。 import tensorflow as tfa=tf.Variable(tf.ones((2,3)),name='a')b=tf.Variable(tf.random_normal(shape=(2,3),stddev=0.35),name='b')sess=tf.Session()# sess.run(tf.variables_initializer([a])) # 只初始化变量a,而变量b未作初始化,因此执行会报错。sess.run(tf.variables_initializer([a,b])) # 对变量a与b做了初始化

JForum的启动加载过程

无人久伴 提交于 2019-12-01 10:26:18
  转载: http://www.jeedao.net/archives/4.html   互联网上有着众多优秀的开源软件,但是却很少有系统化的,优秀的文档来说明这些软件的使用、开发与研究。而这些软件的中文文档和设计文档就更加少之又少了。我们试图编写一些这方面的中文文章,讲解这些优秀开源软件的使用、开发与研究问题,最终形成手册。由于水平有限,希望大家多多支持,有写得不当的地方也恳请大家指正。   研究JForum论坛应该从JForum的启动加载过程开始,这样才能够更清楚程序运行的来龙去脉。   JForum架构是遵循MVC设计模式实现的,其中net.jforum.JForum类是其实现MVC设计模式的控制器,也就是说它是MVC中的“C”。查看net.jforum.JForum.java文件我们不难发现其实JForum.java文件是一个继承JForumBaseServlet.java的类,而JForumBaseServlet.java是继承HttpServlet的类。也就是说我们可以把JForum.java当作一个Servlet来看待。   那么,初始化过程当中首先被调用的就是JForum.java中的init()函数,在init()函数中调用了super.init()以及super.startFrontController()

C++ 初始化列表

痞子三分冷 提交于 2019-12-01 05:43:13
C++中提供了初始化列表对成员变量进行初始化。   语法规则: class_name::class_name()           m1(v1),m2(v2,v3),m3(v3)         {           .......         } 注意:   成员的初始化顺序,与成员的声明顺序相同。   成员的初始化顺序与初始化列表的位置无关。   初始化列表比构造函数先执行。 测试代码:    #include <stdio.h> class val { private: int i; public: val(int val) { i = val; printf("i = %d\n",i); } }; class Test { private: const int Ci=10; val m1; val m2; public: Test():m2(2),m1(1) { //Ci = 1; printf("Test::Test()\n"); } int get_Ci() { return Ci; } }; int main(int argc, char *argv[]) { Test Ci; printf("Ci = %d\n",Ci.get_Ci()); return 0; }   运行结果:   i = 1 i = 2 Test::Test() Ci = 10

C++继承

馋奶兔 提交于 2019-12-01 05:31:47
继承与派生 一、相关概念: 继承:保持已有类的特性而构造新类的过程 派生:在已有类的基础上新增自己的特性而产生新类的过程 小结:同一过程从不同角度看 好处: 代码的 可重用性 和 可扩充性 以及基类的 可靠性 二、访问控制 从基类继承的成员,其访问属性由继承方式控制。类的继承方式有 public (公有继承)、 protected (保护)、 private (私有继承)三种。不同的继承方式,导致原来具有不同访问属性的基类成员在派生类中的访问属性也有所不同。 公有继承 当类的继承方式为公有继承时,基类的公有成员和保护成员的访问属性在派生类中不变,而基类的私有成员不可直接访问。 例如: #include<iostream> #include<cmath> using namespace std; class Point { //基类:点类 public: void initPoint(float x = 0, float y = 0) { this->x = x; this->y=y; } void move(float offX, float offY) { x += offX; y += offY; } float getX()const { return x; } float getY()const { return y; } private: float x, y; };

spring源码分析:PropertyPlaceholderConfigurer

Deadly 提交于 2019-12-01 05:01:05
简介 最近工作中需要使用zookeeper配置中心管理各系统的配置,也就是需要在项目启动时,加载zookeeper中节点的子节点的数据(例如数据库的地址,/config/db.properties/db.addr),并替代spring xml里的占位符。既然需要替代占位符,那么自然会想到PropertyPlaceholderConfigurer这个类,该类实现了在容器的bean初始化前,替代spring容器的BeanDefinition中的值。 本文将对PropertyPlaceholderConfigurer源码进行解析。 为了简化整个分析流程,假设定义了一个bean ZookeeperUtil,需要PropertyPlaceholderConfigurer类修改beanDefinition定义,替换${zookeeper.addr}。 1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://www.springframework.org/schema/beans 5

三、面向对象(高琪java300集+java从入门到精通笔记)

二次信任 提交于 2019-12-01 02:58:25
面向对象基础: 对象的进化史 基本数据类型阶段 数据少 无数据管理时代 数组 数据多了,将同类型的数据放到一起 弱管理 结构体 数据多了,数据复杂了。将不同类型的数据放到一起 强管理 对象 数据多了、类型复杂了、行为复杂了。将不同类型的数据放到一起 超强管理 前三个:面向过程 数据和行为是分开的 行为去组织数据 最后一个:面向对象 通过对象组织数据 对象和类: 对象是具体的,类是抽象的(类是对对象的共性的总结)。类也是一个模版,通过类这个模版我们也可以new对象。 对象分为两部分: 静态部分:属性→成员变量 动态部分:行为→方法 类是封装了对象的属性和行为的载体 定义类: public class 类名 { //属性 private(建议) 数据类型 属性名; //建议增加相应的getter、setter方法 //方法 (往往是对上面数据的操作,建议static修饰,方法很类似于面向过程中的函数。面向过程中,函数是最基本单位,整个程序由一个个函数调用组成。面向对象中,整个程序的基本单位是类,方法是从属于类和对象的 方法的调用方式: 对象名.方法名(实参列表) return 语句终止方法的运行并指定要返回的数据 Java中进行方法调用中传递参数时,遵循值传递的原则(传递的都是数据的副本): 基本类型传递的是该数据值的copy值。 引用类型传递的是该对象引用的copy值

c++学习之static与const

牧云@^-^@ 提交于 2019-11-30 23:44:45
C++不允许在常量对象上调用成员函数,除非成员函数本身也被声明为常量。甚至对不会修改对象的成员函数,也是如此,此外,编译器不允许声明常量的成员函数修改对象; ②对一般情况下,通常修改对象的构造函数和析构函数而言,它们不允许被声明成const,但是他们依然可以用于修改常量对象的初始化; ③对象名列表可以由多个对象名,它们之间用逗号隔开,常量对象在定义的同时初始化,初始化后,再也不能修改它们的数据成员 在static中不能修改类中任何的非static的成员 来源: https://www.cnblogs.com/z2529827226/p/11644966.html

javaOO——封装、static、成员内部类

浪子不回头ぞ 提交于 2019-11-30 19:19:25
访问修饰符: 包外 子类 包内 类内 public yes yes yes yes protected no yes yes yes default no no yes yes private no no no yes 标准Java类----(JavaBean) (1)必须要有公共无参构造 (2)必须为私有属性提供符合命名规范的get和set方法 封装的好处: 1、类的成员变量可以成为只读或者只写的 2、类可以对存储在其成员变量张的内容有一个整体的控制 3、类的用户不需要知道类是如何存储数据的 static修饰属性 1、现象:用static修饰的属性,全类共享一个值。 static修饰的属性将不再存放在每个对象身上,而是全类共享。 无论哪个对象对该属性进行了改动,全类所有对象都被改动了。 2、原因:static的属性是单独存放在内存中的静态区,而不是存放在每个对象身上的。 所以它可以直接通过 类名. 的方式就可以操作。 3、特殊操作,它可以直接通过 类名. 的方式就可以操作 ---这是结果而不是设计static的原因 注意:能用static修饰的属性其实是极少的,除非你能真正保证它是全类共享的一个值,否则是不允许的。 static修饰的属性什么时候放入内存呢? 它会在程序运行之前,即加载期的时候就会产生并让放入。 使用最多?--常量属性可以无脑设计加“static” public

关于类内初始化的一些思考

妖精的绣舞 提交于 2019-11-30 18:09:50
  初始化,这个东西很熟悉,也很常用,愣一看也感觉挺简单的,但是在写代码的时候,发现在一些特殊情况下,如果直接不假思索就进行初始化的话,可能会出现一些问题。   这个特殊情况主要是几个关键字,我目前比较常用的关键字是const和static,其他的关键字我因为没怎么用过暂不多说,如果以后用到了再进行补充。   一般情况下,变量定义的位置包括类内和类外,类内又分为.h和.cpp文件中,那么初始化的位置一般是在构造函数的初始化列表中进行,但是如果采用了const和static关键字进行修饰,则可能会出现问题。   const修饰的变量的初始化位置主要有两种:   1.在构造函数的初始化列表中进行(C++98支持);   2.在类内创建的时候初始化(C++11支持)。   这两种方法我个人感觉没有什么太多的好坏之分,都可以使用,当然我个人更偏爱在类内创建的时候初始化的这种方式,因为我认为它是一个常量,在创建的时候就进行初始化,更能体现出它本身不会被更改的效果。   之所以可以在初始化列表中初始化,原因在于:    1.const修饰的数据值不可改,即便在实例化对象的时候多次执行构造函数,但是值是惟一的;   2.const修饰的变量存放在静态数据存储区,它的特点是生命周期不跟随类的周期,而在于整个程序的生存时间;   3.同一变量只能存在一份,这就避免了创建多个的情况。  

JAVA知识点总结篇(二)

守給你的承諾、 提交于 2019-11-30 16:56:29
数组 一维数组 声明 数据类型[] 数组名; 数据类型 数组名[]; 分配空间 数组名 = new 数据类型 [数组长度]; 可以在声明的同时分配空间,分配空间之后数组中才能放数据,数组元素都是通过下标来访问,声明数组的同时赋值时不能指定数组长度; foreach: for(元素类型 元素变量:遍历对象){ 执行的代码; }; 二维数组 声明并分配空间: 数据类型[][] 数组名 = new 数据类型 [行的个数][列的个数]; 在定义二维数组时可以只指定行的个数,然后再为每一行分别指定列的个数,若每行列数不同,则创建的是不规则的二维数组; 方法 定义语法: 访问修饰符 返回值类型 方法名(参数列表){ 方法体; }; 分类: 无参无返回值方法; 无参带返回值方法; 带参无返回值方法; 带参带返回值方法; 调用方法: 对象名.方法名() 调用带参方法时,必须保证实参的数量,类型,顺序和形参一一对应; 调用方法时,实参不需要指定数据类型; 方法的参数既可以是基本数据类型,也可以是引用数据类型,当有多个参数时,多个参数间以逗号分割; 重载:在同一个类中,方法名相同,方法参数个数、顺序或类型不同称为方法的重载,与方法的修饰符或返回值无关系; 类与对象 类是模子,确定对象将拥有的特征(属性)和行为(方法),特点:类是对象的类型,具有相同属性和方法的一组对象的集合; 定义类的步骤: 定义类名