自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 还不知道怎么提示LLM?ChatGPT提示入门

人工智能(AI)是人们创造的一些“聪明的”的算法,使得机器能够像人类一样“思考”。这些算法可以写论文、解决数学问题,并创造艺术。该领域的最新进展已经十分先进,以至于人工智能可以写出令人信服的销售邮件、新闻报道,甚至可以赢得艺术比赛。提示过程指的是人类如何指导 AI 执行任务,即指导人工智能执行任务的过程称为提示过程。我们向 AI 提供一组指令(提示),然后它执行任务。提示可以简单到一个问题,也可以复杂到多个段落。而提示过程的好坏可以在很大程度上影响到AI大模型生成答案的能力!

2023-08-21 10:55:40 1151 1

原创 2023实习面经

实习面经

2023-02-20 11:06:36 806

原创 面试常见场景题智力题概率题

面试常问场景题,智力题,待补充

2022-08-30 12:40:51 678

原创 IVF-PQ 基于量化的向量检索算法

IVF-PQ:基于乘积量化的向量检索算法

2022-08-18 11:11:23 4818

原创 常见分词算法综述

NLP分词算法综述

2022-08-16 20:49:58 4547

原创 推荐算法工程师必备技能储备

推荐算法工程师必备知识储备

2022-08-11 14:34:10 760

原创 搜索算法工程师必备知识储备

搜索算法岗复习策略

2022-08-11 13:45:45 1009

原创 搜索&推荐&广告算法岗区别

搜推广算法岗的区别是什么?

2022-08-11 13:06:31 1563

原创 KD tree-基于树的ANN近邻搜索

KD-tree 基于树的ANN近邻搜索

2022-08-04 11:43:10 1109

原创 HNSW&NSG-基于图的ANN近邻搜索

ANN search 搜索算法

2022-08-04 11:01:57 2388

原创 对数线性模型用于序列标注

NLP必会线性模型用于序列问题

2022-07-28 17:37:59 218

原创 HMM隐马尔可夫模型用于序列标注

NLP必会生成模型-HMM

2022-07-27 16:48:15 1387

原创 一文解决动态规划~详解

一文解决秋招所有动态规划题~

2022-07-20 11:02:33 284

原创 Slurm超算集群跑代码教程

Slurm超算集群跑代码教程SLURM(Simple Linux Utility for Resource Management)是一种可扩展的工作负载管理器,已被全世界的国家级超级计算机中心广泛采用。 在算力中心GPU计算集群上,用户的所有计算任务和程序需要编写 SLURM 脚本,并在登 陆节点提交 SLURM 脚本。SLURM 脚本包含三个部分:(1)预定义的任务资 源需求;(2)预定义的环境设定或变量;(3)命令行形式的可执行程序或脚本。文章目录Slurm超算集群跑代码教程登陆集群配置ana

2022-05-08 15:03:00 6956 6

原创 2023秋招算法岗(地狱难度)面经

2023NLP&RS秋招笔试面试记录。

2022-04-21 15:31:32 2373 4

原创 leetcode用堆解决topK问题

这里写自定义目录标题基本思路1.数组中的第K个最大元素2.数据中的最小K个数3.数据流的最大K个元素4.数组中两元素的最大乘积5.找到最大K个子序列6.最后一块石头的重量7.最长快乐字符串8.前K个高频单词9.数据流的中位数基本思路堆的题在python中可以用heapq库默认是最小堆堆排序的话最大堆:也叫大顶堆,堆顶最大,每个结点的值都大于或等于其左右孩子结点的值最小堆:也叫小顶堆,堆顶最小,每个结点的值都小于或等于其左右孩子结点的值适合类型的堆来进行排序升序----使用大顶堆降序----

2022-04-01 12:20:01 725

原创 leetcode括号匹配题思路

leetcode括号匹配题思路1.括号匹配栈1.任意*括号匹配栈1.括号有效长度2.括号匹配回溯1.括号匹配栈给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。自然的解法使用栈匹配如果当前是左括号,直接入栈,否则为有括号判断是否栈空,如果栈空则返回false,不然就看是否与栈顶匹配,匹配则出栈,最后判断栈是否为空,为空则匹配成功,否则有多余class Solut

2022-03-30 14:35:27 1150

原创 回溯题框架思路

