自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Error(s) in loading state_dict for VocabParallelEmbedding: size mismatch for weight: copying a par

利用megatron训练qwen1.5-14B,报错词表维度不一样。

2024-04-26 09:06:45 56

原创 错误: NotImplementedError: Cannot copy out of meta tensor; no data!(多机多卡)

在 Deepspeed 分布式训练中,模型的初始化和权重加载可能需要特殊处理,因此需要使用。按照原博的解释,这个错误通常是由于 Deepspeed 在使用自定义权重初始化时出现问题,而这些初始化可能需要从先前的训练中加载权重。在模型文件中,有个modeling_chatglm.py文件,大概750多行左右,将默认的empty_init=True,改为empty_init=False,即可。参数来指定在加载权重之前不要将权重矩阵初始化为空。,以便在加载权重之前,权重矩阵不会被初始化为空。

2023-12-21 13:59:46 3079

原创 错误:DeepSpeed Zero-3 is not compatible with `low_cpu_mem_usage=True` or with passing a `device_map`

将官方的fintune.py文件中的模型导入模块的参数device_map注释掉即可正常运行。无论是多机还是单机训练。

2023-12-11 11:02:42 1340

原创 pytorh终端化部署(C++)

PyTorch对量化的支持目前有如下三种方式:Post Training Dynamic Quantization,模型训练完毕后的动态量化;Post Training Static Quantization,模型训练完毕后的静态量化;QAT(Quantization Aware Training),模型训练中开启量化。保存加载INT8模型动态量化函数torch.quantization.quantize_dynamic。

2022-11-07 17:00:52 689 1

原创 大模型训练策略:单卡or多卡

大模型训练策略

2022-11-04 13:39:32 1043

原创 大模型训练策略:单卡or多卡

大模型训练策略

2022-11-01 14:41:24 197

原创 bert模型参数量params与复杂度flops的计算

params:1.28GMac,99.95M 表示总的计算复杂度为1.28GMac,模型参数量为99.95M,M表示百万量级。(1,15):模型输入的size,这里的输入必须是一个tensor。flops:能够输出bert网络的结构,包括各层的参数和计算复杂度。model:就是构建的模型。具体的计算过程,可以查看。

2022-10-17 10:46:02 1587 1

原创 线程lock与queue

线程

2022-07-21 13:59:50 150

原创 Paddle OCR识别

OCR识别

2022-06-21 10:28:35 180

原创 CV2部分函数

cv2.VideoCapture()用法及举例

2022-06-20 14:49:28 73

原创 Bert及其变形

bert

2022-06-19 18:07:38 281

原创 远程文件传输

传输协议

2022-06-16 11:22:43 87

原创 caffe、tensorflow、paddle深度学习框架

解说了caffe、tensorflow、paddle深度学习框架

2022-06-10 16:03:09 130

原创 bert的基础问题

attention_mask处理多个序列的作用

2022-05-18 13:32:19 141

原创 torch基本库操作

DataLoader参数解释

2022-05-17 15:03:08 526

原创 命名体识别的BiLSTM-CRF

讲解的比较详细https://blog.csdn.net/u013963380/category_10324531.htmlhttps://createmomo.github.io/2017/10/08/CRF-Layer-on-the-Top-of-BiLSTM-3/

2022-05-16 15:52:06 78

原创 Pytorch 逃坑计划之——backward

跳坑一RuntimeError: Trying to backward through the graph a second time, but the saved intermediate results have already been freed. Specify retain_graph=True when calling .backward() or autograd.grad() the first time.查阅资料发现是在调用backward时发生的问题,也就是很重要的反向传播计算出错

2021-11-08 22:06:45 416

原创 二叉树理论基础

二叉树的种类不考虑数值的二叉树1 满二叉树如果一棵二叉树又有度为0和2的节点,且度为0的节点都在同一层上,这棵树就称为满二叉树。深度为k,节点数为2^k-1其实就是最后一层的孩子一个也不少,父节点都是两孩子2 完全二叉树除了最底层节点没有填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置从满二叉树可以剪到完全二叉树考虑数值的二叉树二叉搜索树...

