自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 torchvision.models.vgg16

pytorch 自带模型中的一些funcmodel=torchvision.models.vgg16(pretrained=True).features 保存的是fc前面的网络结构,调用model.weight 可以查看训练好的权重

2020-06-29 11:32:28 4829

原创 剑指offer--整数中1出现的次数

找规律问题:分析1~任意数中各个位出现1的情况:1~10:个位出现1的次数为 10^0;(只有1)1~100:十位出现1的次数为10^1;(10,11,12,…,19)1~1000: 百位出现1的次数为10^2;(100,101,…,199)…类推可得:1~n的个位出现1的次数为 n/1010^0;1~n的十位出现1的次数分为三种情况:a:n的十位上数字为0:此时1出现的总的次数为n/10010^1;举个例子,比如1~1200:十位上为1的只和它的高位(12)有关, 共有120个,(1

2020-05-13 20:15:18 130

原创 15. 抽象工厂模式

抽象工厂模式(Abstract Factory):提供一个创建一系列相关或互相依赖对象的接口,而无需指定它们具体的类。

2020-05-03 21:43:02 121

原创 14.观察者模式

观察者模式(发布-订阅模式):定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。事件委托:委托就是一种引用方法的类型。一旦为委托分配了方法,委托将与该方法具有完全相同的行为。委托方法的使用可以像其他任何方法一样,具有参数和返回值。委托可以看作是对函数的抽象,是函数的“类”,委托的实例将代表一个具体的函数...

2020-04-28 16:08:18 112

原创 13. 建造者模式

建造者模式(Builder):将一个复杂对象的构建和它的表示分离,使得同样的构建过程可以创建不同的表示。

2020-04-26 13:12:32 97

原创 12. 外观模式

外观模式(Facade):为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。

2020-04-26 12:51:02 97

原创 11. 迪米特法则

迪米特法则(LoD)【最少知识原则】:如果两个类不必彼此直接通信,那么这两个类就不应该直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。...

2020-04-26 12:35:35 107

原创 10. 模板方法模式

模板方法模式:定义一个操作中算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。...

2020-04-26 12:23:13 107

原创 9.原型模式

原型模式:(Prototype),用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。原型模式类似c++中的拷贝构造函数,但比拷贝构造函数更加灵活,可以通过实现clone函数来自由的从一个基类指针或引用中拷贝派生类的数据。相比直接new,原型模式可以捕获运行状态,同时也节约了一次new的时间。【Base *pb=new Derived();Derived *pd=pb->...

2020-04-25 17:14:31 98

原创 8.工厂方法模式

工厂方法模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。由于简单工厂模式需要在工厂类中判断需要实例化的类,违背了开闭原则。工厂方法模式把这一任务交给了工厂的子类,符合开闭原则。...

2020-04-24 15:20:26 196

原创 7.代理模式

代理模式:为其他对象提供一种代理以控制对这个对象的访问。

2020-04-23 16:16:05 292

原创 6.装饰模式

装饰模式:动态地给一个对象添加一些额外地职责,就增加功能来说,装饰模式比生成子类更加灵活。decorator类继承了component类,作为装饰类的接口,同时它聚合了component类似递归调用,实现装饰功能。该模式一般用于在不改变已设计好的类的情况下,顺序组合新的功能(开闭原则)。...

2020-04-21 14:04:43 120

原创 5.里氏代换原则&依赖倒置原则

里氏代换原则(LSP):子类型必须能够替换掉它们的父类(子类可以看做父类来使用)依赖倒置原则:高层模块不应该依赖于低层模块,两个都应该依赖抽象;抽象不应该依赖细节,细节应该依赖抽象。...

2020-04-21 11:17:54 166

原创 4.开放-封闭原则(《大话设计模式》,笔记)

开放-封闭原则(OCP),是指软件实体(类、模块、函数等等)应该可以扩展,但是不可修改,即对于扩展是开放的,对于更改是封闭的。设计人员必须对于他设计的模块应该对哪种变化封闭做出选择,要先猜测最有可能发生的变化种类,然后构造抽象来隔离那些变化。面对需求,对程序的改动是通过增加新代码进行的,而不是更改现有的代码。...

2020-04-20 15:39:14 98

原创 3.单一职责原则(《大话设计模式》,笔记)

单一职责原则(SRP),就一个类而言,应该仅有一个引起它变化的原因,(把不同的业务逻辑分开),这样代码才是易维护、易扩展、易复用的。

2020-04-20 15:11:48 94

原创 2.策略模式(《大话设计模式》--程杰,笔记)

策略模式:它定义了算法家族,分别封装起来,让它们直接可以互相替换,此模式让算法的变化,不会影响到使用算法的用户。策略模式是一种定义一系列算法的方法,从概念上来看,所有这些算法完成的都是相同的工作,只是实现不同,它可以以相同的方式调用所有的算法,减少了各种算法类与使用算法类之间的耦合。策略模式的策略抽象类定义了一系列可供重用的算法或行为,继承有助于析取出这些算法中的公共功能。策略模式简化了单...

2020-04-20 11:15:12 189

原创 1.简单工厂模式(《大话设计模式》-程杰,笔记)

简单工厂模式:工厂用来根据需求实例化抽象类,(返回一个父类的指针,实现多态),即封装了实例化。

2020-04-20 10:54:17 154

原创 c++堆排序(STL+自实现)

#include <iostream>#include <algorithm>#include <vector>using std::endl;using std::cout;using std::vector;struct MaxHeapCmp{ bool operator() (const int & lhs, const int ...

2020-03-31 00:58:44 827

原创 剑指offer-12 矩阵中的路径

#include <iostream>struct Pos//路径点坐标结构体{ int x_pos; int y_pos;};char theArray[3][4] = { 'a','b','t','g', 'c','f','c','s', 'j','d','e','h'};void location(char * target, Pos* path, int ...

2020-02-23 18:14:43 119

原创 剑指offer-7 根据中序遍历、前序遍历重建二叉树

解本题首先要明确中序遍历和前序遍历的定义,我们可以先根据前序遍历在中序遍历中找到根节点,然后位于中序遍历中根节点左边的就是此根节点对应的左子树,位于中序遍历中根节点右边的就是此根节点对应的右子树,由此产生递归的思路,每次先在前序遍历中找到根节点,然后在中序遍历中确定左子树和右子树,接着递归生成根节点的左子树和右子树即可:#include <iostream> struct BTN...

2020-02-19 13:05:04 158

原创 kmp好理解

相比于朴素的字符串匹配算法,KMP利用了每次比较后得知的信息来减少重复比较的次数。具体利用了什么信息?这就引出了所谓的next数组。next数组,用来存放模式字符串(pattern)中每个元素的能匹配到的最长前缀。为什么需要最长前缀,当然是为了避免漏掉可能的情况,举个例子:给定pattern字符串(aaabbb),根据最长前缀的定义,可得知next数组为[0,1,2,0,0,0],给定text字符...

2019-12-07 19:56:41 98

原创 《Conditional Generative Adversarial Nets》总结

cGAN论文地址通过在生成器和判别的的输入同时增加条件约束(类标签等其他约束)训练出生成与条件相关的生成器,而不像GAN一样不可控。

2019-09-11 19:31:13 261

原创 1.开山之作《Generative Adversarial Nets》背后的一些数学推导

本文旨对对2014年Goodfellow发表的《Generative Adversarial Nets》做个人注解

2019-09-09 21:55:16 225 1

原创 win10 +anaconda+pytorch_gpu

一.首先安装cuda和cuDNN(独立于深度学习框架之外,在这个基础上可以安装tensorflow或者pytorch)0.首先电脑上安装了vs2015或者vs20171.cuda安装1.1更新自己的显卡驱动 www.geforce.cn (选择图行驱动更新即可)1.2cuda安装(我选择的是cuda10.0)在这个网址https://developer.nvidia.com/c...

2019-04-27 17:29:01 755

原创 opencv+c++实现的瘦脸算法

关键思想是《Image Deformation Using Moving Least Squares》这篇论文中提到的方法。实现:1>实现人脸关键点定位2>实现论文中像素点的坐标变换坐标变换源码:void face_lift(Mat &src,const vector<Point2f>& landmarks,int change...

2019-04-23 10:50:29 5666 15

原创 十四.浅拷贝&&深拷贝

普通的赋值(浅拷贝)a=bid(a)==id(b)  #true,id函数用来查看内存地址copy.copy()只是深拷贝了第一层的元素,即对于容器元素仍然是浅拷贝a=[1,2,[1,3]]b=copy.copy(a)id(a)!=id(b)id(a[0])!=id(b[0])id(a[1])!=id(b[1])id(a[2])==id(b[2])cop...

2019-01-16 22:13:54 76

原创 十三.zip&&lambda&&map

zip(拉链,可以用来处理几个不同列表相同位置的信息)将0-多个不同的列表的相同位置上对应的元素组合起来,构成一个新的元组列表a=[0,1,2]b=[1,2,3]c=[4,5,6]zip(a,b,c)  #[(0,1,4),(1,2,5),(2,3,6)]lambdafun=lambda x,y:x+y  #:前为参数列表,:后为表达式fun(1,2)map(将...

2019-01-16 21:31:10 85

原创 十二.异常处理

try:     expressionexcept Exception as e:  #捕捉异常,不执行else中的语句    print(e)  #打印异常情况    expression  #处理异常else:  #如果没有异常,则跳过except语句直接执行else中的语句。    expression...

2019-01-16 21:06:37 159

原创 十一.continue&&break

if a==1:          expression      else:          pass  #什么都不做continue  #直接进行下一次循环 break  #直接跳出循环

2019-01-16 20:26:24 97

原创 十.import

类似于include的功能import A as B from A import XXX,XXXX... from A import *  #引用A中所有内容

2019-01-16 19:49:23 73

原创 九.容器(元组,列表,字典)

tuplea_tuple=(1,2,3)  #不可变长,元素不能修改(如果元素是其它容器类型,容器本身不能改变,容器中的元素可以改变)for elem in a_tuple/a_list:  #elem会自动迭代赋予a_tuple/a_list中元素的值    print(elem)for index in range(len(a_tuple/a_list)):  #range-&...

2019-01-16 19:42:43 92

原创 八.input

#类似cin,scanfval=input('please key a value:') val=int(input('xxxxx'))  #input()传的是str类型,要根据需要进行类型转换

2019-01-16 19:13:09 127

原创 七.Class

一般格式class classname:    attr1=XXX    attr2=XXX    def function1(self,para1,para2,...):       self.attr1#(self相当于c++里面的*this)        expression......构造函数def __init__(self,attr1,...):#...

2019-01-16 19:05:23 81

原创 六.读、写文件

写file=open("path",model('w','r','a'))file.write("content")file.close()读content=file.read()content=file.readline()content=file.readlines() 

2019-01-15 15:15:54 109

原创 五.全局变量&&局部变量

局部使用全局变量时要在局部使用global关键字声明

2019-01-15 15:09:36 81

原创 四.函数

基本格式def function_name(parameters lists): expressions忘记参数的顺序,可以在传参时直接指定为参数名字赋值:fun(b=1,a=2) 可变参数 def fun(para,*para2): expressions关键字参数 def fun(para,**para2):...

2019-01-15 15:08:10 119

原创 三.if

1.基本表示方法if condition:    expressionselse:    expressions2.三目运算符的等价表示var1=var2 if cond else var3(cond为真var1=var2,否则var1=var3)3.if elif elseif cond1:    expressionselif:    expression...

2019-01-15 15:01:43 104

原创 二.循环

1.while循环while后面的条件是集合类型(list、tuple、dict、set)时,当集合中的元素个数为零时,判为false。2.for循环for item in sequence:    expressionsrange函数range(start,stop) [start,stop) range(stop) [0,stop) range(start,stop,...

2019-01-15 14:57:14 87

原创 一.运算符&&变量

1.运算符号**:指数运算符 //:取商运算符 %:取余运算符2.变量字符串常量可以用' '或" "括起来

2019-01-15 14:50:29 272

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除