回溯回溯法 采用试错的思想,它尝试分步的去解决一个问题。在分步解决问题的过程中,当它通过尝试发现现有的分步答案不能得到有效的正确的解答的时候,它将取消上一步甚至是上几步的计算,再通过其它的可能的分步解答再次尝试寻找问题的答案。回溯法通常用最简单的递归方法来实现,在反复重复上述的步骤后可能出现两种情况:找到一个可能存在的正确的答案;在尝试了所有可能的分步方法后宣告该问题没有答案。深度优先搜索dfs是一种用于遍历或搜索树或图的算法。这个算法会 尽可能深 的搜索树的分支当结点 v 的所在边都己被探寻过

2022-03-16 17:41:23 561 1

原创 科研第五步:如何使用DDP分布式多GPU并行跑pytorch深度学习训练

DDP分布式多GPU并行跑pytorch深度学习模型多卡并行代码模板文章目录DDP分布式多GPU并行跑pytorch深度学习模型前言一、DDP怎么用二、使用步骤1.引入库2.读入数据总结前言PyTorch的数据并行相对于TensorFlow而言,要简单的多,主要分成两个API:DataParallel(DP):Parameter Server模式,一张卡为reducer,实现也超级简单,一行代码。DistributedDataParallel(DDP):All-Reduce模式,本意是用来分布式

2022-03-04 17:57:44 6229

原创 科研调参:batch_size怎么设置?

batch_size怎么设置?是不是batch_size越大越好?首先反对上面的尽可能调大batch size的说法,在现在较前沿的视角来看,这种观点无疑是有些滞后的。关于这个问题,我们来看下深度学习三巨头之一的LeCun杨乐春同志怎么说(想看结论直接翻到最后):Training with large minibatches is bad for your health. More importantly, it’s bad for your test error. Friends don‘t le

2021-12-02 14:26:51 3453 1

原创 动态规划经典问题《背包问题》,弄懂这个你就懂了动态规划

背包九讲背包问题是动态规划问题中最为经典的问题之一,可以说完全弄明白了背包问题,能够很大程度上帮助我们了解动态规划转移方程的基本推导。背包问题的经典讲义为浙江大学崔添翼同学撰写的《背包九讲》,本文是我阅读该文章过程中的笔记和感想。动态规划的思路其实并不难想到,大多数问题只需要看一眼就能知道是否可以采用动规求解了,难点在于如何推导出合适的状态矩阵和状态转移方程。这需要我们多手写DP表,仔细找规律。动态规划问题基本概念动态规划方法要寻找符合“最优子结构“的状态和状态转移方程的定义,在找到之后,这个问题就

2021-11-08 18:49:12 5810 2

原创 计算机网络八股文-面试必问

搬运–面试必问计算机网络原博客链接:https://www.nowcoder.com每次面试问网络都还可以,整理了点资料,应付普通的问题没什么问题了。除了字节的网络太为难人,其他公司都说回答的很好了。主要就是 TCP 和 HTTP花上几天把这些全背过我觉得网络应该就ok了,如果大厂的话可能需要深入。计算机网络知识点整理网络分层 ⭐⭐OSI 将网络分为七层:应用层、表示层、会话层、运输层、网络层、数据链路层、物理层。OSI 七层协议体系结构概念清除,理论完善,但是既复杂也不实用。TCP/IP

2021-11-08 15:51:52 3429

原创 NLP必学:Word2Vec、Glove和ELMO

文章目录前言一、one-hot表示二、词嵌入表示法三、word embedding的作用1. 迁移学习2.类比推理四、Word2VecSkip-gramCBOWWordVec的优化1. 分级softmax分类器2.负采样五、GloVe六、ELMO总结前言词汇表示(Word Representation)一直是自然语言处理(NLP)中最基础也是最重要的任务之一。 深度学习已经给这一领域带来了革命性的变革。其中一个很关键的概念就是词嵌入(word embeddings),这是语言表示的一种方式,我们可以理解

2021-11-06 14:41:14 4984

原创 2021-11-01-leetcode-链表SOTA操作

链表操作为什么单独把链表拎出来?因为最近刷题经常碰到链表,然后以前的知识以及写法老是忘记,就很烦,特此总结一下链表的一些SOTA操作,以及比较综合的一些题链表特性首先因为链表没法使用下标索引访问数据,因此搜索时间复杂度是On但是链表的插入以及修改操作的复杂度达到O1,因为不需要对其余的数据发生变动但也正因为这个特性,导致我们在很多题中必须要模拟解法,但是并不能保证解法的复杂度最低,因此我们总结出一些SOTA的写法来记忆。1. 找到链表的中间节点首先最简单的解法肯定是,先访问一遍所有节点,确认

2021-11-01 14:34:07 182 2

原创 2021-09-23-leetcode-真好的双指针