2021-08-18 19:20:30 79

原创 keras 中的keras.preprocessing、Embedding、GlobalMaxPooling1D()、 TimeDistributed

本文以短问答为背景,串联几个keras下常用的函数0:keras.preprocessing该模块是对数据的预处理模块https://blog.csdn.net/winter_python/article/details/108615737由于keras只能接受相等长度的序列,因此在将数据输入之前,要将所有的句子缩放成等长input_length=10keras.preprocessing.sequence.pad_sequences(sentence, maxlen=input_length,

2021-07-29 21:54:07 674

原创 2021-07-29 Keras与tensorflow对应版本的疯狂切换

keras与tenserflow有版本对应关系,可参考网站https://docs.floydhub.com/guides/environments/如果运行过程中报错无什么“attribute”,大概率是版本问题,对应错误折腾了一天的macpro,结果最低支持到python3.8,要知道38版本的macos版更出来,keras估计也快了,为了不耽误使用,又回到了windows。虽然慢了一点,但是用起来就是非常的丝滑!最好使用较低版本的python做深度学习,毕竟稳定最重要,不然光调试环境就够吐的了

2021-07-29 21:06:18 998

原创 剑指offer68 二叉树的最近公共祖先

二叉树的公共祖先有四种情况:1.左右子树都没有寻找的节点,此时返回None2.两个值分布在左右子树的两侧,此时返回root3.q为祖先,前提是除q下的子树,无法找到p值4.p为祖先,前提是除p下的子树,无法找到q值def helper(root,p,q): if not root:return None if root==p or root==q: return root left=helper(root.left,p,q).

2021-07-05 22:14:31 80

原创 剑指65.位运算代替加减法

Python 支持的位运算符有如下 6 个:&:按位与。两个1才是1|:按位或。只要有1就是1^:按位异或。0和1都在才是1~:按位取反。<<:左位移运算符。:右位移运算符。所有的数值在计算机底层是以二进制形式存在的,原码是直接将一个数值换算成二进制数。由于符号位的存在,计算机底层以补码的形式保存所有的整数。补码的计算规则:正数:补码=原码;负数:补码=反码(原码按位取反)+1。只是最高位(符号位)保持不变。python没有int,long等不同长度的变量,即在编程时无.

2021-06-30 15:17:08 272

原创 两个链表的第一个公共节点

Class ListNode(object): def __init__(self,x): self.val=x self.next=None#前面的节点不相同,走到相同的位置 p1=headA p2=headB lA,lB=[],[] while p1: lA.append(p1.val) p1=p1.next while .

2021-06-28 20:13:39 78

原创 剑指:排序数组的查找问题

一维有序数组查找有序数组的查找问题首选——二分法1.初始化,将双指针指向数组的两端,取i=0,j=len(list),m=(i+j)/22.循环二分若list[m]>list[j],则目标值位于m的右侧区域,此时最小值应在[m+1,j]若list[m]<list[j],则目标值位于m的左侧区域,此时最小值应在[i,m]若list[m]==list[j],此时无法判断最小值所在的区域,因此将搜索范围缩小,j=j-13.返回值条件,i=j,并返回该点的值Class Soltuion

2021-06-23 23:25:36 82

原创 剑指 27.二叉树的镜像

镜面二叉树明确一棵二叉树是不是对称的:这棵树的左右子树必须同时是对称的根据镜面二叉树的定义,其实思路就出来了,我们只需要将每个小子树的左右两个节点结构进行对换,最后一步就是左右两课大子树进行交换,整个镜像二叉树就出来了。一定要理解清楚什么是镜面二叉树,做这道题就相对简单了Class TreeNode(object): def __init__(self,value): self.val=value self.left=None .

2021-06-22 20:23:38 101

原创 剑指:二叉搜索树的最近公共祖先——范围搜索

