自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ResNet网络构建过程详细分析

ResNet网络的构建过程  构建ResNet网络是通过ResNet类进行的,ResNet类继承了Pytorch网络的基类:torch.nn.Module,然后重写了 _init_ 方法和 forward 方法,__init__方法用来定义一些参数,forward方法用来定义数据在层之间的流动顺序。  构建ResNet网络时,在函数中一般是调用torchvision.model中的resnet50()/resnet18()/resnet101()等函数完成的,调用resnet50()/resnet1.

2020-08-06 17:22:48 2143

原创 pycharm在一个虚拟环境中管理多个不同项目的调试教程

前言:在远程服务器上自己创建了一个PyTorch框架的虚拟环境,用于在日后进行深度学习的相关工作,但是一个虚拟环境中在日后可能有多个不同的项目,这些项目都共用一个虚拟环境,如果在本地使用PyCharm调试远程服务器上不同的项目就是这篇文章将要讲的内容。一. 虚拟环境第一次使用的情况如果这个虚拟环境没有创建过任何的项目,那么我们在创建第一个项目的时候就要重新设置解释器,步骤如下:点击 File->Settings,进入如下页面:通过下面这个页面可以看到我们现在使用的解释器是本地的解释器,但是我

2021-03-08 18:50:42 3160 5

原创 使用sed和grep命令修改指定目录下文件中的字符串

