自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(352)
  • 资源 (3)
  • 收藏
  • 关注

原创 python读取json格式的文件

其实就是用open读取文件,然后进行一个循环,并在每个循环里边用json.loads()把每个json转成字典。

2022-12-18 00:40:21 94

原创 python绘制折线图并保存

1.下面这部分代码是绘图并保存的代码。

2022-07-20 11:34:07 1750

原创 python读取某目录下指定后缀的所有文件

参考文章:1.https://blog.csdn.net/weixin_36670529/article/details/107208026

2022-07-11 17:15:56 1390

原创 python3.7实现给命令行参数传入多个值

比如想设置个参数,它可以接收多个整数值,那么可以在add_argument中设置action=“append”调用方式及结果如下:python3.8中还可以用action=“extend”,这样就不需要挨个值前面都跟一个–arg_name了,具体可查看https://docs.python.org/3.9/library/argparse.html#action参考文章:1.https://blog.csdn.net/qq_38962621/article/details/110579156.....

2022-07-03 16:25:32 588

原创 使用nltk下的wordnet包时报错zipfile.BadZipFile: File is not a zip file

如果是手动下载并解压的,需要在以下目录中任选一个新建corpora文件夹,然后把解压后的wordnet文件夹放到corpora文件夹中:如果是在代码里用nltk.download(“wordnet”)下载的,可能是因为各种原因下载出错了,没有下载完整,因此只需要在代码里再跑一次download就行...

2022-06-22 15:49:11 320

原创 python删除字符串中的无意义字符

一个正则匹配式的问题,把下面代码中的remove_chars正则匹配式码住就行输出结果:

2022-06-22 11:37:59 352

原创 用Bert获取句子向量,并计算句子相似度

我用的是sentence-bert,它封装在sentence-transformer中:二、相似度向量相似度有两个度量标准:余弦相似度、余弦距离,其中余弦相似度就是cos,两个向量越像,余弦相似度越大;余弦距离=1-余弦相似度,两个向量越像,余弦距离越小。下面这段代码就是计算余弦距离的结果:参考文章:1.https://blog.csdn.net/u011412768/article/details/86714540...

2022-06-14 16:16:36 1390 1

原创 基于numpy的CNN实现,进行MNIST手写数字识别

主要框架来自于这篇文章:https://blog.csdn.net/qq_36393962/article/details/99354969,下面会以原文来代称这篇文章本文在原文的基础上增加了交叉熵以及mnist数据集的处理,并对卷积层反向传播更新权重的代码进行了一些相应的改动。建议先按原文脉络学习一下相关理论知识(原文讲的非常完整详细,但是个人感觉卷积层反向传播更新参数那部分有问题,卷积层更新参数的原理可参考刘建平前辈的文章),再参考下述实现代码。文章目录零、MNIST数据集读取+layer模板代码一

2022-05-31 12:19:40 813 4

原创 用Bert做英法机器翻译

过程基本参考自BERT实战——(5)生成任务-机器翻译,结合我个人的数据集在数据处理部分做了些调整,完整代码可见translate.ipynb一、数据处理我的数据集是这样的:第一列是英文,第二列是对应的法文翻译,第三列是文本来源,所以说第三列是不需要的1.首先是读取数据,把前两列存入数组中,并把前90%的数据作为训练集,后10%的数据作为验证集f=open("fra.txt","r",encoding="utf-8").readlines()en=[]fre=[]data=[]for l

2022-05-19 23:41:01 1165 2

原创 用mindspore定义一个双层神经网络拟合抛物面

mindspore(后文简称为ms)目前网上的使用者以及文章太少了,对于像我这种没有阅读官方文档的人来说属实有点不易,这里记录一下我用mindspore实现单层和双层神经网络拟合抛物面的代码。详细代码在https://github.com/yuanzilin/PatternRecognition/tree/main/lab4中的BP_mindspore.ipynb中一、简化版流程主要有5个步骤:1.定义网络结构2.定义损失函数3.定义反向传播网络4.开始训练5.用训练完成的模型对测试集进行推

