- 博客(20)
- 收藏
- 关注
原创 python函数装饰符@总结
python函数装饰器符@1 函数修饰符@的作用实际上,所谓函数装饰器,就是通过装饰器函数,在不修改原函数的前提下,对函数的功能进行合理扩充。例如:有一个函数func(a, b),它的功能是求a,b的差值,我现在有一个需求,就是想对函数功能再装饰下,求完差值后再取绝对值,但是不能在func函数内部实现,这时候就需要装饰器函数了,比如func = decorate(func)函数,将func函数作为参数传递给decorate函数,由decorate来丰富func函数,丰富完成后再返回给func,
2020-12-24 21:12:30
777
原创 python装饰器wraps
为什么要用wraps:Python装饰器(decorator)在实现的时候,被装饰后的函数其实已经是另外一个函数了(函数名等函数属性会发生改变),而我们不希望原来函数的属性被覆盖。用法:Python的functools包中提供了一个叫wraps的装饰器来消除这样的副作用。**写一个装饰器的时候,在实现之前加上@wrap(func) **,它能保留原有函数的名称和doc string。参考自:python装饰器的wraps作用例子:不加wrapsfrom functools import .
2020-12-24 18:53:21
464
1
转载 Python中*args和**kwargs的区别
参考Python中*args和**kwargs的区别1 *args*args 用来将参数打包成tuple给函数体调用例如:def function(x, y, *args): print(x, y, args)function(1, 2, 3, 4, 5)输出:1 2 (3, 4, 5)2 **kwargs**kwargs 打包关键字参数成dict给函数体调用例如:def function(**kwargs): print(kwargs)function
2020-12-24 18:19:06
277
1
原创 numpy中pad方法及应用
1 np.pad()介绍用法:将张量按照维度,以一定规则进行填充(通常是填边上)。例如:a = np.array([[1,2,3,4],[4,3,2,1]])print(a)b = np.pad(a, ((1,2),(3,3)))print(b)#输出:[[1 2 3 4] [4 3 2 1]][[0 0 0 0 0 0 0 0 0 0] [0 0 0 1 2 3 4 0 0 0] [0 0 0 4 3 2 1 0 0 0] [0 0 0 0 0 0 0 0 0 0] [
2020-12-23 21:50:30
619
原创 PyTorch张量操作
[]中括号的作用(张量A[张量B])有两种情况:当张量B的值为int型:按照B中元素的值i,取出A中的第i行。当张量B的值为bool型:按照B中为true的元素所在位置,取出A中对应的元素,成为一根向量。例子如下:例1:sim = torch.tensor([[1,2,3,4,5,6],[1,1,1,1,1,1],[2,2,2,2,2,2],[3,3,3,3,3,3],[4,4,4,4,4,4],[5,5,5,5,5,5]])b = torch.tensor([0,2,1])print(s
2020-12-10 15:35:30
1160
4
原创 海森矩阵的特征值和特征向量的物理意义推导
一直想知道为什么海森矩阵的特征值就是描述了在某点特征向量方向上的凹凸性,找了一些资料,很多只是有个简单的结论,但没找到比较直观推导和证明。下面进行一波推导(非数学专业科班出身,推导过程比较直观不是很专业)。...
2020-12-05 11:00:18
3346
1
原创 Linux学习
终端的常用快捷键Tab 自动补全ctrl + shift + c 复制ctrl + shift + v 粘贴ctrl + shift + c 打开新的终端窗口ctrl+f 向前移动光标ctrl + b 向回移动光标ctrl + a 光标移动到开始位置ctrl + e 光标移动到最末尾Ctrl+l 清屏...
2020-11-15 15:23:13
781
原创 PyTorch笔记
文章目录Debug1 RNN module weights are not part of single contiguous chunk of memoryDebug1 RNN module weights are not part of single contiguous chunk of memory解决方法:(1)找到网络的forward方法:def forward(self,x)(2)找到forward方法中调用rnn(或lstm,或gru)的地方:rnn_output, _=se
2020-11-02 20:13:02
685
原创 我的python笔记
1 字符串方法1.1 extend()和append()区别extend()接受一个列表参数,把参数列表的元素添加到列表的尾部,append()接受一个对象参数,把对象添加到列表的尾部。举例说明:[1,2].extend([1,2,3])[1,2,1,2,3][1,2].append([1,2,3])[1,2,[1,2,3]]1.1 endswith() 方法如果字符串以指定值结尾,则 endswith() 方法返回 True,否则返回 False。语法:string.endswi
2020-10-15 09:44:52
1841
1
原创 keras和tensorflow
1 dense层注意要点Dense类 :全连接层 相当于添加一个层参数说明:tf.layers.dense( units, #输出的维度大小,改变inputs的最后一维 activation=None, use_bias=True, kernel_initializer=None, ##卷积核的初始化器 bias_initializer=tf.zeros_initializer(), ##偏置项的初始化器,默认初始化为
2020-10-13 16:10:32
834
1
原创 python & tensorflow2 & deeplearning &音频处理 & 声学事件检测
1 pycharm 查看函数信息按住ctrl键,将鼠标放到函数上,就会显示函数信息,点击进去可以查看函数源码。2 pycharm 中的字母缩写的含义method和function的区别:与类和实例无绑定关系的function都属于函数(function);与类和实例有绑定关系的function都属于方法(method)。3 线性回归程序import numpy as npimp...
2020-04-19 00:25:55
1739
原创 tensorflow2.0 debug合集
1 成功解决ValueError: You are trying to load a weight file containing 9 layers into a model with 8 layers.解决方法:不要加后缀.h5,就好了
2020-03-24 09:47:23
503
原创 tensorflow-GPU CPU和GPU的切换
在所有代码前import osos.environ["CUDA_VISIBLE_DEVICES"] = "-1"在这里插入代码片这一行注释掉就是使用gpu,不注释就是使用cpu
2019-12-25 22:12:13
925
转载 Python enumerate() 函数
描述enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。语法enumerate() 方法的语法:enumerate(sequence, [start=0])参数:sequence – 一个序列、迭代器或其他支持迭代对象。start – 下标起始位置。返回值:返回 enumerate(...
2019-11-13 15:50:47
108
转载 神经网络多分类中为什么用softmax函数归一化而不用其它归一化方法
直观的解释是为了平衡概率分布,同时避免出现概率为0的情况(使得模型可以不用再做平滑化处理)。从反向传播的角度推导一波:softmax函数的形式为:P(y=i)=eWiX∑j=1NeWjXP ( y = i ) = \frac { e ^ { W _ { i } X } } { \sum _ { j = 1 } ^ { N } e ^ { W _ { j } X } }P(y=i)=∑j=...
2019-11-12 09:24:23
1211
转载 交叉熵损失函数总结笔记
交叉熵损失函数首先对于二分类,其交叉熵损失函数为:L=−[ylogy^+(1−y)log(1−y^)]L=-[y \log \hat{y}+(1-y) \log (1-\hat{y})]L=−[ylogy^+(1−y)log(1−y^)]其中,y=0或1y=0或1y=0或1,表示样本为负例还是正例;y^\hat{y}y^表示样本为正例的概率。1 交叉熵损失函数的数学原理二分类问...
2019-11-11 23:40:17
2543
原创 KKT条件总结
1. 等式约束的最优性条件问题:(fh){minf(x)s.th(x)=0(f h)\left\{\begin{array}{ll}{\min } & {f(x)} \\ {s.t} & {h(x)=0}\end{array}\right.(fh){mins.tf(x)h(x)=0其中f,h为矩阵形式。KT条件(必要条件)如果x∗x^{*}x∗为最优解,则存在:∇...
2019-11-07 16:39:38
3261
原创 python中类的继承
1. 继承的定义面向对象编程 (OOP) 语言的一个主要功能就是“继承”。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。class Person(object): # 定义一个父类 def talk(self): # 父类中的方法 print("person is talking....") ...
2019-11-06 15:26:16
173
转载 机器学习中的正则化
正则化的概念和原因简单来说,正则化是一种为了减小测试误差的行为(有时候会增加训练误差)。我们在构造机器学习模型时,最终目的是让模型在面对新数据的时候,可以有很好的表现。当你用比较复杂的模型比如神经网络,去拟合数据时,很容易出现过拟合现象(训练集表现很好,测试集表现较差),这会导致模型的泛化能力下降,这时候,我们就需要使用正则化,降低模型的复杂度。正则化的几种常用方法假设 xxx 是一个向量,...
2019-11-06 09:24:02
254
原创 矩阵理论应用之反射变换的理解
矩阵理论应用之反射变换问题:设σ\sigmaσ是实平面R2R^{2}R2上的线性变换,其关于标准基的矩阵为P=[css−c]P=\left[\begin{array}{cc}{c} & {s} \\ {s} & {-c}\end{array}\right]P=[css−c]其中c2+s2=1c^{2}+s^{2}=1c2+s2=1,证明σ\sigmaσ是反射变换,并计...
2019-10-23 18:57:33
9733
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人