自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(111)
  • 资源 (9)
  • 收藏
  • 关注

原创 联邦学习Federated Learning(FL)

Federated Learning

2023-11-27 13:20:19 1440

原创 Git将远程的分支代码pull下来

这样 本地会自动创建一个跟远程分支名字一样的本地分支。并且他们两是互相connected的 push之后直接到远程分支那。再使用 |grep 搜索你想要的分支。然后直接git checkout 分支名字。首先 将代码pull下来之后。

2023-07-05 08:23:31 1006

原创 Git学习 - 2023-06-08

命令查看关联的主机名字ouput:这里关联的主机名字为origin。git fetch命令通常用来查看其他人的进程,因为它取回的代码对你本地的开发代码没有影响。默认情况下,git fetch取回所有分支(branch)的更新。如果只想取回特定分支的更新,可以指定分支名。git fetch 比如,取回origin主机的master分支。查看远程所有分支output:查看所有的分支所以这里的关键点事远程主机名 --> origin远程分支名 --> 3_layers。

2023-06-11 10:38:27 1595

原创 Pytest-UnitTest

pytest是python的一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,效率更高。_test.py文件,找到文件后,在文件中找到以test开头函数并执行。pytest运行规则:查找当前目录及其子目录下以test_

2023-06-10 13:06:35 223

原创 NLP面试题准备

题目基础知识篇(1)简单介绍一下BERT,BERT的原理是什么?(2)其他的模型 - ELMO 和RoBERTa的原理是什么(3)LSTM有哪三个门,LSTM解决了RNN的什么问题?为什么(4)对Attention的理解(5)BERT用字粒度和词粒度的优缺点有哪些(6)BERT的Encoder与Decoder掩码有什么区别?(7)BERT用的是Tranformer里面的encoder还是decoder?(8)BERT和BiLSTM的区别有哪些(9)BERT的softmax掩码怎么做的,为什么这么做(10)N

2023-06-10 10:23:29 1406

原创 对比学习问题思考

对比学习主要是通过对比,拉近相似样本之间的距离,推远不相似样本之间的距离。而相似样本的构造,又可以分为有监督与无监督两种:有监督对比学习:通过将监督样本中的相同label的样本作为正样本,不同label的样本作为负样本,来进行对比学习;无监督对比学习:由于没有监督信号(label),此时,我们对同一个样本构造两个view,让同一样本构造的两个view互为正样本,而其他样本构造的view则全部为负样本,以此来进行对比学习。而由同一个样本构造两个view,又是数据扩增的过程,所以也可以称作是数据扩展对比学习

2023-06-10 10:22:20 318

原创 Kubeflow--TFJob实现机制学习

也有组使用Vertex AI,21年发布。作为一个新的托管机器学习平台,其旨在帮助开发者更轻松地部署和维护其AI 模型。apiVersion --> string --> api版本,目前为 kubeflow.org/v1alpha1。spec --> TFJobSpec --> TensorFlow job的定义。kind --> string --> REST资源的类型. 这里是TFJob。metadata --> ObjectMeta --> 标准元数据定义.

2023-06-10 10:21:07 739

原创 Google Storage学习 - 2023-05-30

Storage中的数据都是按Bucket存储的。每个Bucket中可以存储各种文件:图片、文档、音频等。

2023-06-10 10:06:56 521

原创 LT专项【排序方法】