2022-05-13 18:17:57 300

原创 python绘制三维散点图

和二维的区别主要在于要从mpl_toolkits.mplot3d中载入Axes3D,并用Axes3D来绘制图形import numpy as npimport matplotlib.pyplot as pltfrom mpl_toolkits.mplot3d import Axes3Ddata=np.random.randint(0,27,(9,3))x=data[:,0]y=data[:,1]z=data[:,2]fig=plt.figure()ax=Axes3D(fig)ax.s

2022-05-10 13:13:29 6298

原创 python实现两个数组同时排序

用numpy.argsort函数import numpy as npa=[1,2,3,6,5,4]b=["one","two","three","six","five","four"]b=np.array(b)sorted_indices=np.argsort(a)print(sorted_indices)sorted_b=b[sorted_indices]print(sorted_b)运行结果:参考链接:1.https://blog.csdn.net/junlee87/artic

2022-05-05 01:01:38 1270

原创 用pytorch版Bert获取中文字向量

首先要从https://github.com/ymcui/Chinese-BERT-wwm中下载相应的模型解压到相应目录,比如我下载的是Chinese-Roberta-wwm-ext-pytorch:import torch from transformers import BertTokenizer,BertModelMODELNAME="chinese_roberta_wwm_ext_pytorch"# 加载分词器和模型tokenizer=BertTokenizer.from_pretrai

2022-04-29 17:12:25 867

原创 python实现GRU并使用torch.nn.GRU验证正确性

用python基本语法以及torch的一些基本数据结构对GRU进行实现如下:import torchimport torch.nn as nnbs,T,i_size,h_size=2,3,4,5input=torch.rand(bs,T,i_size)h_0=torch.rand(bs,h_size)gru=nn.GRU(i_size,h_size,batch_first=True)output,h_n=gru(input,h_0.unsqueeze(0))print(output)

2022-04-26 10:41:37 784 1

原创 python实现单层单向LSTM

用python的基本语法以及pytorch的一些数据结构实现LSTM,并用torch.nn.LSTM对我自己实现的网络的正确性进行验证,参考自https://www.bilibili.com/video/BV1jm4y1Q7uh/?spm_id_from=333.788bs,T,i_size,h_size=2,3,4,5input=torch.rand([bs,T,i_size])h_0=torch.rand(bs,h_size)c_0=torch.rand(bs,h_size)# 用官方的

2022-04-26 09:40:27 208

原创 python实现单层单向RNN

为了解torch.nn.RNN的算法过程,用python简单实现了一个单层单向的RNN:# input:输入数据,形状为sequence_length*feature_size# hidden_szie:隐藏层的特征数# wih:输入层到隐藏层的权重值,形状为hidden_size*feature_size# bih:输入层到隐藏的偏置值,形状为1*hidden_size# whh:h[t-1]到h[t]的权重值,形状为hidden_size*hidden_size# bhh:h[t-1]到h[

2022-04-19 19:09:04 747

原创 用SVR拟合圆

一、 实验原理SVR与SVM不同,SVR的样本点只有一类,它的目标是使得所有样本点到最优超平面的总偏差最小,而SVM的目标是让所有样本点到最优超平面的距离最大。求圆的圆心和半径时,先把非线性问题转成线性问题:因此本实验的优化目标为:约束条件为:其中ξ是松弛因子,ε为点到圆的距离偏差。转换成拉格朗日函数为:通过对拉格朗日核心因子(w,m,ξi+,ξi-)进行梯度下降,以及对拉格朗日乘子(αi+,αi-,βi+,βi-)进行梯度上升,即可得到最优的圆。二、 实验过程1. 读取数据im

2022-04-12 15:33:51 247

原创 初次使用GPU,遇到的一些cuda error及解决办法

