自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 资源 (1)
  • 收藏
  • 关注

原创 apex安装出错:TypeError unsupported operand type(s) for +: “NoneType“ and “str“

安装apex报错:TypeError unsupported operand type(s) for +: “NoneType“ and “str“

2023-08-19 16:15:09 664

原创 python实现基类的抽象方法

import abcimport numpy as np# 定义好实现基类的函数def f1(self): print('hello:{} + {}'.format(self.x, self.y))# 基类class Task(metaclass = abc.ABCMeta): def __init__(self, x, y): self.x = x self.y = y @abc.abstractmethod def run.

2020-10-24 16:46:21 274 1

转载 linux grep命令详解

转自:https://www.cnblogs.com/wangcp-2014/p/5146335.htmllinux grep命令详解1.作用Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。2.格式grep [options]3.主要参数[options]主要参数:-a或--text不要忽略二...

2020-10-11 10:55:54 412

原创 tensor笔记7--tensor的各种重载

a = torch.Tensor([[1, 2, 3, 7, 8, 5, 4, 9], [1, 3, 4, 6, 1, 3, 3, 9]])print(a[0])b = torch.Tensor([1, 1])c = torch.Tensor([1, 2])for i in c: index = i == b print(index) print(a[index])输入:tensor([1., 2., 3., 7....

2020-10-07 17:11:08 271

原创 tensor笔记6 -- randint

输入a = torch.randint(0, 6, (4, ))print(a)输出:tensor([0, 2, 4, 4])输入:b = torch.randint(0, 5, (3))print(b)输出:TypeError: randint() received an invalid combination of arguments - got (int, int, int), but expected one of: * (int high, ...

2020-10-06 16:08:36 931

原创 python类的方法中定义函数

代码:class A(): def run(self): def p(): print('hello') p() a = A()a.run()输出:hello注意类中方法和普通函数的区别,python类的方法必须要带self参数,否则会报错xxx() takes 0 positional arguments but 1 was given,原因:Python在类中定义.

2020-08-01 22:40:04 3693

原创 深度学习的hello world--mnist手写数字识别代码实现

第一步:下载数据源并进行预处理import torchimport torchvisionimport torchvision.transforms as transforms# # 定义预处理函数,这些预处理一次放在compose函数中transform = transforms.Compose([transforms.ToTensor(), transforms.Normalize([0.5], [0.5])])# 导入mnist数据源trainset = torchvision.

2020-07-24 17:57:01 439

原创 tensor笔记5--view()

代码:a = torch.tensor([[1, 2, 3], [4, 5, 6]])b = torch.tensor([[[1, 2], [3, 4]], [[5, 6], [7, 8]], [[9, 0], [11, 12]]])p.

2020-07-24 16:35:19 1029

原创 tensor笔记4--max()

代码:a = torch.tensor([[4, 2, 3], [1, 6, 5]])print(a.size())print('==========')print(a.max(0))print('==========')print(a.max(1))输出:torch.Size([2, 3])==========torch.return_types.max(values=tensor([4, 6, 5]),indices=tensor(.

2020-07-24 15:59:23 833 1

原创 tensor笔记3---size()

代码:a = torch.tensor([[1, 2, 3], [4, 5, 6]])print(a.size())print(a.size(0))print(a.size(1))输出:torch.Size([2, 3])23

2020-07-24 15:26:47 655

原创 tensor笔记2(tensor1==tensor2)

代码:a = torch.tensor([1, 2, 3, 4, 5])b = torch.tensor([1, 2, 2, 4, 6])c = (a == b)print(c)输出:tensor([ True, True, False, True, False])

2020-07-24 15:08:39 507

原创 tensor笔记1--index_select函数(对tensor维度的理解)

pytorch中index_select函数的作用选取某一维度上的数据函数形式为:index_select(input, dim, index)input为tensor,dim是维度从0开始,index是一维tensor(向量),表示在这个维度上要选择的下标下边直接上例子:import torchx = torch.Tensor([[[1, 2, 3], [4, 5, 6]], [[9, 8, 7],

2020-07-17 16:31:02 1752

原创 真·手推BP算法

2020-07-10 11:19:00 506

原创 残差网络(ResNet)学习笔记zZ

产生背景: 我们都知道增加网络的宽度和深度可以很好的提高网络的性能,深的网络一般都比浅的的网络效果好,比如说一个深的网络A和一个浅的网络B,那A的性能至少都能跟B一样,为什么呢?因为就算我们把B的网络参数全部迁移到A的前面几层,而A后面的层只是做一个等价的映射,就达到了B网络的一样的效果。一个比较好的例子就是VGG,该网络就是在AlexNex的基础上通过增加网络深度大幅度提高了网络性能。 对于原来的网络,如果简单地增加深度,会导致梯度弥散或梯度爆炸。对于该问题的解决方法...

2020-07-06 13:23:11 1535

原创 梯度下降算法(高中生都能看懂的例子演示)

梯度下降算法在机器学习与神经网络中有广泛的应用,主要用来求最优参数,下面我们通过一个最简单的例子来演示梯度下降算法过程示例:举例:y = x ^ 2 ,通过梯度下降算法求y取最小值(极小值)时候的最优解x求解过程主要通过迭代完成迭代的方程为:x = x - y'(x) * α其中x为要求的解,y'(x)为梯度(也就是导数或偏导,我们在这里用最简单的一元函数演示,所以直接写成导数)α为学习率(或称步长,是一个重要的参数,α的选择直接影响这着算法的效率)算法过程:1.首先任

2020-06-26 18:51:06 7129

原创 环境变量详解以及演示

环境变量:环境变量中保存的是一个一个的路径。当我们在命令行DOS中输入一个命令(或访问一个文件时),系统会首先在当前目录下寻找如果找到了则直接执行或打开。如果没有找到,则会依次去path环境变量的路径中去寻找,直到找到为止。如果path环境变量中的路径都没有找到,则报错:'xxx'不是内部或外部命令,也不是可运行的程序或批处理文件。经常访问的文件或程序可以添加到path中,这样就可以在系统任意位置访问注意事项:1.如果环境变量中美欧path,可以手动添加2.path环境变量不

2020-06-24 11:41:36 337

原创 0-1背包问题zZ

问题描述:有n件物品,每件物品的重量为w[i],其价值为v[i],现在有个容量为m的背包,如何选择物品使得转入背包物品的价值最大。思路:首先想到的肯定是枚举所有物品的排列组合,再从中找到价值最大的那个组合,时间复杂度O(n!)。同样可以通过选择是否需要某个物品来枚举出所有的排列组合,时间复杂度O(2^n)。这样的时间复杂度是完全不能接受的采用动态规划的方法,时间复杂度只有O(nm),具体方法如下:首先设置一个二维数组dp[][],令dp[i][j]表示前i个物品装进容量为j的背包能获得的

2020-05-09 21:10:46 363

原创 Linux与Windows的区别zZ

相同点用户和组Linux是多用户多任务操作系统而Windows是单用户多任务操作系统。都可以由许多不同的用户来使用,为每个用户提供单独的环境和资源。基于用户身份来控制安全性。都可以以组成员的方式来控制资源的访问权限,这样在用户数目较大时可以不必为每一个帐号设置权限。用户和组可以集中管理,让多个服务器共享相同的用户和身份验证数据。文件系统Linux和Windows都支持多种文件系...

2020-05-04 21:54:11 525

转载 匿名内部类

什么是匿名内部类What先说类,我们都知道类用于描述客观世界里某一类对象的共同特征,对象是其具体体现。类可以被被认为是一种自定义的数据类型,可以使用类来定义变量。也就是所说的类类型,是一种引用数据类型。如果在一个类里面定义一个类,那么这个类就是内部类,外面的那个类就是外部类,这个很好理解。内部类就相当于外部类的一个成员,你可以把内部类看成一个整体。内部类分为:静态内部类,非静态内部类。匿名...

2020-05-02 09:35:46 266

转载 程序内存分配--堆和栈

转自https://www.cnblogs.com/langtianya/p/4441206.html(1)内存分配的策略  按照编译原理的观点,程序运行时的内存分配有三种策略,分别是静态的,栈式的,和堆式的. 静态存储分配是指在编译时就能确定每个数据目标在运行时刻的存储空间需求,因而在编 译时就可以给他们分配固定的内存空间.这种分配策略要求程序代码中不允许有可变数据结构(比如可变数组...

2020-05-01 20:42:46 410

原创 出现单实例模式毁坏Destroying singletons

问题描述:在maven中,用SSM框架整合JUnit集成测试,用mybatis逆向工程生成mapper,修改mapper添加多表查询,测试的时候,从spring容器中拿到mapper,进行dao测试,报错Destroying singletons,没法从spring容器中拿到bean解决方法:细心检查mapper文件,如果有错误,则整个spring容器都会有错,不只是有错的mapper,没错的...

2020-04-25 20:23:33 892

原创 最小生成树--kruskal(克鲁斯卡尔)算法

知识前置查并集:https://blog.csdn.net/FUN6367/article/details/105706115克鲁斯卡尔算法步骤:(1)将图G的所有边按权值大小排序存储(或采用堆结构存储)(2)从小到大取边集合中的边并入到最小生成树中,并判断是否构成回路(用到查并集),构成回路则撤回(3)重复(2)直到所有顶点全部包含(或遍历完整个边集合)算法过程模拟:原图...

2020-04-23 22:05:05 433

原创 树的应用--查并集

查并集是一种简单的集合表示,通常用树(森林)的双亲表示并作为查并集的存储结构,每个子集个以一棵树表示。所有表示子集合的树表示全集合的森林,存放在双亲表示数组内。通常用数组元素的下标代表元素名,用根节点的下标代表子集合名,根节点的双亲节点为负数(绝对值为该子集的原子元素个数)。有以下三种操作:(1)Union(S,Root1, Root2):把集合S中的子集Root2并入子集Root1中(Roo...

2020-04-23 14:30:22 439

原创 堆排序详细解析

1、堆排序的数据结构-顶堆:一种完全二叉树(C++中的优先队列)①大顶堆:每个结点的值都比它的孩子结点(如果有)的值大②小顶堆:每个结点的值都比它的孩子结点(如果有)的值小2、完全二叉树的性质:对于有n个结点的完全二叉树:结点编号为i的节点有左孩子等价于i*2 <= n且左孩子结点编号为i2结点编号为I的结点有右孩子等价于**i2 + 1 <= n且右孩子结点编号为i*2...

2020-04-22 13:04:44 226

原创 eclipse新建Maven Web项目pom.xml报错

pom.xml文件报错解决方法右击项目->Preference

2020-04-13 19:24:47 237

原创 迪杰斯特拉Dijkstra算法,单源最短路径

算法思想:贪心策略,从源点出发不停合并路径最短的顶点,并更新顶点的最短路径信息。步骤简单概括:查找->合并->更新(类似prime最小生成树)辅助数组:dist[]: dist[i]表示源点到顶点i的最短路径长度,初始dist[i]等于源点到顶点i的边长(不直接相连则为无穷).path[]:path[i]表示源点到点i的最短路径中顶点i的前驱顶点例:求下图从0点出发的单源最短...

2020-04-06 13:25:59 309

原创 基于TCP的socket网络编程实例(Linux系统)

`实例一编写一个基于TCP协议的网络通信程序,一个客户程序,一个服务器程序。要求服务器通过socket连接后,接收客户端传来的用户名,判断为“liu”时,向客户端发送字符串“Hello,You are connected!”,否则,发送字符串“Sorry,you are not the user!”。客户端通过键盘输入用户名,发送到服务器,接收服务器发来的信息输出后结束。服务端显示客户端的IP地...

2020-04-03 16:27:37 2294

原创 基于TCP的socket详解(Linux系统)

socket()#include <sys/socket.h>int socket( int af, int type, int protocol);af:一个地址描述。目前仅支持AF_INET格式,也就是说ARPA Internet地址格式。type:指定socket类型。新套接口的类型描述类型,如TCP(SOCK_STREAM)和UDP(SOCK_DGRA...

2020-04-03 15:35:51 855

原创 动态规划与分治算法的相同与不同

1. 分治法与动态规划主要共同点:二者都要求原问题具有最优子结构性质,都是将原问题分而治之,分解成若干个规模较小(小到很容易解决的程序)的子问题.然后将子问题的解合并,形成原问题的解.2. 分治法与动态规划实现方法:① 分治法通常利用递归求解.② 动态规划通常利用迭代法自底向上求解,但也能用具有记忆功能的递归法自顶向下求解.3. 分治法与动态规划主要区别:① 分治法将分解后的子问题看成...

2020-04-02 12:23:04 8537

原创 动态规划(四)最长公共序列

最长公共子序列是动态规划的另一个经典问题:在给定字符串S1和S2,求一个最长的公共子串(不连续)S3,S3同时为S1和S2的子串,且要求它的长度最长,并确定这个长度。ex:S1为abcfbc S2为abfcab的最长公共子串S3为 abcb 长度为4分析:1、用字符数组S1[n + 1] 和 S2[m + 1] 分别存储长度为n的字符串S1 和 长度为m的字符串S2(S1[0] 和 ...

2020-04-02 12:04:58 197

原创 动态规划(三)最长递增子序列zZ

最长递增子序列是动态规划经典问题之一,与最大连续子序列的思路一致,问题描述是在一个已知序列{A0,A1,。。。,An-1}中,取若干元素(不必连续)按原先的先后顺序组成一个新序列{Ai,。。。,Aj}使得新序列是递增的,最长子序列问题就是求给定序列的所有递增子序列中最长的那个子序列的长度。分析:(1)用数组A[n]存储序列A0~An-1。(2)设置数组dp[n],dp[i]表示以A[i...

2020-04-01 10:42:06 197

转载 P、NP、NPC问题

时间复杂度  此处我们分为两类,多项式级的复杂度和非多项式级的复杂度。如O(1), O(log(n)), O(n^a) 等,我们把它叫做多项式级的复杂度,因为它的规模n出现在底数的位置;O(n!) 和 O(a^n) 型复杂度,它是非多项式级的,其复杂度计算机往往不能承受。当我们在解决一个问题时,我们选择的算法通常都需要是多项式级的复杂度,非多项式级的复杂度需要的时间太多,往往会超时,除非是数据...

2020-04-01 10:06:11 267

原创 离散数学-希尔伯特旅馆

最初设想编辑希尔伯特在谈到“无限大数”的奇怪而美妙的性质时说到:我们设想有一家旅馆,内设有限个房间,而所有的房间都已客满。这时来了一位新客,想订个房间,“对不起”,旅馆主人说,“所有的房间都住满了。”再设想另一家旅馆,内设无限个房间,所有的房间也都客满了。这时也有一位新客,想订个房间。“不成问题!”旅馆主人说。接着他就把1号房间的旅客移到2号房间,2号房间的旅客移到3号房间,3号房间的旅...

2020-03-31 22:32:59 1140

原创 离散数学-鸽舍原理

鸽舍原理:也称“抽屉原理”或利克雷原则,它是一个重要而又基本的数学原理,应用它可以解决各种有趣的问题,并且常常能够得到令人惊奇的结果,许多看起来相当复杂,甚至无从下手的问题,利用它能很容易得到解决。原理1:把n+1个元素分成n类,不管怎么分,则一定有一类中有2个或2个以上的元素。原理2:把多于m×n个物体放到n个抽屉里,那么一定有一个抽屉里有m+1个或者m+1个以上的物体。原理2-1:...

2020-03-31 22:28:37 919

原创 动态规划(二)最大连续子序列和

最大连续子序列时动态规划的经典问题之一,在给定的序列{A1, A2, 。。。,An}中,找出一个连续的子序列{Ai,。。。,Aj},使得整个连续子序列的和最大,输出这个最大序列的和。分析:1、连续子序列用数组A[n]存储{A[0],A[1],。。。,A[n - 1]}2、设置数组dp[n] ,dp[i]表示以A[i]为末尾的连续子序列的最大和(化解子问题)3、先找到问题的边界,当n...

2020-03-31 21:41:14 828

原创 动态规划(一)斐波那契函数

1、经典斐波那契函数求解(递推方法)递推方程An = An-1 + An-2 A0 = 0 A1 = 1代码:int Fibonacci(int n){ if(n == 1 || n == 0){ return n; }else{ return Fibonacci(n - ...

2020-03-31 18:59:48 490

原创 最小生成--prime(普里姆)算法

普里姆最小生成树算法:思想:贪心算法思想,以一个顶点为开始的最小生成树,不停选择到最小生成树权值最小的顶点并入,直到所有顶点并入 1.并入第一个顶点(随便),最为最开始的只有一个顶点的最小生成树2.初始化lowcast, adjvex数组的数值3.查找lowcast数组,选择最小权值的边4.找到边后将相应的顶点并入5.更新lowcast, adjvex数组并跳到...

2020-03-06 22:21:59 379

原创 java 链接 MySQL “Communications link failure” 报错

查看链接地址是否错误

2020-02-26 09:37:46 285

原创 (DFS深度优先遍历+回溯)给出一堆长度各异的木棍,这些木棍能否头尾相连形成一个正方形

题目描述: Given a set of sticks of various lengths, is it possible to join them end-to-end to from square?输入: The first line of input contains N, the number of test cases. Each test case begins wi...

2020-02-22 23:39:53 3239 3

原创 Establishing SSL connection without server's identity verification is not recommended警告原因是mysql在高版本中

在eclipse中部署Javaweb项目连接数据库报Establishing SSL connection without server's identity verification is not recommended错误时有两种可能:1.原因是mysql在高版本中需要显式指定是否进行SSL连接。在连接mysql配置文件中添加ssl=true即可connectionURL...

2019-06-03 01:00:54 406

Spring Boot笔记.md

超详细的Spring Boot学习资源

2020-03-31

空空如也

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

TA关注的人

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