首先剖析题目:1.二叉树的类型:搜索二叉树,特点(左孩子<父节点<右孩子)2. p,q,x均为树结构,而不是简单的数值,注意返回的也是一个树结构这个题目由于二叉树的类型而变得简单根据搜索二叉树的特点进行搜索(范围搜索,不要沉迷于具体的数值):如果 当前节点同时大于p或q,说明p或q应该位于当前节点的左孩子里如果 当前节点同时小于p或q,说明p或q应该位于当前节点的右孩子里如果 上述两个条件均不满足,则有两种可能,a) p和q开始分叉,进入不同的子树(此时不需要再进行搜索了);.

2021-06-22 17:30:26 81

原创 验证二叉树:双端队列

要读懂题目:这里说的是节点上的数字i是寻找孩子列表中第i个位置的数字,并根据该数字寻找下一个孩子的位置。python中也有对应的数据结构代码:双端队列import collectionsd = collections.deque([])d.append('a') # 在最右边添加一个元素,此时 d=deque('a')d.appendleft('b') # 在最左边添加一个元素,此时 d=deque(['b', 'a'])d.extend(['c','d']) # 在最右边添加所有元素,此..

2021-06-07 22:17:09 177 1

原创 键指offer:合并两个有序链表

整体的思路是,先创建一个新的链表,然后判断两个链表节点的value,并向下移动一个位置,直到有一个链表为空,直接将指针指向另一个不为空的链表即可。详细步骤:由于最后要求返回一个链表,在开始之前要定义一个空链表,并用两个指针进行指向(一个用于最后的输出,因为输出是从头结点开始向后输出;另一个用于过程链接)对于两个链表,均已经指向头结点。两个节点都不为空时,将新链表的next指向最小的节点,并将节点后移动,最重要的一点,一定要把head移动到next位置才能指向下一个,也就是head=head.nex.

2021-05-22 13:43:13 78

原创 剑指offer:有序链表的合并python

这里的remove不是真正的删除,而是将链表结构中的指针断掉,说一下解题思路:第一个链表位置的确定首先用两个指针分别指向list1,然后两个指针指向list2然后根据要删除的链长,让第一个指针先走b-a步再让两个指针同时向前走,这时两个指针一直间隔b-a步,这里要注意一点:要删除a节点到b节点,移动的步长为a-1,也就是第二个指针指向a节点的前一个节点,同时第一个指针指向b节点此时,链表1的两个需要断掉的节点位置已经找到下面寻找链表2的首尾,首节点很好找到然后尾节点要通过遍历,这里的结束条件

2021-05-18 10:39:06 78

原创 利用opencv,读取图片

opencv安装成功以后那,按照路径读取,最后读出来一个Noneimg = cv2.imread(path)解决办法:1.查看一下路径是不是正确的,还有反斜杠2.路径中不要掺杂中文,否则也是读取不成功import tensorflow as tfimport cv2import numpy as nppath='D:/testimages/'# img = cv2.imread(path+str(i)+'.jpg')[:,:,0]/255 # 读取数据# # 三维数据,行,列,层,层

2020-08-18 12:53:44 472

原创 安装opencv-python

最近安装的软件都不太好装,不能直接用cmd直接用pip install命令,然后直接在在这个网站下载了whl文件,安装的非常成功,一起试一试吧!点击下载网址链接搜索框直接输入opencv进入这个界面然后找到opencv-python,这里都显示最新版本,点进去进来之后选择历史版本剩下的就是找版本了进去之后选择下载文件看好python版本,amd64就是64位的系统,下载whl文件打开 cmd,,写入pip install ,直接将下载的文件拉进去就OK然后等着安装就好了,很

2020-08-17 22:03:49 166

原创 tensorflow模型的保存与调用