1.GPU RuntimeError: CUDA error: invalid device ordinal解决办法:可能是在程序的多个地方都定义了使用的cuda编号,即使编号是一样的也会报这样的错误。解决办法是只保留一个2.使用os.environ['CUDA_VISIBLE_DEVICES'] = 'x'指定使用的GPU编号后,实际使用时还是0号GPU解决办法:把这个语句用到所有需要加载参数、数据的语句前,最方便的就是在import各种包时顺便用os.environ[‘CUDA_VISIBLE_D

2022-04-02 23:46:35 3317 2

原创 在Linux服务器上安装cuda11版pytorch

我用的是anaconda安装pytorch1.创建一个新的虚拟环境conda create -n torch_cuda11 python=3.6,这个torch_cuda11是我自己定义的虚拟环境名字另外,删除环境是conda remove -n envs_name --all新建虚拟环境完成后会显示如下指令:2.更新conda的源# 第一步:添加Anaconda的清华镜像conda config --add channels http://mirrors.tuna.tsinghua.edu

2022-03-29 18:33:12 5689

原创 用python把Excel表中不同货币的资金换算成人民币

Excel里可能有货币换算的工具,但是我需要处理的是像下面这样的带数字带文字的表格,所以需要通过python来进行批量处理代码如下,用UTF-8读取中文文件的csv可能会出现很多编码错误,解决办法可以看我这篇文章:解决:python打开csv文件时总是因为编码问题报错import impimport stringimport pandas as pdimport numpy as npfrom string import digitsimport redf=pd.read_csv(r'Pa

2022-02-23 18:09:36 768 3

原创 解决:python打开csv文件时总是因为编码问题报错

主要是受这篇文章启发:https://www.cnblogs.com/diantong/p/12613204.html1、用记事本打开csv文件2、在记事本中选择“另存为”3、选择“所有文件”、编码方式选“UTF-8”

2022-02-23 16:19:20 1364

原创 python读取csv文件时报错:string ‘\ufeff15.34‘ cannot convert to float

这个报错的关键是这个编码为feff的字符到底是什么,查过python文档后得知是一个字节顺序标记(BOM),有的文档会在utf-8编码文件的开头加上“BOM”,要读取这种文件,应该使用utf-8-sig编码器自动忽略此标记,像下面这样...

2021-11-28 14:30:27 579

原创 SIGS计网历次实验笔记

文章目录lab1(11.8,周一)NAT服务器配置技术1.设备需要2.客户机的设置3.服务器设置4.实际抓包lab1(11.8,周一)Ubuntu:serverUbuntu1:host1一些报错解决:1.用DHCP给网卡自动分配地址时,出现RTNETLINK answers: File exists的报错,执行一下指令 ip addr flush dev 网卡名就可以了2.如果要重启网络服务,用下面这个service network-manager restart一些知识1.ARP协议:把

2021-11-08 18:30:36 491

原创 python合并某个文件夹下面的所有文件

需要把以下3个文件合并成一个大文件用的一个比较简单直接的方法,就是一行行地读写进去import pandas as pdimport os,globall_files=glob.glob(os.path.join(path,"201*.csv"))print(len(all_files))for i in all_files: fr=open(i,'rb').read() with open('result.csv','ab') as f: f.write(fr

2021-10-06 01:05:44 487

原创 vscode打开python项目后载入自定义模块时显示ModuleNotFoundError: No module named ‘XXX‘

由于pycharm的学生认证过期了,于是今天转到vscode上了废话不多说,进入正题1.找到当前所使用的python解释器的路径,比如我的是下面这个2.进入这个目录下的/Lib/site-packages目录下,新建一个.pth文件,具体名字可以自己起,比如easy-install.pth,如果这个路径下已经有pth文件了直接用记事本打开编辑即可3.在新建的.pth文件中写入当前python项目的路径,像这样大功告成!最后要注意的是,Python解释器的路径一定要确认清楚,不然很可能做无用功

2021-09-11 21:24:06 1640

原创 快速排序(C++版)

//算法void quick(keytype k[ ],int left,int right){ int i, j; keytype pivot; if(left<right){ i=left; j=right+1; pivot = k[left]; while(1){ while(k[++i]<pivot &&

2021-05-29 22:46:05 74

原创 编辑距离(洛谷&牛客)

参考知乎上的这个答案,DP问题可归结为以下3个步骤确定数组的含义数组元素之间的关系数组初始化本篇文章便按以上3个步骤来说一下确定数组含义:dp[i][j]表示要把长度为i的字符串1转成长度为j的字符串2所需的最少步骤,即把word1[0~i-1]转成word2[0~j-1]所需的最少步骤数组元素之间的关系:如果word1[i-1]==word2[j-1],那么只需要把word1[0~i-2]转成word2[0~j-2]即可,所以dp[i][j]=...

2021-05-27 18:21:50 187

原创 vue提交数据后实现loading提示

比如提交一个表单后,等待后端返回数据时给个loading的样式,像下面这样主要用到的是element ui的el-loading,实现代码如下:onSubmit () { let $this=this let loading = this.$loading({ lock:true, text:"提交中,请稍候...", background:'rgba(0,0,0,0.5)' }) this.$axios.

2021-04-29 23:28:00 1698

原创 vue前端展示带换行的字符串

如果不加处理,带换行符的字符串展现到前端的效果是没有换行,而且不同行之间的内容以一个空格隔开解决办法是给这段字符串加一个属性:<p style="white-space: pre-wrap"> {{string}}</p>参考:https://www.cnblogs.com/leegent/p/9274424.html...

2021-04-27 18:03:23 3258

原创 Windows下celery正确接收任务,但是没有执行任务

先说解决方案:Windows下运行celery的命令是这个celery -A djangoProject1 worker --concurrency=4 --loglevel=INFO -P threads,也就是说要指定是多线程的Linux下运行celery的命令是这个celery -A djangoProject1 worker --loglevel=INFO比如这是我想要执行的函数,需要print一些东西:@app.taskdef my_task(x,y): print("x=",

2021-04-27 17:31:25 981 2

原创 解决使用element-ui里面的多选框时,选一个其他的都选上了的问题

这个问题一般是因为多选框的v-model绑定的变量是个字符串,应该是数组才行。下面结合例子来说一下:template部分的写法:可以看到,v-model绑定的是form.service_toolscript部分的正确代码如下:也即是要写成数组变量而会出现选一个其它的都选上的问题的是下面这种写法:即form.service_tool是个字符串变量...

2021-04-26 18:04:13 1500

原创 mvn install时报错Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.1

错误的原因是测试的时候出错了,我们要做的就是用下面这条指令,在mvn install时跳过测试:mvn install -Dmaven.test.skip=true另外一个注意点是,不要在powershell中执行这条指令,否则会报错:Unknown lifecycle phase “.test.skip=true“.(用powershell确实会出现很多奇怪的报错,所以用cmd会比较好.虽然比起powershell可以在任何目录中打开,cmd需要事先用cd进入相应目录中,但是可以避免不少不必要的

2021-04-22 19:31:00 343

原创 django解析前端传过来的数据

如图,前端以这样的方式传参:后端可以这样获取json数据:最后解析出来的数据是这样的:

2021-04-18 11:40:41 565

原创 剑指 Offer 35. 复杂链表的复制

题意理解:实现带指针结构体的深拷贝。深拷贝和浅拷贝的区别主要在于拷贝一个带引用或者指针的结构体时,深拷贝会开辟一块新内存,然后让克隆体的指针或引用指向这块内存;浅拷贝则不会开辟新内存,而是让克隆体的指针或引用直接指向原内存。可以参考如何理解 C++ 中的深拷贝和浅拷贝?回到这到题目就是,拷贝一个节点时,不能仅仅把人家的val拷贝进去,random指针的指向、next指针的指向也要考虑,否则就可能出现我明明克隆体的random指针指向节点的val都对了,为什么还是报Random pointer of n.

2021-04-11 16:03:07 117

原创 给定一个入栈序列A和另外一个序列B,判断这个序列B是不是这个入栈序列A的出栈序列

这个问题有个名字叫做“栈混洗”,经典的不合法出栈序列是那个1,3,2出栈序列,详情请看学堂在线-数据结构(上)不过这里记录的是从编码的角度去解决栈混洗问题,题目链接:剑指offer31入栈序列是pushed,待判断的序列是popped,算法思想就是用一个辅助栈s,同时用一个变量pop_i记录出栈序列中的当前元素;遍历pushed数组,然后对于每一次入栈操作,都循环判断一次入栈的元素是不是出栈序列中的当前元素,如果是就从s中弹出该元素,并且pop_i++;遍历pushed完成后,判断s是否为空,若为空则说

2021-04-08 17:58:47 335

原创 剑指offer:正则表达式匹配

leetcode链接1.dp[i][j]表示s[0~i-1]和p[0~j-1]的匹配情况,为true则说明可以匹配,为false则说明不可以匹配2.如果p[j-1]==’*’,那么可以选择将p[j-2]和s[i-1]进行匹配(这样的前提是p[j-2]==s[i-1],这时候dp[i][j]=dp[i-1][j]),也可以不匹配(这时候dp[i][j]=dp[i][j-2])3.如果p[j-1]=='.'或者p[j-1]==s[i-1],那么直接看s[0~i-2]和p[0~j-2]的匹配情况,即dp

2021-04-05 16:57:59 60

原创 关于el-option输入框的值和v-model的值

先说结论:v-model的值是当前被选中的el-option的value属性值,输入框中显示的为label的属性值而如果要把选择器的所选选项当作表单数据的一部分,那么可以像下面这样,把表单对应的数据项和v-model绑定:比如我自定义的表单form有个timeout属性值,并且要把这个选择器的所选值作为这个属性的值,那么就这样v-model="form.timeout"即可...

2021-03-30 21:27:57 1234

原创 洛谷P1896(状压DP)

直接说思路:先解释一下什么叫“状态”:状态也就是每一行若干个国王的摆放方案,比如棋盘为3×3,我们在第1行的第1个格放国王,第二个格不放,第三个格放,那么这一行的状态为101(即放了国王就记为1,不放国王就记为0),这种状态满足国王之间隔着至少一个空格,是合法的,所以我们称之为合法状态,这个状态转成十进制就是5;如果是第1个格和第2个格都放了1,第3个格不放,那么这一行的状态为110,两个国王挨着了,所以是不合法状态,这个状态转成十进制就是6用到的关键数据结构:state数组:存每一行合法的

2021-03-25 00:07:47 105

原创 清华2017上机题目-扫雷

题目不难,就是比较耗时间,从看题目到debug我大概用了3个半小时这里主要是记录一下我当时没看懂的点:1.什么叫空白方块?空白方块就是说对于每个方块来说,它有3种状态:被标记为“探明”被插了旗子既没有被探明,也没有被插旗子,这种状态下的方块就叫空白方块注意,方块的状态和这个方块有没有炸弹是无关的上代码:#include <bits/stdc++.h>#define maxn 1005using namespace std;struct node{ int

2021-03-23 21:00:06 150 1

原创 在python程序中运行带参数的exe文件

参考文章:python中3种调用可执行文件.exe的方法#encoding=utf-8import osmain = r'D:\cloc\cloc-1.64.exe' # 你要运行的exe文件params1 = r'C:\Users\yuan\Desktop\test\dp.bat' # 你要传入的参数# 如果要传入多个参数,就继续定义,然后在os.system里加起来就行r_v = os.system(main+' '+params1)print (r_v )...

2021-03-20 21:39:08 3483 1

清华2017上机题目-扫雷测试用例

清华2017上机题目-扫雷测试用例

2021-03-23

北航软件学院Unix环境高级编程实验指导

北航软件学院Unix环境高级编程实验指导书,主要是Linux系统的入门操作指示。个人觉得对于入门Unix编程还是很有作用的

2019-02-27

CSAPP第二版(中文附目录)

免费下载,北航软件学院必修课程,大头课程,三学分。

2019-02-25

空空如也

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

TA关注的人

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