目录五种比较流行的排序方法(1) 冒泡排序(2) 选择排序(3) 快速排序(4) 并归排序(5) 堆排序涉及的排序题目LT215. 数组中的第K个最大元素五种比较流行的排序方法(1) 冒泡排序对数组N长度的每一对相邻元素比较,如果比较第一个比第二个大,即交换。做完一轮交换,那么最大元素会落在数组的最后一个元素。新的一轮是 除去最后一个元素后的数组N-1进行同样的处理。【这样的时间复杂度是O(N^2), 实际上是用这种方法经常会超出时间限制】Python Codedef bubbleSort(

2022-04-01 12:12:40 336

原创 Rdrop技术(Regularized Dropout)

目录Rdrop理论几个常见的应用具体操作方法个人思考Rdrop理论每个数据样本重复经过带有Dropout的同一个模型,再使用KL散度约束两次的输出,使得尽可能一致,而由于 Dropout的随机性,可以近似把输入X走过两次的路径网络当作两个略有不同的模型,如下图所示:【补充知识点一】-- 损失函数一部分的损失函数是常规的交叉熵训练数据为 (xi,yi)({x_i,y_i})(xi​,yi​) ,模型为 Pθ(y∣x)P_{\theta}(y|x)Pθ​(y∣x), 每个样本的交叉熵都是Li=−l

2022-03-21 12:02:23 6571

原创 MacBert实验以及思考

目录Macbert的关于mask的策略实验记录Macbert的关于mask的策略我们mask策略是wwm + n-gram 也就是说 n-gram选取的粒度采用的是词而不是wordpiece在这个基础上 再加上 相似词策略 来跑模型。并在OCNIL、AFQMC、IFLYTEK、TNEWS、CMNLI这几个传统数据集测试效果。其中, OCNIL是自然语言推理 、 AFQMC是句子相似度判断、IFLYTEK是长文本分类、TNEWS是短文分分类、CMNLI是具体数据集介绍:https://githu

2022-03-16 23:47:11 2332 2

原创 为什么要假设数据是独立和相同分布?

为什么要假设数据是独立和相同分布?这个假设让maximization在数学上非常容易计算。观察数学的独立和相同分布(independent and identical distribution)的假设,简化了优化问题中likelihood函数的计算。另外 我们用来训练的样本点具有较好的总体代表性。为什么要有总体代表性?我们要从已有的数据(经验) 中总结出规律来对未知数据做决策,如果获取训练数据是不具有总体代表性的,就是特例的情况,那规律就会总结得不好或是错误,因为这些规律是由个例推算的,不具有推广的效果

2022-03-13 23:57:52 753

原创 深层网络训练困难原因

参考文章https://mp.weixin.qq.com/s/oKYDV8_eMXyjnuOndL4IRA现在Transformer越来越大,比如GPT-3参数有上千亿,但也只是96层的Transformer模型,并非我们以为的那么深,所以是什么原因限制了它的深度?梯度消失还是梯度爆炸呢?有人认为是增量爆炸,也就是说模型越深,对输出的干扰越大。 上周的论文《DeepNet: Scaling Transformers to 1,000 Layers》则沿着这个思路进行尺度分析,根据分析结果调整了模型的归

2022-03-13 23:45:22 1601

原创 LT专项【二分法】

目录二分法涉及二分法题目LT_35. 搜索插入位置LT_14. 最长公共前缀二分法二分搜索是通过不断划分取中间点划分区间,以此在极大程度上减少查找的次数。二分查找的前提,是整个数组是有序的,并且数组无重复元素有序很好理解,对于无重复元素的条件而言,如果一旦有重复元素,使用二分查找法法返回的元素下标就可能不是唯一的。二分有两种模版写法 根据left <= right和left < right的不同有不同写法。两种写法也能看成是开闭区间的选择left <= right 选择 [

2022-03-10 16:06:20 419

原创 Python find()方法

FIND函数方法str.find(str, beg=0, end=len(string))参数解释str – 指定检索的字符串beg – 开始索引,默认为0。end – 结束索引,默认为字符串的长度。如果包含子字符串返回开始的索引值,否则返回-1例子1str1 = "this is string example....wow!!!" print str1.find( "exam")print str1.find( "exam", 10) #10 代表从index为10开始寻找 pr

2022-03-06 17:04:46 1681 1

原创 使用Hexo搭建属于自己的博客-记录过程

目录序言PART ONE -- 环境构建PART TWO -- 网页博客美化PART THREE -- 用Github来托管博客序言使用Hexo搭建属于自己博客网站要使用Hexo,首先得确保计算机上已经安装了node.js环境和git环境前者是一个能够在服务器端运行JavaScript代码的环境,后者是版本控制工具。安装node.js主要是为了使用它的包管理工具npm,所以不需要先系统的学习node.js的知识而安装git是为了利用版本控制系统克隆代码已经将博客项目托管到三方平台一般mac电脑

2022-03-04 01:11:55 840

原创 三个知识点回顾 -- 基础知识(2)

目录1. 什么是梯度爆炸/梯度消失;如何解决这个问题2. L1和L2正则化2.1 L1的优点是使得权重稀疏,那为什么会稀疏呢?2.2为什么讲 L1正则化相当于对模型参数W引入了拉普拉斯先验,L2正则化相当于引入高斯先验??2.3 为什么L2能够提高模型的泛化能力??2.4为什么L1和L2能有防止过拟合的作用??3. BN的所有理解以及面试题3.1 解释一下BN,怎么操作的??3.2 具体细节问:训练阶段如何做BN;训练阶段和测试阶段的区别![请添加图片描述](https://img-blog.csdnimg

2022-02-27 19:44:48 940

原创 五个知识点回顾 -- 基础知识(1)

目录1. Bert2. 归一化Normalization3. 激活函数4. softmax和sigmoid区别5. 残差连接以及解决的问题是什么1. Bert1.1 解释一下BertBert使用了transformer的encoder侧的网络作为特征抽取器;使用了上下文共同来表示词;BERT同时支持特征补充和微调的方式来对接上游任务。使用大规模数据进行预训练;预训练使用两个loss;一个是随机掩盖一些词,15%概率mask词,这其中80%用[mask]替换,10%随机替换一个其他字,10%不替换。

2022-02-23 19:26:38 925

原创 百度PLATO对话机器人

聊天大师——百度 PLATO业界首个突破百亿级参数的对话大模型 PLATO-XL 的对话机器人,一经问世就给大家带来了不一般的对话体验。它可以俏皮可爱、也可以老练深沉,既能陪你谈家长里短, 也能陪你聊诗词歌赋。PLATO-XL——业界首个百亿级参数的预训练对话生成模型;通过测试评估,PLATO 在多轮对话回复中的逻辑性、知识广度、对话答复趣味性等维度,都达到了新的高度。百度凭借 PLATO 系列技术,在世界顶级的人工智能领域最权威的比赛 DSTC 上也大放异彩。在2020年的 DSTC-9 中,PLA

2022-02-22 16:41:47 736

原创 LT200. 岛屿数量-按微软以及出现频率刷LT题

目录LT200. 岛屿数量LT200. 岛屿数量出题指数五颗星,出现频率极高给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成此外,你可以假设该网格的四条边均被水包围例子输入:grid = [ ["1","1","1","1","0"], ["1","1","0","1","0"], ["1","1","0","0","0"], ["0","0","0","0"

2022-02-15 19:21:40 161

原创 Python关于collections的deque使用

collections.deque的用法from collections import dequequeue = deque((1,2),(2,3),(3,4),(4,5))queue.append((0,0)) # (0,0)坐标入队queue.append((1,1)) # (1,1)坐标 入队queue.popleft() # 队首元素出队输出: (1,2)queue.popleft()

2022-02-15 17:49:04 560

原创 LT题1984. 学生分数的最小差值

序言今天是刷LT的一天,好好减肥,好好努力,好好加油哦!给你一个 下标从 0 开始 的整数数组 nums ,其中 nums[i] 表示第 i 名学生的分数。另给你一个整数 k从数组中选出任意 k 名学生的分数,使这 k 个分数间 最高分 和 最低分 的 差值 达到 最小化 。返回可能的 最小差值例子输入:nums = [90], k = 1输出:0解释:选出 1 名学生的分数,仅有 1 种方法:- [90] 最高分和最低分之间的差值是 90 - 90 = 0可能的最小差值是 0输

2022-02-13 14:11:50 655

原创 BERT论文理解-理论版

目录BERT模型架构输入表征预训练任务代码实现Encoder编码器模块BERT模型架构BERT模型架构是一种多层双向变换器(Transformer)编码器。至于什么是变换器的注释及实现,参考哈佛Vaswani等人(2017)的优秀代码指南(http://nlp.seas.harvard.edu/2018/04/03/attention.html)BERT有两种大小:(1)Base版:L=12 ; H= 768; A=12 总参数=110M(2)Large版:L=24; H=1024; A=16 总

2022-02-11 17:11:55 1192

原创 NLP下游任务理解以及模型结构改变(上)

序言Bert 是一种基于微调的多层双向 Transformer 编码,Bert中的Transformer 编码器 和 Transformer 本身的编码器结构相似,但有以下两点的不同:(1)与Transformer本身的Encoder端相比,BERT的Transformer Encoder端输入的向量表示,多了Segment Embeddings。(2)模型输入中的 Position Embeddings(位置编码)在bert中学习出来的,在Transformer中是预先设定好的值。Bert 实现了

2021-10-24 10:46:23 6712

原创 后台程序运行-nohup使用以及终止命令

如果想要在后台继续运行程序,你断开终端或者连接都还能继续运行的话,需要使用nohupnohup: 用途:不挂断地运行命令用法:nohup file_name & 也有nohup file_name >./out.txt 2>&1 &out.txt是自己的定义的一个文本输出2>&1是指将标准错误重定向到标准输出,于是标准错误和标准输出都重定向到指定的out.txt文件中,从此终端彻底清静了。如果想要扔在某一个地方不管,直接扔到/dev/nu

2021-08-21 20:58:27 13519

原创 常见vim操作命令 -- updated -- 2023-06-09

用vim打开文件的时候,在normal模式下。点击insert,进入编辑模式,然后就可以编辑文本了。如果想要返回normal模式,点击 ESC,返回命令模式。【补充,点击i 也可以进入insert模式】编辑完之后的命令::q 直接退出,如果修改了没有保存就会出现问题,这个时候不想保存的时候,就用:q!,强制退出:w 保存 修改后的文件:wq 保存并退出文件在一般的编辑器下,当你需要copy一段文字的时候,你需要使用 Ctrl 键,比如:Ctrl-C。也就是说,Ctrl键就好像功能键一样,

2021-08-16 23:39:11 968 1

原创 常见Linux命令熟记

常见LInux命令熟记关于查看文件大小的命令查看文件 ls --横向排列查看文件ll —竖着排列ls -a 查看所有的文-包括隐藏文件ls -lh 带单位显示文件大小关于复制文件或者文件夹cp 文件名 路径名cp -r 路径名 路径名 复制整个目录进去关于移动文件 /或者重命名文件mv 目标文件 路径名/ 重命名名字查看文件内容(1)catcat 文件名cat process.pycat -n 文件名 – 带行号显示文件内容cat -n process.pytac

2021-08-15 09:43:28 321

原创 Linux基本命令理解以及记忆

序言Linux基本命令ll 查看该文件夹的内容 内容一行行显示ls 查看该文件夹的内容 横着显示vim查看文件信息【如果不小心误删除了文件内容,则可以通过 “u” 键来撤销刚才执行的命令。如果要撤销刚才的多次操作,可以多按几次 “u” 键】当我们查看vim文件的时候::wq 保存并退出 Vim 编辑器:wq! 保存并强制退出 Vim 编辑器:q 不保存就退出 Vim 编辑器:q! 不保存,且强制退出 Vim 编辑器:w 保存但是不退出 Vim 编辑器:w! 强制保存文本ZZ 直接

2021-08-08 11:34:41 222

原创 李宏毅课<一>:神经网络的模型压缩方法Network Compression

模型压缩是为了 可以用更少的参数来实现不错的效果。一方面是为了在延迟性、隐私性等等。网络剪枝把网路的一些冗杂的参数剪掉。有些参数并没有起到很大的效果。我们要做的事情把这些冗杂的参数找出来,并裁掉。90年代已经有人发表相关的论文,比如optimal brain damage等等优秀论文。那么网络剪枝是怎么做的呢,大概的流程是怎么样子的呢?(1)首先训练的一个大的network(2)评估每一个参数/神经元的重要程度那么怎么去评估这个重要性呢?最简单的方法是看他的绝对值。这个参数的绝对值越大,表示对

2021-07-27 01:16:53 1067 1

原创 Leetcode腾讯算法题 -- 刷 出题指数为3颗星以上的题目 --第四部分

目录标题问题一:LT146. LRU 缓存机制先了解什么是LRU哈希表+链表实现缓冲问题二:LT394. 字符串解码题目三:LT:148. 排序链表题目四:23. 合并K个升序链表问题一:LT146. LRU 缓存机制先了解什么是LRULRU的英文全称是Least Recently Used,也即最不经常使用。我们看着好像挺迷糊的,其实这个含义要结合缓存一起使用。对于工程而言,缓存是非常非常重要的机制,尤其是在当下的互联网应用环境当中,起到的作用非常重要。为了便于大家更好地理解,我们从缓存的机制开始说

2021-07-21 00:26:03 586 1

原创 字节算法岗实习面经

字节算法岗实习一面(1)详细介绍LR(1)LR 在其他模型,比如深度学习上有什么应用 在深度学习上的一个组件上会怎么应用应该回复的是 多个特征 通过sigmoid函数输出概率(2)交叉熵解决的是什么问题? 以及如何推倒交叉熵(3)交叉熵和MSE有什么区别这个好说 在LR上如果用MSE的话 会导致;传播的时候 的梯度值跟sigmoid相关,而sigmoid最大值只有0.25 并且当数据分布处在很大值或者很小值的时候,梯度值近似0,从而导致梯度消失这个问题。(4)讲一下梯度消失是一种什么样的情况

2021-07-15 15:20:29 992

原创 腾讯算法实习面经

目录标题序言腾讯一面腾讯二面序言个人觉得腾讯的校招实习流程,面试官人都非常的nice。会根据你的需求加快面试流程。我说了我自己的一些情况,有个保底offer在下周三。希望能够加快面试流程,结果面试官人非常的nice,第二天马上面试,然后隔十几分钟,继续第二轮面试。连续说了几个小时的话,喉咙几乎沙哑。腾讯一面一面45分钟(1)介绍项目,我主要介绍了一个文本方面的项目和一个图像方面的项目。在图像方面讲了很久,关于细节上讲了很久,差不多有15-20分钟????。然后才开始其他的问题(2)为什么我们用3

2021-07-15 15:19:12 1044 1

原创 二叉树的深度与宽度的python解法

目录标题LT38 二叉树的深度LT662 二叉树最大宽度LT38 二叉树的深度递归法:# Definition for a binary tree node.# class TreeNode:# def __init__(self, val=0, left=None, right=None):# self.val = val# self.left = left# self.right = rightclass Solution:

2021-07-11 21:19:03 676

原创 腾讯算法面试题补充

目录标题LT692:前K个高频单词剑指 Offer 29. 顺时针打印矩阵数据结构问题--堆LT692:前K个高频单词给一非空的单词列表,返回前 k 个出现次数最多的单词。返回的答案应该按单词出现频率由高到低排序。如果不同的单词有相同出现频率,按字母顺序排序方法一:堆排序class Solution: def topKFrequent(self, words: List[str], k: int) -> List[str]: import heapq

2021-07-11 21:15:53 255 1

原创 灵活场景问题(面试题)

目录标题1. 在其他社区活跃过么(经常被问)这个可以好好准备一下2. 智力题:一只猴子,50根香蕉,距离家 25米,猴子一次最多能拿 25 根香蕉,每走一米需要吃掉一根香蕉,请问最多能带多少根香蕉 --16条3. 两堆大数,100亿个数和10亿个数,找交集4. 大V发消息,如何分配 推荐5. 有100万视频库,现在输入一个新的视频,如何查询视频库里是否有相同的视频6. 10亿个数中找出最大的10000个数7. 项目的工作量体现在哪里8. 有没有考虑不同性质的模型之间的融合9. 概率题:翻硬币,硬币谁先翻到

2021-07-11 16:25:17 656 2

原创 Linux面试题

目录标题1. 用什么命令可以查看网络占用的端口2. Linux的proc文件系统了解3. 如何查询大文件1GT4. 如何查看系统负载5. Linux中 select 和 epoll 的差别6. 学过linux吗?讲一下僵尸进程,怎么查找一个进程是不是僵尸进程7. Linux的常用指令1. 用什么命令可以查看网络占用的端口2. Linux的proc文件系统了解3. 如何查询大文件1GT4. 如何查看系统负载5. Linux中 select 和 epoll 的差别6. 学过linux吗?讲一下僵

2021-07-11 16:20:19 255 2

原创 Python编程类知识(面经)

目录标题1. Python的装饰器2. Python的生成器怎么实现的?和普通的函数有什么区别(迭代器)3. 深拷贝、浅拷贝4. 进程和线程的区别5. 多线程和多进程的区别6. 某个线程奔溃了会影响所在进程么7. 多线程和多进程的区别8. 跨进程通信有哪些方式9. 进程IPC有哪些?用过哪些10. 讲一讲你排查线上故障的过程(排查内存泄漏11. 三次握手四次挥手了解吗?讲一讲为什么要有四次挥手,四次挥手的各个阶段?12. 死锁解决;了解线程的锁吗?怎么区分是死锁还是死循环13. 数组和链表的区别 ,数组为什

2021-07-11 16:18:19 839

原创 关于遍历二叉树-递归方法以及非递归方法

目录标题层次遍历(非递归)前序遍历(非递归)前序遍历(递归)中序遍历(非递归)中序遍历(递归)后序遍历(非递归)后序遍历(递归)层次遍历(非递归)LT102: 给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点# Definition for a binary tree node.# class TreeNode:# def __init__(self, val=0, left=None, right=None):# self.v

2021-07-10 14:38:46 134

原创 Leetcode5_最长回文子串

题目:LT5-最长回文子串给你一个字符串 s,找到 s 中最长的回文子串输入:s = "babad"输出:"bab"解释:"aba" 同样是符合题意的答案输入:s = "cbbd"输出:"bb"class Solution: def longestPalindrome(self, s: str) -> str: s_rev = s[::-1] N = len(s) maxLen, endIndex = 0,0

2021-07-10 01:09:57 132

原创 Leetcode4_寻找两个正序数组的中位数 + Leetcode215-无序数组的第K个元素

题目LT4:寻找两个正序数组的中位数给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数例子:输入:nums1 = [1,3], nums2 = [2]输出:2.00000解释:合并数组 = [1,2,3] ,中位数 2输入:nums1 = [1,2], nums2 = [3,4]输出:2.50000输入:nums1 = [], nums2 = [1]输出:1.00000方法一:直接合并class Soluti.

2021-07-06 00:14:34 223

空空如也

空空如也

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

TA关注的人

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