双指针的用途双指针法一般用于什么问题?首先,我们需要考虑是单向还是双向的。单向双指针:链表:找倒数第几个位置,或者找中间的位置数组:覆盖,交换,重新构造秩序,单向覆盖双向双指针:倒序,交换,快速排序(递归)有序数组的两个数之和,正负数有序的平方,也就是满足前后的双数查找单向双指针链表:找倒数第几个位置,或者找中间的位置数组:覆盖,交换,重新构造秩序,单向覆盖话不多说上例题1. 链表的中间节点给定一个头结点为 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,

2021-09-24 10:33:50 108

原创 2021-09-20-二分查找yyds

二分查找什么是二分查找?二分查找就是不断的找当前序列的中点,通过与二段性比较,如果满足,则解必然在另一半的序列中,将序列一分为二,在另一半中继续搜索,如此往复,因此每次减少一般的搜索空间,达到Ologn的时间复杂度。二段性二分查找最重要的就是必须拥有二段性,什么是二段性?必须序列的前一部分满足一个性质,后一部分不满足,因此我们可以通过二分查找找到两个性质转变的中间点。举个例子,在s=[1,2,3,4,5]中查找一个数字target=4,即我们可以发现在s中有二段性,一部分是大于target的一部分是

2021-09-20 20:44:30 472

原创 2021-09-17-栈和队列

栈和队列两个栈实现一个队列求解思路,使用两个栈来回倒—此处已经是优化后的我们设一个栈A和一个栈B如果是进队操作-------对进A栈如果是退队操作-------检查B栈,如果B中有元素,则B出栈,如果B中没有元素,则将A中元素倒入B中判断队列为空==两个栈都为空,返回-1class CQueue(object): def __init__(self): self.stack1=[] self.stack2=[] def appendTail

2021-09-17 14:27:26 116

原创 运行代码整个计算机会发生什么?

运行代码整个计算机会发生什么?首先我们以一个C语言程序为例子运行一个C/C++代码第一步:编译,优化(.c->.s,.asm)一个C/C++程序在点击运行的那一刻,首先这个程序经过预处理之后会被编译及优化,编译的过程设计到编译原理的相关知识,词法分析,语法分析,语义分析,中间代码生成,代码优化。将高级语言转换成等效的中间代码后者汇编程序代码。优化的话主要是对中间代码的优化,还有通过与机器的硬件结构相关而做出的一些优化,比如怎么充分利用机器的寄存器以及对内存的访问次数提高执行效率等等

2021-09-16 11:23:29 818

原创 Transformer是什么?看完这篇你就醍醐灌顶

前言由谷歌团队提出的预训练语言模型BERT近年来正在各大自然语言处理任务中屠榜(话说学者们也挺有意思的,模型名都强行凑个芝麻街的人物名,哈哈哈)。 BERT算法的最重要的部分便是Transformer的概念,它本质上是Transformer的编码器部分。 而Transformer是什么呢?transformer是永远的神,自从transformer使用了抛弃rnncnn的纯attention机制之后,各种基于transformer结构的预训练模型都如雨后春笋般雄起,而transformer中最重要就是使用

2021-09-15 14:30:11 63670

原创 科研第四步:写会议论文必备工具以及技能

系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例

2021-08-18 21:43:38 1181

原创 Tutorial: The Hawkes Processes

Tutorial: The Hawkes Processes文章目录Tutorial: The Hawkes Processes前言1.Background2.Temporal Point Processes1).引入定义2).时间点过程3.Poisson Process4. Self-exciting Processes5.Hawkes Processes总结前言在这里,我们对The Hawkes process背后的思想和理论做一个非正式的介绍。我们假设读者对统计学和机器学习有一定的了解。然而

2021-05-18 13:55:47 6138

原创 猴子看了都能在服务器上pytorch代码使用gpu跑神经网络模型

如何在服务器上pytorch代码使用gpu跑神经网络模型文章目录如何在服务器上pytorch代码使用gpu跑神经网络模型前言一、pytorch---用gpu训练模型二、放到gpu上的方法总结前言鉴于今天跑模型将cpu版本的改成cuda版本的心路历程,觉得必须要记录总结这一方法,不然以后忘记了debug的相关方法以及代码的改法话不多说直接开始一、pytorch—用gpu训练模型首先我们明确:pytorch允许把在GPU上训练的模型加载到CPU上,也允许把在CPU上训练的模型加载到GPU上。在P

2021-05-11 22:14:17 5763 1

原创 科研第三步:pycharm远程连接服务器并链接服务器跑神经网络模型

