test

构造函数和析构函数中抛出异常

主宰稳场 提交于 2020-02-15 09:47:11
文章目录 1 构造函数中抛出异常 2 析构函数中的异常 1 构造函数中抛出异常 如果构造函数中抛出异常会发生什么情况? 构造函数中抛出异常: 构造过程立即停止。 当前对象无法生成。 析构函数不会被调用。 对象所占的空间立即收回。 工程中的建议: 不要在构造函数中抛出异常。 当构造函数可能产生异常时,使用二阶构造模式。 编程实验:构造函数中的异常 # include <iostream> # include <string> using namespace std ; class Test { public : Test ( ) { cout << "Test()" << endl ; throw 0 ; } virtual ~ Test ( ) { cout << "~Test()" << endl ; } } ; int main ( int argc , char * argv [ ] ) { Test * p = reinterpret_cast < Test * > ( 1 ) ; try { p = new Test ( ) ; } catch ( . . . ) { cout << "Exception..." << endl ; } cout << "p = " << p << endl ; return 0 ; } Linux下可以使用如下工具判断是否有内存泄漏:

Datawhale:动手深度学习第一次打卡!

不羁的心 提交于 2020-02-15 09:46:34
Datawhale:动手深度学习第一次打卡! 这几天将视频中的代码重新敲了一边,感觉自己学到了不少东西: 编程一定要多练呀!!!(叫破喉咙) 要多看看一些写的好的代码,不然你就不知道自己代码写的有多辣眼睛 学习了一些python的语法点已经一些小技巧 又再次复习了以下知识点 Task01: 线性回归 import torch from torch import nn import numpy as np torch . manual_seed ( 1 ) print ( torch . __version__ ) torch . set_default_tensor_type ( 'torch.FloatTensor' ) # 生成数据 num_inputs = 2 num_examples = 1000 true_w = [ 2 , - 3.4 ] true_b = 4.2 features = torch . tensor ( np . random . normal ( 0 , 1 , ( num_examples , num_inputs ) ) , dtype = torch . float ) labels = true_w [ 0 ] * features [ : , 0 ] + true_w [ 1 ] * features [ : , 1 ] + true_b

Deep_Learning_Task1: Linear_Regression/Softmax/MLP

♀尐吖头ヾ 提交于 2020-02-15 08:37:07
一 、Linear_Regression 1_线性回归的基本要素 模型 (model) 数据集 (data set):训练数据集(training data set) and 训练集(training set) 损失函数 (price function):用来衡量损失值和真实值的误差,数值越小代表误差越小 优化函数_随机梯度下降 (optimical function_random gradient descent) 在模型和损失函数形式较为简单时,上面的误差最小化问题的解可以直接被公式表达出来,这类解叫做解析解(analytical solution) 大多数深度学习的模型并没有解析解,只能通过优化算法有限次迭代模型参数来尽可能降低损失函数的值,这类解叫做数值解(numerical solution) 小批量随机梯度下降(mini-batch stochastic gradient descent)—— 求解数值解的优化算法: step1:选取一组模型参数的初始值 step2:对参数进行多次迭代,使每次迭代都降低损失函数的值 step3:在每次迭代的过程中,先随机均匀采样一个由固定数目训练数据样本所组成的小批量 step4:求小批量中数据样本的平均损失有关模型参数的导数(梯度descent) step5:用此结果与预先设定的一个正数的乘机作为模型参数在本次迭代的减小量

Pytorch动态神经网络

非 Y 不嫁゛ 提交于 2020-02-15 08:24:02
文章目录 pytorch 神经网络基础 numpy torch 对比 Variable变量 Activaton 激励函数 建造第一个神经网络 Regression回归 Classification分类 快速搭建法 保存提取 批数据训练 优化器 Optimizer 加速神经网络训练(深度学习) 高级神经网络结构 卷积神经网络CNN CNN pytorch 神经网络基础 numpy torch 对比 pytorch资料(英文官网) pytorch资料(中文) #对比numpy与pytorch #2020/2/12 import torch import numpy as np np_data = np . arange ( 6 ) . reshape ( ( 2 , 3 ) ) torch_data = torch . from_numpy ( np_data ) print ( '\nnumpy' , np_data , '\ntorch' , torch_data , ) tensor2array = torch_data . numpy ( ) print ( '\ntensor2array' , tensor2array ) data = [ 1 , - 2 , - 3 , 4 ] tensor = torch . FloatTensor ( data ) tensor =

Shell中的内置命令--test

China☆狼群 提交于 2020-02-15 07:42:11
1.概念及用法 test 是Shell内置命令,用来检测某个条件是否成立 test通常和if语句一起使用,并且大部分if语句都依赖test test命令有很多选项,可以进行数值、字符串和文件三个方面的检测 Shell test命令的用法为: test expression 当test判断expression成立时,退出状态为0,否则为非0值 test命令也可以简写为【】,它的用法为: [ expression ] 注意: 【】和expression之间的空格,这两个空格是必须的,否则会有语法错误 【】的写法更加简洁,使用率更高 2.test可以判断3类条件( 数值比较 ) 数值条件测试可以用在数字和变量上 比较 描述 n1-eq n2 检查n1是否与n2 相等 n1-ge n2 检查n1是否 大于或等于 n2 n1-gt n2 检查n1是否 大于 n2 n1-le n2 检查n1是否 小于或等于 n2 n1-lt n2 检查n1是否 小于 n2 n1-ne n2 检查n1是否 不等于 n2 示例 不能在test命令中使用浮点值 3.test可以判断3类条件( 字符串比较 ) 比较 描述 str1 = str2 检查str1与str2 相同 str1 != str2 检查str1与str2 不同 str1 < str2 检查str1是否比str2 小 str1 > str2

