自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【Pytorch】BERT+LSTM+多头自注意力(文本分类)

【Pytorch】BERT+LSTM+多头自注意力(文本分类)2018年Google提出了BERT[1](Bidirectional Encoder Representations from Transformers)预训练模型,刷新了11项NLP任务的精度,在NLP领域掀起一波预训练(pre-training)模型热潮。通过对BERT、RoBERTa、GPT等预训练模型微调(fine-tuning)或者作为文本的特征提取器进行迁移学习成为当时直到现在最流行的情感分析方法。

2022-02-25 00:26:42 19984 154

原创 详解自注意力机制及其在LSTM中的应用

详解自注意力机制及其在LSTM中的应用注意力机制(Attention Mechanism)最早出现在上世纪90年代,应用于计算机视觉领域。2014年,谷歌Mnih V等人[1] 在图像分类中将注意力机制融合至RNN中,取得了令人瞩目的成绩,随后注意力机制也开始在深度学习领域受到广泛关注,在自然语言处理领域,Bahdanau等人[2] 将注意力机制融合至编码-解码器中,在翻译任务取得不错的效果。而真正让注意力机制大火的是2017年,谷歌提出的Transformer[3],它提出了自注意力机制(self-At

2021-07-01 19:48:51 31153 19

原创 文本分类中CNN-LSTM融合原理

CNN-LSTM融合原理阅读这篇文章需要较扎实的CNN和RNN基础。怎么把CNN结合LSTM做文本分类,宏观的看,我以为有三种方法:CNN-> LSTM:将文本先经过CNN提取局部特征,再用LSTM提取这些局部特征的长距离特征,再经变换输入全连接层。LSTM-> CNN:先对文本用LSTM提取长距离特征,得到融合了上下文的新文本,再用CNN提取新文本的局部特征(有点像先Word2Vec再CNN),再经变换输入全连接层。CNN、LSTM同步:将CNN提取的局部特征和LSTM提取的长距离

2021-07-01 19:47:09 25030 50

原创 TypeError: ‘tuple‘ object does not support item assignment

tuple无法直接修改,修改tuple的方法是利用python的取地址特性,定义一个临时变量,对临时变量进行修改

2022-09-07 22:29:45 747 1

原创 【Pytorch】一次性加载目录下所有dataset

加载多个数据集

2022-09-03 11:48:09 570

原创 【DL】血与泪的炼丹心得

血与泪的炼丹心得,不看可惜了

2022-03-16 15:26:52 1303 3

原创 区块链的结构和原理

区块链的结构和原理文章目录区块链的结构和原理区块链原理区块链结构关于区块链的几个问题结语区块链原理区块链是一个链表,链表上存有交易信息,所有人共享同一个链表,因此它也是一个没有管理员的分布式数据库,即去中心化数据库,所有人都能加入这个数据库,并且可以读取任意块,也可以在区块链尾加入块,但无法修改已有块,新块加入后所有人的链表都将更新。采矿就是在链表中加入新块。区块链结构图 1:区块链的一个例子,它由连续的块序列组成图 2:块结构块由块头和块体组成:块头包含:Block versio

2021-11-03 22:07:07 13992

原创 全连接层调参tricks

混合神经网络中全连接层的一些技巧我们做深度学习时往往要结合多种神经网络来构建模型,这种模型构建方式称之为混合神经网络模型,不管是CNN、RNN、BERT、RoBERTa还是混合神经网络模型,最后的最后一定要接一个全连接层来学习提取到的特征。全连接层的设置将最大化的挖掘模型的性能,怎么设置全连接层成了一个重点和难点。结合自身经验,以下是个人认为的tricks:隐藏层层数:视情况而定,和模型的复杂性成反比。我们都知道全连接层一般越多越好,但是必须有非线性激活函数和Dropout,否则再多的线性层也等

2021-05-13 17:53:20 3541

原创 【Pytorch】中不可复现的问题

【Pytorch】中不可复现的问题最近遇到一个非常棘手的BUG,即使设定好了随机种子,但CNN模型,即包含Conv2d/Conv2d操作的模型不可复现。查阅资料,问题出在这,如果:cudnn.benchmark = True # if benchmark=True, deterministic will be Falsecudnn.deterministic = False cudnn.benchmark = True,该值默认为True,为True,cuDNN就会使用非确定性算法就会自动寻

2021-05-12 16:45:35 1069 1

原创 【Pytorch】使用GPU加速模型的训练

【Pytorch】使用GPU加速模型的训练为什么要用GPU加速,因为GPU有大量的并行计算单元,能够至少提升一个数量级的计算速度。关于GPU加速的原理不赘述,反正很快就完事了,同一个项目我用服务器的CPU(E5-2650)需要半小时,用GPU(1080Ti)只需要200多秒,快得不是一点半点。下面介绍如何在Pytorch中使用GPU加速,主要有4个点:先定义一个全局变量device:device = torch.device('cuda:0') 其中,cuda:0可以指定GPU编号,如果有

2021-04-19 21:04:06 1872

原创 怎么在服务器上运行自己的pycharm项目,看这篇就够了!

怎么在服务器上运行自己的pycharm项目在公共服务器上搭建自己的python虚拟环境:https://blog.csdn.net/weixin_42419611/article/details/115793707用Pycharm连接远程python解释器并运行本地项目:https://blog.csdn.net/weixin_42419611/article/details/115797628以上都是本人的实践和总结,欢迎三连,转载前标明出处!...

2021-04-17 19:07:06 7289 2

原创 使用pycharm连接远程解释器并运行和调试项目

使用pycharm连接远程解释器并运行和调试项目上文说了如何在公共服务器的指定目录上建立自己的python虚拟环境,避免了权限问题,也方便了文件管理。本文将介绍怎么使用pycharm连接服务器上的python解释器,并在服务器上运行、在本地调试项目!也不求服务器有多快,而是给自己电脑减减压~ 一边跑项目一边Debug的感觉,谁用谁知道!(我的电脑终于不叫了!!!)文章目录1.pycharm连接服务器2.连接远程解释器3.使用Pycharm远程下载的python库4. 远程运行项目**本地调试项目

2021-04-17 18:48:52 4520 2

原创 在公共服务器上搭建python虚拟环境

在公共服务器上搭建自己的conda虚拟环境https://blog.csdn.net/lyy14011305/article/details/59500819如果想在公共服务器(不止一个人用)上搭建自己的python环境应该怎么办?用conda,详见上述链接。但是在公共服务器上,你可能只在部分目录有权限,也为了方便管理,于是你想在指定目录建立虚拟环境,这时用如下命令:conda create --prefix=/home/stu/lzk/python/env python=3.8/home

2021-04-17 14:18:01 3597 1

原创 【python】构建停用词表(文末附链接)

构建停用词表构建停用词表是分词的必要步骤,可以减小不必要的开销。哈工大、百度、川大等停用词表见GitHub链接:https://github.com/goto456/stopwords用python将这些词表合并、去重、写入txt:import os# 输入你要读取的目录path='.\stopwords-master'files = os.listdir(path)print(files)stopwords = []for file in files: if file[-3:

2021-04-04 20:31:56 7161 2

原创 kd树的构造和搜索(超详细)

kd(k-dimensional)树解决的是为k维数据建立索引的问题。已知样本空间如何快速搜索到最近邻?常规方法是线性表+线性搜索。复杂度o(log(n)),数据量很大时很耗时。但是可以通过空间换时间的方法减小时间复杂度,即对样本数据建立索引。kd树是建立k维数据索引的一种方法。kd树类似于平衡二叉树,不过是对k维数据进行划分。Kd树的构造:假设特征空间T:递归构造kd树:输入:n个对象的特征向量组成的特征空间T={x0,x1,…,xNx_0,x_1,…,x_Nx0​,x1​,…,xN​}

2021-03-19 22:29:32 4503 2

原创 KNN算法概述

KNN算法概述K-最近邻(KNN,K-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法之一。所谓K最近邻,就是K个最近的邻居的意思,说的是每个样本都可以用它最接近的K个邻近值来代表。近邻算法就是将数据集合中每一个记录进行分类的方法。适用条件:离散型数值变量,需要将数据进行预处理(数值化和归一化)原理:给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的K个实例,这K个实例的多数类,就作为该输入实例的类。若K=1,我们就只找最近的一个点作为其分类,这种分类方法

2021-03-19 20:43:15 484

原创 python、IDE、NLTK安装

入坑python

2021-01-25 18:12:50 235

原创 保研分享:双非软件学渣 - 985CS

大半年没更新博客了,原因是忙着保研去了……从6月份就开始准备,一直到10.12结束,期间(7.8月份)还去了学院安排的实训,保研过程真的累,所以一直躺到现在,打算现在开始重新做人- -。。本人简介:本科双非软件工程(学校还是不说了,怕碰到熟人),男,中共预备党员,前6学期绩点3.39,均分87.84,成绩排名10/5XX,推研排名6/5XX(全院)。奖学金和先进个人:三次国励(没拿过国奖是我永远的痛)、校三好学生、科技活动先进个人等。竞赛:蓝桥杯省一(没去打国赛。。)、数学竞赛省二、数模国赛省二、

2021-01-09 22:15:24 1575 9

原创 图的数据结构(邻接表、邻接矩阵)

对于图来说,一般有两种数据结构:邻接矩阵和邻接表。适用范围有所不同:邻接矩阵:一般是二维数组V,V[i][j]V[i][j]V[i][j]表示边有权重时邻接表:两种遍历方法:DFS和BFS

2020-06-09 17:36:43 3153

原创 二进制串转十进制整型

C++, bits数组转int,string也可以但是vector<bool>更省空间//二进制转10进制int bits_to_int(vector<bool>bits){ int result=0; for(int i=bits.size()-1;i>0;i--){ if(bits[i]){ result+=pow(2,31-i); } } if(bits[0]){//负数 re

2020-05-20 16:09:23 409

原创 利用二进制进行状态压缩

利用二进制进行状态压缩当我们遍历数据结构时,需要对某个状态进行保存时,我们一般用字典或者数组来记录,这样做其实比较浪费空间。如遍历字符串时记录元音 (a、e、i、o、u)(a、e、i、o、u)(a、e、i、o、u)出现次数的奇偶性,一般用unordered_map<char,int>times,每出现一次元音x,time[x]++,遍历完后判断time[x]的奇偶性。很费空间。其实我们可以发现,奇偶性实际上只有两种结果,0 ororor 1,0为偶,1为奇。不妨我们用5位二进制 000000

2020-05-20 14:37:11 2369

原创 最大流算法 - 标号法

标号法求最大流相关概念算法基本思想:从某个初始流开始,重复地增加流的值到不能再改进为止,则最后所得的流将是一个最大流。为此,不妨将每条边上的流量设置为0作为初始流量。为了增加给定流量的值,我们必须找出从发点到收点的一条路并沿这条路增加流量。当前流为最大流的充要条件:网络中不存在增广路最大流最小截定理:在任何网络中,最大流的流量等于最小截集的容量。整数流定理:在任何网络中,如果网络所有的...

2020-04-09 21:21:27 18114 3

原创 图论中网络的基本概念

网络的基本概念摘自课件PPT:

2020-04-09 19:24:47 1638

原创 DFS实现集合的全排列

集合具有唯一性,即每个元素只在集合中出现一次,若集合元素个数为n,那么对集合进行全排列的组合个数为:dfs实现(C++):#include<bits\stdc++.h>using namespace std;vector<int> a;int sum = 0;bool check(vector<int>temp, int i){ for (i...

2020-04-07 22:50:07 249

原创 阶乘计算(用数组存结果)

如何计算一个很大的数的阶乘?比如100!,long long也不可能存下这么大的数。所以类比乘法运算思想,即上面的乘数乘以下面的乘数的各个位,比如算11的阶乘,算到11*3628800时,笔算是这样算的:为什么把11放上面呢?因为阶乘结果太大,基本数据类型根本存不下。比如算30!,结果是265252859812191058636308480000000,long long也存不下,但是按...

2020-03-29 18:15:18 1288

原创 蓝桥杯-My bad

如题,算法不麻烦,写得有点麻烦,这题需要考虑好用什么数据结构,怎么存这么多的输入。我用的是类,门类,一个门对应一个门对象,变量有类型、输入来源、输出、方法有计算输出,参数为输入来源的输入。计算输出时,电路输入可直接进行计算,门输入还要先计算该门的输出,用到了DFS;最后打印错误信息时,需要考虑清楚错误产生的原因,一个门可能有2种错误,即全反+全0/全1,若存在多个错误信息那就意味着无法诊断:...

2020-03-17 22:05:29 347

原创 数组空间的动态增长

写代码的时候常常会遇到数组空间不确定的情况,如果预先用数组定义,那么需要分配足够大的空间以防不够用,这样就很可能造成空间的浪费。因此利用vector存放数组,分两种情况:1.数组个数采用输入的形式:#include<bits\stdc++.h>using namespace std;int main() { int n; cin >> n;//输入数组的个数 ...

2020-03-17 17:06:17 478

原创 冒泡排序的改进

冒泡排序简单的说就是每轮逐次比较并交换,排一个最小/大的元素到队尾,总共n-1轮。常规的冒泡排序很简单,原理不赘述,两层for完事:#include<bits/stdc++.h>using namespace std;int main(){ int n; cin >> n; vector<int> arr(n); for (int i = 0;...

2020-03-15 16:46:10 297

原创 操作系统子父进程的关系

操作系统子进程和父进程的关系用C++中的unistd.h 实现:#include <stdio.h>#include <stdlib.h>#include <unistd.h>int main () {int pid;pid=fork();if(pid==0)pirintf("子进程");elseprintf("父进程");}等价于...

2020-03-04 10:37:09 1113

空空如也

空空如也

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

TA关注的人

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