使用sed和grep命令修改指定目录下文件中的字符串命令:sed -i "s/old/new/g" `grep "old" -rl ./` 注意:在grep之前的符号不是单引号,而是符号:`

2020-12-21 11:33:53 656

原创 Linux下删除乱码或者特殊字符文件方法讲解

前言:最近在做火焰检测进行数据集的预处理遇到了一下的错误:UnicodeEncodeError: ‘utf-8’ codec can’t encode characters in position 10-13: surrogates not allowed这个错误是由于文件夹中有部分文件含有乱码或者特殊字符引起的,必须要删除这些文件才能令程序顺利的执行,但是常规的rm指令无法删除乱码或者特殊字符的文件,必须使用其他的方法,下面进行方法介绍:通过在文件夹下应用 ls 指令,找到了含有乱码(这些乱码其实

2020-11-26 16:39:00 441

原创 阅读YOLOv3论文的一些记录、问题、解答

YOLOv3论文链接: https://arxiv.org/abs/1804.02767问题:网络实际学习的是tx、ty、tw、tht_{x}、t_{y}、t_{w}、t_{h}tx​、ty​、tw​、th​这4个offsets,tx、tyt_{x}、t_{y}tx​、ty​是预测的坐标偏移值,tw、tht_{w}、t_{h}tw​、th​是预测的尺度缩放,为什么不让网络直接学习bx、by、bw、bhb_{x}、b{y}、b_{w}、b_{h}bx​、by、bw​、bh​?YOLOv3一共产生

2020-11-10 21:33:23 871

原创 远程服务器(linux)下载数据集以及其他的一些指令

PASCAL_VOC2007和PASCAL_VOC2012数据集wget PASCAL_VOC2012 test数据集wget PASCAL_VOC2012 train数据集wget PASCAL_VOC2007 train数据集wget PASCAL_VOC2007 test数据集

2020-10-31 18:24:02 2861

原创 使用pip下载之前版本的opencv

pip install opencv-python==4.1.2.30 -i https://pypi.tuna.tsinghua.edu.cn/simple

2020-10-29 17:15:04 1182

原创 图像中 image[:,::-1,:]的含义详解

最近在看python源代码的时候对 image = image[:,::-1,:] 一行代码不太理解,通过查阅得知了这一行代码的含义,特此记录下来:  首先,这一行代码产生的效果是对原来的一张图片实现 翻转(flip) 的效果,效果图如下:  接下来详细解释一下这一行代码的含义(image是一个三维数组):   1. image[:,::-1,:]中的第一个冒号代表了图片的纵列,单独一个冒号指的是对图片的所有纵列进行操作。   2. image[:,::-1,:]中的 ::-1 的是表示从右向左进

2020-10-28 10:20:33 3769 1

原创 医疗服务系统设计说明书

文章目录1. 引言1.1 编写目的1.2 背景说明1.3 术语定义1.4 参考资料2. 总体设计2.1 性能规定2.1.1 数据精确度2.1.2 时间特性2.1.3 适应性2.1.4 可用性2.1.5 输入和输出2.1.6 设计约束2.2 运行环境2.3 处理流程2.3.1 管理员子系统2.3.2 患者子系统2.3.3 医生子系统2.4 软件结构2.4.1 顶层结构图2.4.2 管理员结构图2.4.3 患者结构图2.4.4 医生结构图3. 模块设计说明3.1 模块介绍3.1.1 概要3.1.2 登录模块3.

2020-10-24 08:32:11 9523 2

原创 L1正则化和L2正则化讲解

L1正则化和L2正则化讲解  在机器学习实践过程中,训练模型的时候往往会出现过拟合现象,为了减小或者避免在训练中出现过拟合现象,通常在原始的损失函数之后附加上正则项,通常使用的正则项有两种:L1正则化和L2正则化。  L1正则化和L2正则化都可以看做是损失函数的惩罚项,所谓惩罚项是指对损失函数中的一些参数进行限制,让参数在某一范围内进行取值。L1正则化的模型叫做LASSO回归,L2正则化的模型叫做岭回归。LASSO回归公式min12mΣi=1m(f(x)−y(i))2+λ∣∣w∣∣1min\fr

2020-10-16 21:29:10 11677 3

转载 随机种子讲解

  在使用numpy时,难免会用到随机数生成器。我一直对np.random.seed(),随机数种子搞不懂。很多博客也就粗略的说,利用随机数种子,每次生成的随机数相同。我有两个疑惑:  1, 利用随机数种子,每次生成的随机数相同。这是什么意思?  2,随机数种子的参数怎么选择?在别人的代码中经常看到np.random.seed(Argument),这个参数不一样,有的是0,有的是1,当然还有其他数。那这个参数应该怎么选择呢?通过对别的博客的理解,我做了以下几组实验:1.以np.random.ra

2020-08-19 09:56:07 1904 3

原创 ResNet结构以及残差块详细分析

ResNet结构以及残差块详细分析ResNet结构如下残差块结构以及分析  输入特征矩阵以两个分支进入残差块,直线分支经过多个卷积层产生输出特征矩阵,**注意:**在直线残差块中,经过最后一个卷积层之后并不是立刻通过激活函数ReLU激活(残差块中除去最后一个卷积层,其他的卷积层都是产生输出特征矩阵之后立刻进行激活),而是要和shortcut分支传过来的特征矩阵相加之后再进行激活。在这里涉及到了矩阵的相加,那么就要求直线分支(主分支)和shortcut分支(旁分支)的输出特征矩阵的shape

2020-08-18 20:38:50 19574

转载 ReLU作为分段线性激活函数,如何在神经网络中引入非线性?

ReLU作为分段线性激活函数,如何在神经网络中引入非线性?前言:我们知道激活函数的作用就是为了为神经网络增加非线性因素,使其可以拟合任意的函数。那么relu在大于的时候就是线性函数,如果我们的输出值一直是在大于0的状态下,怎么可以拟合非线性函数呢?relu是非线性激活函数题主的疑问在于,为什么relu这种“看似线性”(分段线性)的激活函数所形成的网络,居然能够增加非线性的表达能力。解答:1、首先什么是线性的网络,如果把线性网络看成一个大的矩阵M。那么输入样本A和B,则会经过同样的线性变换MA,M

2020-08-15 15:49:48 2711

原创 行人重识别的大体介绍

行人重识别简介:  首先拿到原始的视频,从对视频中的行人进行检测,将行人图片裁剪出来,得到一系列的行人图片(图中的gallery),对于任意一张想要检索的图片,比如图中的Cam1,假设Cam1中的行人标号为A,在gallery中进行搜索,找到gallery中的所有的标号为A的人。行人重识别的定义: 行人重识别也称行人再识别,被广泛认为是一个图像检索的子问题,是利用计算机视觉技术判断图像或者视频中是否存在特定行人的技术,即给定一个监控行人图像检索跨设备下的该行人图像。行人重识别技术可以弥补当前..

2020-08-12 16:15:51 2423

原创 罗浩老师行人重识别课程记录

卷积核在图像处理领域的物理意义: 一个卷积核卷一次图像 就是在提取一副图片的特征,所以,卷积就是在提取特征。不同的卷积核卷积图像会得到图像的不同特征,一次卷积操作对应着一次特征提取CNN的平移不变性: CNN对于同一张图片及其平移后的版本,都能输出同样的结果感受野: 感受野指的是一个神经元与输入层连接神经元组成区域,卷积和池化操作都会改变感受野的大小卷积神经网络三特性: 1. 局部连接 底层神经元更注重局部细节并且局部神经元减少了参数量 2. 权值共享 可以使用一个卷积核对整副图像进..

2020-08-12 16:06:20 609

原创 Batch Normalization(BN)的简单介绍

Batch Normalization(BN)介绍BN目的: 令一批(batch)数据对应的feature map的每一个维度(每一个channel)满足均值为0,方差为1的分布规律,通过该方法能够加速网络的收敛并提升准确率。BN算法的步骤以及参数求解μ,σ 是在正向传播过程中统计得到γ,β 是在反向传播过程中训练得到使用BN算法应该注意的问题:1. 训练时要将traning参数设置为True,在验证时将trainning参数设置为False(因为训练时需要对每一批batch统计相

2020-08-09 20:34:16 456

原创 激活函数介绍

神经网络需要激活函数的原因:​ 数据的分布绝大多数的非线性的,而不加激活函数的神经网络的计算是线性的,引入激活函数,是为了在神经网络中加入非线性的因素,增强神经网络的学习能力,所以激活函数的最大特点就是非线性。为什么不加激活函数的网络的计算是线性的?单层感知机在上图中的单层感知机中,y的表达式即为线性的,右图中的直线由 w1x1+w2x2+b=0w_{1}x_{1}+w_{2}x_{2} + b = 0w1​x1​+w2​x2​+b=0 得到,可以看出单层的感知机只能进行线性的.

2020-08-09 20:29:51 780

原创 MDS算法中一些疑问的记录以及解答

MDS算法的基本介绍假定m个样本在原始空间的距离矩阵为 D∈Rm×mD∈ R^{m\times m}D∈Rm×m,其第 i 行 j 列的元素 distijdist_{ij}distij​ 为样本 xix_{i}xi​ 到 xjx_{j}xj​ 的距离,我们的目标是获得在 d′d'd′ 维空间的表示 Z∈Rd′×m,d′<<dZ ∈ R^{d'\times m},d'<<dZ∈Rd′×m,d′<<d且任意两个样本在d′d'd′维空间中的欧氏距离等于原始空间的距离,即 ∣

2020-07-31 21:23:21 390

原创 李宏毅机器学习——Logistic回归

文章目录Logistic回归分类概念概率和分类的关系后验概率Step1 逻辑回归的函数集Step2 定义损失函数Step3 寻找最好的函数损失函数:逻辑回归为什么不使用线性回归的平方误差?判别模型 vs 生成模型生成模型的优势多类别分类Softmax定义 target逻辑回归的局限特征转换级联逻辑回归模型Logistic回归分类概念分类要找一个 functionfunction 函数,输入对象 xx 特征, 输出是该对象属于 nn 个类别中是属于哪一个。概率和分类的关系下面的 Class1 和

2020-05-31 10:46:46 409

原创 李宏毅机器学习——梯度下降详细讲解

梯度下降梯度下降是为了解决回归方程中参数的最优化问题,即表现为下述的式子:θ∗=arg⁡min⁡θL(θ)\theta ^{\ast }=\arg \min _{\theta }L\left( \theta \right)θ∗=argθmin​L(θ)L(θ)L\left(\theta\right)L(θ) : Lossfunction( 代价损失函数)θ\thetaθ:parameters(参数)注意:上述中的 θ\thetaθ并不是指的一个参数,而是指的一组参数需要找一组参数,令代价损失

2020-05-16 22:53:33 1203

原创 天梯赛练习——是否完全二叉搜索树 (30分)

题目:分析:使用递归建立二叉搜索树,在建树完成之后,使用队列层次遍历该树,定义一个标志 pp,对于每一个结点,如果该节点的左子树为空但是右子树不为空的情况,这说明该树不是完全二叉树,将 pp 置为true,这样就可以判否是完全二叉树代码:#include <iostream>#include <cstring>#include <cstdio>#...

2020-04-21 18:32:34 184

原创 天梯赛练习——Favorite Color Stripe (30分)(最长上升子序列)

题目:分析:对于输入的n种颜色,将输入的颜色从1开始依次编号,在输入长度为L的序列时,将其转换为对应的颜色下标编号,那么问题就会转换为最长上升子序列的问题对于长度为L的序列,求最长上升子序列,容易得知,在长度相同的最长子序列的情况下,最后一个的数越小,这个序列在最后可能形成的序列就越长,依据这个性质我们就可以求出最长的子序列代码:#include <iostream>#i...

2020-04-18 20:04:43 143

原创 天梯赛练习——Build A Binary Search Tree (30分)(搜索树)

题目:分析:递归求解搜索树代码:#include <iostream>#include <cstring>#include <cstdio>#include <algorithm>#include <queue>using namespace std;const int MAXN = 105;int num[M...

2020-04-18 18:14:46 142

原创 天梯赛——Review of Programming Contest Rules (30分)(DFS)

题目:代码:#include <iostream>#include <cstring>#include <cstdio>using namespace std;int num[12],solve[12],d[12],ans[12];char str[12][25];bool vis[12];int h,n,t0,minn,minTim;...

2020-04-17 20:20:27 462

原创 天梯赛练习——公路村村通 (30分)

题目:分析:使用最小生成树算法解决,下面是分别使用了Kruskal算法和Prime算法:代码:Kruskal#include <iostream>#include <cstring>#include <cstdio>#include <algorithm>using namespace std;const int MAXN =...

2020-04-16 16:42:13 149

原创 天梯赛练习——Complete Binary Search Tree (30分)

题目:分析:本题涉及到 完全二叉树 二叉搜索树,对于给出的数据,只要经过排序之后则一定为二叉搜索树中序遍历的结果,由于题目要求的是构造完全二叉树,所以对于下标为 x 的节点,左孩子一定为 2x , 右孩子一定为 2x+1,则使用递归建树即可代码:#include <iostream>#include <cstring>#include <cstdio&g...

2020-04-15 19:59:53 228

原创 天梯赛练习——最长对称子串 (25分)

题目:分析:这道题借鉴了这位大佬的题解,通过题目可知找对称字符串,对称的字符串又满足回文串的性质,也就是说该字符串倒转之后仍为他本身,可以通过一个二重循环,倒转每一个可能的字符串,看该字符串是否满足回文串的性质,如果满足,找出这些字符串中最长的即可。代码:#include <iostream>#include <cstring>#include <cst...

2020-04-05 15:48:11 250

原创 天梯赛练习——树的遍历 (25分)

题目:代码:#include <iostream>#include <cstring>#include <cstdio>#include <queue>using namespace std;const int MAXN = 35;int n;int mid[MAXN],last[MAXN],ans[MAXN];typede...

2020-04-04 15:32:16 243

原创 天梯赛练习——7-41 集合相似度 (25分)(set集合)

题目:分析:此题使用set来做,对于每一个输入的元素,将其插入到所属的set集合中,因为set保证了元素的不重复性,所以最后两个集合一共有的不相等整数的个数等于:集合1的元素个数 + 集合2的元素个数 - 两个集合共有的元素个数。两个集合共有的元素的查找:遍历一个集合中的每个元素,使用 find 方法查找另一个集合中是否存在此元素。最后相除即可得出答案。代码:#include <i...

2020-04-04 14:53:55 398

原创 天梯赛练习——7-40 愿天下有情人都是失散多年的兄妹 (25分)(DFS)

题目:输入输出样例:代码:#include <iostream>#include <cstring>#include <cstdio>using namespace std;const int MAXN = 1e4+5;int n,m;bool flag,vis[100005];struct node{ char sex;...

2020-04-03 20:08:27 801

原创 天梯赛练习——7-37 红色警报 (25分)(并查集)

题目:分析:该题使用并查集来解决,通过判断去除 某一个城市 之前和之后的连通性得出是否要发出警报每一次攻占某一个城市之前,求出根节点的个数ans,攻占城市之后,标记该城市,然后对未标记的城市做一遍并查集,判断此时的根节点一共有cnt个,如果 cnt 等于 ans ,说明此时破坏的城市并没有使连通性发生变化,如果cnt <ans说明,此时破坏的城市为孤立城市,也不会发出警报,在cnt ...

2020-04-02 17:44:18 290

原创 天梯赛练习——7-31 PAT排名汇总 (25分)(排序)

题目:分析:就是反复使用sort()进行排序,不过在这里含有相同名次下的输出,可以设置一个v和maxx来输出相同的名次,具体的操作下述代码中已给出代码:#include <iostream>#include <cstring>#include <cstdio>#include <algorithm>#define INF 0x3f3...

2020-04-01 11:19:19 811

原创 7-21 Hashing (25分)(平方探查法)

题目:分析:num[i]用于存放数值首先要判断输入的初始m是否为素数,如果不是素数,需要将m增加到素数确定了m之后,判断pos = num[i] % m这个位置在hashTable中是否已经被访问了,如果vis[pos]为false,说明此位置未被访问直接输出即可,如果为true,说明此位置已经被访问了,之后运用平方探查法找合适的位置,具体的做法是 nexPos = (pos + j*...

2020-03-29 18:14:38 256

转载 7-20 Sort with Swap(0, i) (25分)

题目分析:能够发现序列是由几个环组成,每个环内的元素排好序就可以使得环内元素在正确的位置上,走一遍样例就可以发现,一个环内的元素相互交换最少需要元素数-1次操作就可以排好序,由于只能和0交换,如果这个环包括0,那就需要交换元素数-1次,否则的话,需要把0交换进环,再交换出去,需要交换元素数-1+2次即元素数+1。如果一个元素本来就在正确位置那就不用交换。代码:#include <s...

2020-03-29 17:34:08 156

原创 天梯赛练习——7-17 Insert or Merge (25分)(归并+插入)

题目:代码:#include <iostream>#include <algorithm>#include <cstring>#include <cstdio>using namespace std;const int MAXN = 105;int num[MAXN],tmp[MAXN],val[MAXN];int n;bo...

2020-03-28 16:16:16 122

原创 天梯赛练习——7-15 How Long Does It Take (25分)(关键路径+拓扑排序)

题目:分析:使用拓扑排序判断是否能够完成工程(即判断是否存在环),如果能够完成工程,要求出完成工程需要的最长时间,值得注意的是,最长时间并不一定是 n-1 这个点,可能是 0~n-1中的任何一个点,所以最后还需要一次循环找出最长的时间。代码:#include <iostream>#include <cstring>#include <cstdio>...

2020-03-27 20:31:20 196

原创 天梯赛练习——7-14 旅游规划 (25分)(Dijkstra)

题目:分析:此题属于最短路径问题,可以使用 迪杰斯特拉 解决,不过要多一个条件:当距离相等的情况下,要判断怎样花的钱更少。代码:#include <iostream>#include <cstring>#include <cstdio>#include <queue>#define INF 0x3f3f3f3fusing name...

2020-03-26 17:31:38 238

原创 天梯赛练习——7-6 Tree Traversals Again (25分)(前序+中序->后序)

题目:分析:从题目分析可知,入栈的顺序即为树的前序遍历,出栈的顺序即为树的中序遍历,分别使用数组pre,mid存储前序和后序遍历的结果,随后根据前序和后序的遍历结果即可求出后序遍历代码:#include <iostream>#include <cstring>#include <cstdio>#include <stack>#inc...

2020-03-25 10:23:52 118

原创 天梯赛练习——7-3 Pop Sequence (25分)

题目:分析:输入一行长度为 n 的数字之后,分别对应着num[1] , num[2] , num[3] , … , num[n],从 num[1] 开始遍历 , 如果当前栈中的元素为空 或者 栈顶的元素不等于num[1],那么就从 1 开始入栈(题目要求从1开始顺序入栈),如果入栈之后 栈中元素大于 m,说明此时栈已经溢出,则直接跳出循环,如果当前栈顶的元素等于num[1],那么就将当前的栈...

2020-03-24 17:05:14 403

原创 天梯赛练习——7-2 Reversing Linked List (25分)

题目:分析:首先,看明白要求,题目要求的是:每 k 个元素进行逆转,也就是说如果 k < n/2的话需要逆转多次。其次,题目中可能出现多条链,只需要输出需要的链即可下面的代码中应用了 algorithm 库中的 reverse 函数,用于逆转元素,详情代码如下:代码:#include <iostream>#include <cstring>#incl...

2020-03-24 14:42:35 281 1

空空如也

空空如也

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

TA关注的人

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