JDBC各种数据库连接方式

若如初见. 提交于 2020-02-15 06:47:22
1)连接Oracle 8/8i/9i/10g/11g(thin模式) Class.forName("oracle.JDBC.driver.OracleDriver").newInstance(); String url="JDBC:oracle:thin:@localhost:1521:orcl" //orcl为Oracle数据库的SID String user="test"; String password="test"; Connection con=DriverManager.getConnection(url,user,password); 2)连接DB2数据库 Class.forName("com.ibm.db2.jcc.DB2Driver"); String url="JDBC:db2://localhost:5000/testDb"; String user="test"; String password="test"; Connection con=DriverManager.getConnection(url,user,password); 3)连接MySQL数据库 Class.forName("com.mysql.jdbc.Driver"); String url="JDBC:mysql://localhost:8080/testDB"; String user

Java面向对象[方法]

可紊 提交于 2020-02-15 06:14:47
方法是类和对象的行为特征的抽象,Java中的方法与传统的函数非常相似又有着显著的不同,在结构化语言中函数是最小单位,整个软件由一个一个函数组成;在面向对象语言中,类是最小单位,整个系统由一个一个类组成,在java中方法不能独立存在,必须属于类或者对象。 方法必须属于类或者对象 如果要定义方法,则只能在类体内定义,不能独立定义方法,如果类中的方法由static修饰,那么这个方法属于这个类,否则该方法属于这个类的实例 Java语言是静态的,一个类定义完成后,只要不再重新编译这个类文件,该类和类的对象所拥有的方法是固定的,永远都不会改变 方法不能独立定义,也不能独立执行,它的调用方式必须是【类.方法】【对象.方法】 同一个类中的一个方法调用另一个方法时,如果被调用的是普通方法,则默认使用this作为调用者,如果被调用的方法是静态方法,则默认使用类作为调用者,表面上看是独立执行,但实际上只是隐藏了主调 需要注意的是static修饰的方法既可以使用类作为调用者,也可以使用对象作为调用者来调用,但static修饰的方法属于类,虽然使用类的对象调用static修饰的方法能够得到相同的执行结果,但那是因为底层依然是使用这些实例所属的类作为调用者,执行虽然不会报异常,但并不支持这么写程序 Java方法的参数传递机制 如果声明方法的时候指定了形参,那么调用方法时必须给这些形参指定参数值

第9课 智能指针示例

隐身守侯 提交于 2020-02-15 05:28:57
1. 内存泄漏( 臭名昭著的Bug ) (1)动态申请堆空间,用完后不归还 (2)C++语言中没有垃圾回收的机制 (3)指针 无法控制 所指堆空间的生命周期 2. 当代C++软件平台中的智能指针 (1)指针生命周期结束时 主动释放堆空间 (2)一片堆空间最多 只能由一个指针标识 (3) 杜绝指针运算和指针比较 3. 智能指针的设计的方案 (1)通过 类模板 描述指针的行为:能够定义不同类型的指针对象。 (2)重载指针特征操作符( -> 和* ):利用对象模拟原生指针的行为。 (3)智能指针的 使用军规 :只能用来指向堆空间中的 单个对象(即不能指定一个数组对象的空间)或者变量 【编程实验】智能指针 //SmartPointer.h #ifndef _SMARTPOINTER_H_ #define _SMARTPOINTER_H_ namespace DTLib{ //智能指针 template<typename T> class SmartPointer { T* m_pointer; public: SmartPointer(T* p = NULL) { m_pointer = p; } SmartPointer(const SmartPointer<T>& obj) { m_pointer = obj.m_pointer; //所有权转移,使得同一时刻只能由一个指针指向堆空间

L8梯度消失、梯度爆炸

牧云@^-^@ 提交于 2020-02-15 02:22:16
梯度消失、梯度爆炸以及Kaggle房价预测 代码地址: 下载 https://download.csdn.net/download/xiuyu1860/12156343 梯度消失和梯度爆炸 考虑到环境因素的其他问题 Kaggle房价预测 梯度消失和梯度爆炸 深度模型有关数值稳定性的典型问题是消失(vanishing)和爆炸(explosion)。 当神经网络的层数较多时,模型的数值稳定性容易变差。 假设一个层数为 L L L 的多层感知机的第 l l l 层 H ( l ) \boldsymbol{H}^{(l)} H ( l ) 的权重参数为 W ( l ) \boldsymbol{W}^{(l)} W ( l ) ,输出层 H ( L ) \boldsymbol{H}^{(L)} H ( L ) 的权重参数为 W ( L ) \boldsymbol{W}^{(L)} W ( L ) 。为了便于讨论,不考虑偏差参数,且设所有隐藏层的激活函数为恒等映射(identity mapping) ϕ ( x ) = x \phi(x) = x ϕ ( x ) = x 。给定输入 X \boldsymbol{X} X ,多层感知机的第 l l l 层的输出 H ( l ) = X W ( 1 ) W ( 2 ) … W ( l ) \boldsymbol{H}^{(l)} =

Codeforces Round #619 (Motarack's Birthday)

£可爱£侵袭症+ 提交于 2020-02-15 01:59:33
题目: Dark is going to attend Motarack’s birthday. Dark decided that the gift he is going to give to Motarack is an array a of n non-negative integers. Dark created that array 1000 years ago, so some elements in that array disappeared. Dark knows that Motarack hates to see an array that has two adjacent elements with a high absolute difference between them. He doesn’t have much time so he wants to choose an integer k (0≤k≤109) and replaces all missing elements in the array a with k. Let m be the maximum absolute difference between all adjacent elements (i.e. the maximum value of |ai−ai+1| for