- 博客(28)
- 收藏
- 关注
原创 python数据结构(库实现)
总论算法与数据结构是程序员一项十分重要的技能,对于python而言,其数据类型强大但却不够丰富,虽然我们能够通过列表等结构模拟或者通过类进行数据结构的新建,但在某些场合却显得麻烦一些,比如在进行力扣比赛的过程中,下面通过几个库的介绍,展示python中库里构建的极具魔力的数据结构,能够让你在刷题的过程中事半功倍collectionscollections.Counter()这个可能是大家比较熟悉的,他会对可迭代对象其中的内容进行计数,然后返回一个字典,这个功能我们常用,假如要对一个列表元素进行计数,
2021-03-27 19:40:47
835
原创 排序算法总结(python实现)
排序算法总结冒泡排序冒泡排序可能是大家在大学计算机课程中接触的第一个排序算法,虽然其复杂度相对较高,但其中着眼于一点的问题解决方式是值得我们学习和借鉴的,当然我们可以先排最后一个位置的数,也可以先排最初始位置的数,其在编程上没有本质的区别,下面展示最典型的两种排法:#先排最后的位置def bub_sort(seq: list) -> list: for j in range(len(seq)-1,0,-1): for i in range(j): if seq[i] > se
2021-02-06 20:36:24
270
原创 python之字符串strip、rstrip、lstrip的方法
描述strip():用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列rstrip():用于移除字符串右边指定的字符(默认为空格或换行符)或字符序列lstrip():用于移除字符串左边指定的字符(默认为空格或换行符)或字符序列语法str.strip( ‘[chars]’ )参数参数chars表示需要移除字符串头尾/左边/右边指定的字符序列返回值返回移除字符串头尾/右边/左边指定的字符生成的新字符串示例...
2020-06-27 09:33:04
241
原创 yolov3绘制矩形框的函数
直接上代码def draw_rect(img, class_id, left, top, right, bottom): cv2.rectangle(img, (left, bottom), (right, top), (0, 255, 0), thickness=2) labelSize, baseLine = cv2.getTextSize(class_id, cv2.FONT_HERSHEY_SIMPLEX, 0.5, 1) print(labelSize, baseLine
2020-05-26 09:23:58
1299
原创 python面向对象的魔法方法详解
什么是魔法方法我们都知道我们在创建一个类的时候python默认是继承与object这个基类的,这个基类里面包含的方法就是我们常说的魔法方法,要想学好python中面向对象的编程,了解这些魔法方法是必要的,接下来我们通过其中的dir()方法,将我们创建类的所有方法打印出来,方便我们研究:class cesi(object): """这是一个用于测试的类""" def __init__(self, name, age): super(cesi, self).__init__() self.na
2020-05-11 14:02:29
586
原创 python中的GIL锁和互斥锁问题
互斥锁的引入在明确问题前,我们应该知道在python中,线程是并发的而不是并行的,在平时不会有显现,但在资源调度上,这个问题就会特别明显,首先,我们通过一个例子来看一下资源竞争导致的问题:import threadingimport timeg_num = 0def work1(num): global g_num for i in range(num): ...
2020-05-04 22:10:13
318
原创 python查看一个对象是否可迭代
from collections import Iterableisintance([11,22,33,44],Iterable)out: True调用上述函数返回bool类型值
2020-04-24 10:06:21
310
转载 算法4.09.1动态规划之博弈问题
动态规划之博弈问题博弈类问题的套路都差不多,下文举例讲解,其核心思路是在二维 dp 的基础上使用元组分别存储两个人的博弈结果。掌握了这个技巧以后,别人再问你什么俩海盗分宝石,俩人拿硬币的问题,你就告诉别人:我懒得想,直接给你写个算法算一下得了。举个例子:你和你的朋友面前有一排石头堆,用一个数组 piles 表示,piles[i] 表示第 i 堆石子有多少个。你们轮流拿石头,一次拿一堆,但是只...
2020-04-12 22:53:35
519
原创 算法4.07.1(KMP算法)
简介Knuth-Morris-Pratt 字符串查找算法,简称为 KMP算法,常用于在一个文本串 S 内查找一个模式串 P 的出现位置。这个算法由 Donald Knuth、Vaughan Pratt、James H. Morris 三人于 1977 年联合发表,故取这 3 人的姓氏命名此算法。算法操作流程如下:假设现在文本串 S 匹配到 i 位置,模式串 P 匹配到 j 位置如果 j...
2020-04-10 11:45:17
196
原创 4.05.1(Knuth 洗牌算法)
今天本来也没想去写这个,但在csdn上偶然间看到了这个,就作为今天的任务去写一下,代码其实很简单for(int i = n - 1; i >= 0 ; i -- ) swap(arr[i], arr[rand(0, i)]) // rand(0, i) 生成 [0, i] 之间的随机整数详细解释...
2020-04-09 21:02:39
167
原创 pytorch训练自己的数据集(完整版)
标签制作部分我们要想用深度学习去训练我们的神经网络模型,首先,我们要告诉我们的电脑,我们的每一张图片,分别代表什么,对于这种问题,我们通过制作一个txt文档去解决,好,那我们现在就去构建一下我们txt文件,具体代码如下:import osimport copydef write_txt(path,txt_path): num =len(os.listdir(path)) ...
2020-04-08 08:05:54
5468
1
原创 cifar-10-python数据集
百度网盘Cifar获取地址链接:https://pan.baidu.com/s/132yQGedau02Bw47fz75bYQ提取码:bnvdtorch.utils.data.DataLoader理解批训练,把数据变成一小批一小批数据进行训练。DataLoader就是用来包装所使用的数据,每次抛出一批数据。具体的理解我们来看一下下面的代码:import torchBATCH_SIZE...
2020-03-30 17:41:13
803
原创 池化操作的python实现
池化没啥好说的,直接上代码:def mean_pool(img,num=10): img_shape=img.shape lack_row=num-img_shape[0]%num lack_col=num-img_shape[1]%num lack_np_row = np.zeros((int(lack_row/2),img.shape[1])) res...
2020-03-26 20:32:35
1121
原创 python绘制主题河流图
主题河流图一般在文本中用到的不多,但通过这种时间序列关系,我们能够分析一些特定的词在全文中的分布规律,这样有助于我们理解全文内容。import reimport jiebaimport pandas as pdimport openpyxlimport pyecharts.options as optsfrom pyecharts.charts import ThemeRiverd...
2020-03-26 20:24:11
7811
5
原创 文本词频统计
代码挺简单的,能够生成excel表格import reimport jiebaimport pandas as pdimport openpyxltxt=open("C:/Users/Elegantmadman/Desktop/1.txt",'r').read()words=jieba.lcut(txt)count={}sum = len(words)for word in w...
2020-03-26 20:17:41
259
原创 LeNet分类模型实现数据集分类
模型设计模型定义#importimport syssys.path.append("/home/kesci/input")import d2lzh1981 as d2limport torchimport torch.nn as nnimport torch.optim as optimimport time#netclass Flatten(torch.nn.Modul...
2020-02-18 20:28:36
522
原创 机器翻译及其技术实现
机器翻译(MT):将一段文本从一种语言自动翻译为另一种语言,用神经网络解决这个问题通常称为神经机器翻译(NMT)。 主要特征:输出是单词序列而不是单个单词。 输出序列的长度可能与源序列的长度不同。数据预处理去除特殊字符def preprocess_raw(text): text = text.replace('\u202f', ' ').replace('\xa0', ' '...
2020-02-18 20:09:36
1144
原创 梯度消失与梯度爆炸
深度模型有关数值稳定性的典型问题是消失(vanishing)和爆炸(explosion)。当神经网络的层数较多时,模型的数值稳定性容易变差。说白了,这种数值不稳定情况的出现,是基于神经网络的反向传播机制,也是这种机制的先天不足。
2020-02-18 17:26:43
300
原创 numpy官网文档学习笔记(入门)
属性简介NumPy的主要对象是齐次多维数组。它是由非负整数元组索引的所有类型相同的元素(通常为数字)表。NumPy的数组类称为ndarray。别名数组也知道它。请注意,numpy.array与标准Python库类array.array不同,后者仅处理一维数组且功能较少。ndarray.ndim:数组的轴数(尺寸) 轴数阵列的(尺寸)ndarray.shape:数组的尺寸ndarray.s...
2020-01-31 21:38:45
335
原创 数据的统计描述与分析
说明本部分内容大部分都比较简单,在此主要是联系一下可视化的操作直方图本次采用的数据如下:最后生成结果:代码如下:load data.txt;high=data(:,1:2:9);high=high(:);weight=data(:,2:2:10);weight=weight(:);[n1,x1]=hist(high)[n2,x2]=hist(weight)subplot(1...
2020-01-18 21:46:51
472
原创 熵权法(客观赋权法)
说明相较于德尔菲法、层次分析法等主观赋权法,熵权法更具有客观性,能够更好的对结果进行解释,其利用的是信息之间的变异性(也就是差异性)来进行赋权的,但在采用此方法的时候需要有部分样本量,通过样本确定权值,通过所确定的权值在进行新事物的分析。其原理过程十分简单,下面将其推导过程附上:到这里,我们计算出了熵权法给我们返回的权重,接下来我们如果想将该权重与其他权重结合起来,则根据:自此,我们就...
2020-01-17 13:29:15
17691
1
原创 插值(一)
拉格朗日插值插值与拟合不同,插值要求严格的经过已经确定的函数节点,而拟合并不需要,拟和更多的是一个寻找全局最优。下面我们简单介绍一下拉格朗日插值:我们在这里先确定一个基本思路,插值是为了解决函数的拟合问题,我们想用一个多项式去拟合出一个过n个点的平滑函数,那么多项式的个数也必然是n个,否者变量个数,少于等式个数,必然会导致无解。于是确定拉格朗日插值,实际上也就是去解方程。但是,这样去处理的话...
2020-01-16 23:01:45
852
原创 层次分析法
层次分析法,原理上比较简单,一般用于涉及对主观判断的处理,解决的问题往往是缺少定量指标的。关于原理的简述,我在网上,发现了一篇写的很好的博客,在此不再赘述了,想了解的参考此博客。但写了篇文章,不能啥都不说哈,我在这里简单的对代码进行一定的解释吧!clc,clear fid=fopen('txt3.txt','r'); #注意在matlab上建立工作路径n1=6;n2=3;#对应判断层6指标,...
2020-01-15 17:24:05
325
原创 线性规划
数学简述线性规划其实在高中就已经接触过,其原理并不复杂,即通过线性约束条件,解决最优问题,但进入大学后,那肯定会对其定义概念进行升级一番,要不然不就显得很弟弟,于是加入矩阵后,其标准的问题型为:其实上述的约束条件,个人认为就是对三类约束的分类:维数约束(每一个相等条件都是一种降维)线性约束域约束上述为标准型的线性规划问题,其实线性规划也能够抽象解决离散问题,比如我在建模书上看到用其...
2020-01-12 22:13:13
715
原创 tensorflow版本问题
tensorflow版本自从2.0版本,语言格式发生了很多变化,代码形式更加简洁了,但以前tensorflow1版本的很多代码都需要进行翻译后才能跑通,而且,现在大部分的tensorflow资料,都是用,老版本的语言写的,那么在对版本的升降方面,就会有一定的需求,通过pycharm的库安装可以很容易的实现安装不同版本的需求,但安装大概有那么几种方式(一)pycharm安装Specify ve...
2020-01-11 23:19:17
269
原创 单线程主机通信
之前实现了一个多线程的简单通信,但今天又需要去建立一个单线程的主机之间的长连接,但该问题运用,while True无限循环结构并不能解决客户端断开连接后,服务端程序仍能够运行的目的。查阅部分资料,了解到socket,当发送的信号无接收时,会自动返回一个程序终止的信号,但我这个程序断开的原因却不是如此,而是程序断开连接后,就相当于一个异常信号,程序就会异常终止。最终通过while True和try...
2020-01-11 22:51:23
192
原创 图论(一)
基本概念理论无向图一个无向图(undirected graph)G 是由一个非空有限集合V (G)和V (G)中某些元素的 无 序 对 集 合 E(G) 构 成 的 二 元 组 , 记 为 G = (V (G),E(G)) 。其 中( ) { , , , } 1 2 n V G = v v L v 称为图G 的顶点集(vertex set)或节点集(node set), V(G)中的每一个...
2020-01-10 10:58:38
663
原创 python的socket网口实现图片主机之间的通信
说明本程序的设计是为了实现客户端发图片,服务器进行图片接收,然后调用程序进行处理,并返回的功能,但在做的过程中,涉及的线程和socket库方面,了解的并不是很透彻,所以在进行程序编写的时候,免不了会有一些比较粗浅多余的地方。客户端import socketimport osclient = socket.socket() # 声明socket类型,同时生成socket连接对象cli...
2020-01-09 21:27:34
546
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人