科研第三步:pycharm远程连接服务器并链接服务器跑神经网络模型文章目录科研第三步:pycharm远程连接服务器并链接服务器跑神经网络模型前言一、pycharm连接服务器二、设置Python Interpreter(使用服务器虚拟环境)debug总结前言本篇文章主要介绍如何使用pycharm professional(仅限专业版)可以连接服务器,这一强大的IDE来实现远程在服务器上修改代码,跑代码,以及搭载服务器上面的虚拟环境来跑神经网络模型,最后讲出了如何使用pycharm来debug我们的代码,

2021-05-11 21:42:55 4143 3

原创 头条新闻微博号爬虫

头条新闻微博号爬虫为了防止遗忘,以及学弟写的代码比较好用,将在头条新闻的微博的爬虫新闻代码进行总结,2021-1-12号代码测试可用文章目录头条新闻微博号爬虫前言代码设计1.代码功能2.文件存储3.运行前准备4.其他注意事项5.运行代码命令(SPIDER目录下)代码总结前言头条新闻微博号是新闻源(https://weibo.com/breakingnews)爬取近两年该微博号发布的新闻,包括新闻发布时间,新闻标题及内容,图片,新闻视频链接,以及前15页评论。代码设计1.代码功能code目录

2021-01-12 19:14:46 1148 1

原创 数据集的划分,验证集参与训练了吗?

数据集的划分,验证集参与训练了吗?文章目录数据集的划分,验证集参与训练了吗?前言一、验证集怎么用?验证集参与训练了吗?二、为什么需要测试集?三、数据集的划分比例前言在周志华老师的《机器学习》这本书中,我们知道训练机器学习以及深度学习的模型的时候,对数据集需要进行划分,通常划分成训练集和测试集,一般我们还会对训练集进行再划分一部分作为验证集。一、验证集怎么用?验证集参与训练了吗?从《机器学习》这本书中,我们知道,训练集是拿来训练模型参数的,对于所有的训练集,训练一个epoch之后,我们会用验证集

2020-12-15 15:46:09 13262

原创 今日头条爬虫实战

为什么需要 Mask?在此,先思考一个问题,为什么需要 mask?在 NLP 中,一个最常见的问题便是输入序列长度不等,通常需要进行 PAD 操作,通常在较短的序列后面填充 0,虽然 RNN 等模型可以处理不定长输入,但在实践中,需要对 input 做 batchsize,转换成固定的 tensor。PAD 案例:如下是两句英文,先将文本转换成数字s1 = 'He likes cats's2 = 'He does not like cats's = s1.split(' ') + s2.sp

2020-12-08 11:04:23 15252 4

原创 深入理解图卷积神经网络(GCN)原理

深入理解图卷积神经网络(GCN)原理文章目录深入理解图卷积神经网络(GCN)原理前言一、为什么需要GCN二、GCN的原理1.图的定义2.GCN来了2.1 矩阵计算公式2.2 以小规模矩阵讲解公式含义2.3 综上所述:三、GCN有多牛总结前言深度学习的发展日新月异,从经典的深度网络(DNN、CNN、RNN)到GAN、强化学习。深度学习覆盖的应用场景越来越丰富。今天介绍的图神经网络是另一类深度学习方法。虽然,图神经网络也可以纳入深度学习的范畴,但它有着自己独特的应用场景和算法实现,对初学者并不算太友好

2020-11-19 23:18:59 25478 10

原创 科研第二步:远程在服务器上跑程序jupyter使用

科研第二步:远程在服务器上跑程序&jupyter使用前言一、jupyter是什么?二、配置步骤1.服务器上安装jupyter2.服务器远程使用jupyter生成jupyter配置文件设置密码设置远程ip可访问jupyter lab界面如下3.jupyter添加kernel添加kernel总结前言本篇文章主要介绍如何使用jupyter这个功能十分强大,并且可以写code和markdown的编辑利器,并且实现在服务器上运行jupyter可以使用服务器上的gpu速度以及图形化方便的IDE。一、jup

2020-11-14 12:52:21 36615 33

原创 科研第一步:实现Linux服务器上创建python虚拟环境

科研第一步:实现Linux服务器上创建python虚拟环境为什么要创建python虚拟环境如何实现第一步GPU驱动安装第二步anaconda实现创建虚拟环境为什么选择anaconda安装anaconda指令创建python虚拟环境conda创建conda激活验证在当前虚拟环境内安装tensorflow-gpu验证tf安装总结为什么要创建python虚拟环境第一次写博客,想通过写博客的方式记录下自己研究生阶段的学习,回答标题,进入实验室之后,如果需要经常在github上跑别人的代码或者baseline的时

2020-11-13 20:03:24 29832 11

空空如也

空空如也

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

TA关注的人

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