1.模型的保存变量名称w1是在python内存中的,最后会被清楚,tensor的保留不会保留变量的名称,因此需要再对其进行name命名,和模型一起保存在index中,方面后面的调用w1=tf.Variable(tf.compat.v1.random_normal(shape=[2]),name='w1')import tensorflow as tftf.compat.v1.disable_eager_execution()w1=tf.Variable(tf.compat.v1.random_

2020-08-11 22:17:44 709

原创 多层神经网络与动态学习率

1.动态学习率global_step=tf.Variable(0,trainable=False) # 动态变化的学习轮数,初始值为0,且过程中不可被训练learning_rate=tf.compat.v1.train.exponential_decay(0.45,global_step,10,0.96) # 动态学习速率# 初始值0.45,每10轮调整一次,每次乘以0.962.调整优化器cross_entropy=tf.reduce_mean(-tf.reduce_sum(y_data*t

2020-08-11 18:05:44 834

原创 利用占位符进行数据传递,feed_dict

from tensorflow.examples.tutorials.mnist import input_dataimport tensorflow as tfimport ostf.compat.v1.disable_eager_execution()# 版本问题,先关闭eager_executionos.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'# 忽略掉警告mnist = input_data.read_data_sets('MINST_data',

2020-08-10 21:48:33 283

原创 识别手写数字

依然是TensorFlow滴内容,一起学习吧!1.No module named 'tensorflow.examples.tutorials’报错from tensorflow.examples.tutorials.mnist import input_data上面代码报错的大部分原因是缺少tutorials文件,有个大神解决的办法很实用,可以下载缺少的文件,大神链接2.神经网络模型的构建输入神经元的个数与自变量的个数相同,这里是784个...

2020-08-09 20:48:32 209

原创 tensorflow 拟合三维平面

例子:拟合三维平面数据集是npy类型,二进制的文件,以数组的形式呈现步骤:1.导入数据2.构造线性模型矩阵相乘,加权求核3.定义损失函数4.定义训练函数5.启动图6.初始化变量7.开始训练import numpy as npimport tensorflow as tfimport osfrom DEA.tensor import sesstf.compat.v1.disable_eager_execution()os.environ['TF_CPP_MIN_LOG_LEV

2020-08-03 17:53:16 296

原创 TensorFlow数据类型

张量(tensor)类比多维数组(numpy中的ndarray)类型:标量、向量、矩阵、数组等作用:对计算结果的引用、获得计算结果流(flow)计算任务用图(graph)来表示:定义计算图通过会话(Session)的上下文(context)中执行:执行计算使用tensor表示数据:数据类型通过变量(variable)维护状态使用feed和fetch可以为任意操作(operation)赋值或者从其中获取数据会话(Session)表达式一sess = tf.Session()#生成一个会

2020-08-03 16:37:12 198

原创 DataFrame 中的查询方式(iloc,loc,iat,at)

1.loc单个标签(label)接受一个“标签”(label)参数,返回一个Series,返回通过这个标签定位的行的值,注意这里是通过标签定位,而不是通过中括号中的数字定位第几行test_dict_df.loc[1] #return the row with name 'Bob'test_dict_df.loc[7] #return the row with name 'Time' important!!!2.一个array的标签如果键入一个标签的array,那么就返回一个对应的DataFram

2020-07-27 21:12:34 1588

原创 爬取MV弹幕,制作词云图(一)

一直想要爬弹幕的,本来以为挺高级的,事实上也是挺高级的,哈哈!终于完成弹幕的爬取和词云的制作了!跟大家分享下经验吧!去哔哩哔哩网站找一个mv如果是谷歌的浏览器就比较方便了,右键检查,点击Network,然后要更新,弹幕的文本文件有时候是找不到的,所以先找到一个名为pagelist的json文件,右键open in the web,就可以找到cid了,然后利用cid可以获得弹幕的url链接,chardet.detect主要是对获得的网页进行解码,关键在于只能对字节型解码。最后利用正则表达式匹配中文字符串

2020-06-20 17:02:22 208

原创 爬取MV弹幕,制作词云图(二)

词图云的制作费了整整一天,好在功夫不负有心人,成功搞出来了,就在这抓耳挠腮的过程中出现的问题,如何解决的跟大家分享一下!1、导入wordcloud库wordcloud绝对的必不可少,本人用pycharm做的,装wordcloud库的时候出现各种问题,比如settings环境可添加的库中根本就没有wordcloud库,只有一个r-wordcloud2,但是用不了,所以就没办法啊,没有库我怎么装!还有一个方法嘞,直接去这个链接(注意!一定要选对python的版本以及电脑的型号)下载whl后缀的文件。打开c

2020-06-20 16:40:37 347

空空如也

空空如也

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

TA关注的人

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