- 博客(7)
- 收藏
- 关注
原创 Transformer训练过程、推理过程详解
Transformer是一种很重要且强大的模型,如今网上介绍Transformer的文章很多,但是大都是只是介绍模型的结构,对于训练过程、推理过程模型的输入和输出都没有进行介绍,使人看的一头雾水,因为本文就Transformer的模型的训练和推理过程进行详细的介绍。
2024-07-24 17:46:17
509
原创 Transformer多头自注意力及掩码机制详解
在本文中我们重点介绍Transformer中的掩码机制及多头自注意力模块的原理以及代码实现。掩码机制是Transformer中非常重要的一个部分,在模型结构图中的三个地方有用到掩码机制,如下图所示。Transformer中的掩码分为两种,分别是填充mask和因果mask。在下图中,1和2所在为位置为填充mask,3所在的位置为因果mask。
2024-07-19 21:41:19
1140
原创 Transformer输入Embedding及位置编码详解
我们在本文主要介绍Transformer中的输入Embedding及位置编码。Embedding是一种将离散的输入数据(如单词、字符等)转换为连续的向量表示的方法。由于计算机无法直接处理一个单词或者一个汉字,所以需要Embedding把一个token转化成计算机可以识别的向量。
2024-07-15 23:30:40
1187
原创 Liunx常用命令总结分享
我们在敲代码的过程中,会接触到一些Liunx命令,能够熟练的使用Liunx命令可以使我们事半功倍,接下来就对一些常用的Liunx命令就行总结。
2024-07-13 17:51:23
1169
原创 pytorch模型冻结及BN层存在的坑
这是因为BN层搞的鬼,BN层的参数(均值和方差)是在前向传播过程中更新的。注意:使用方法一时,一定要注意不要拼写错误,requires_grad拼写错误的话也不会报错,但是如果拼写错误的话就不能正常把梯度设置为False了,所以有的时候明明把requires_grad设置为False了却还是没有冻结住模型,去看看是不是单词拼写错了,我有好几次都是拼写错误导致模型没有冻结住但是没有及时发现。冻结模型常用的方法有两种,一种是将需要冻结的参数的梯度设置为False,另一种是只将不动结的参数传给优化器。
2024-07-12 23:05:54
537
原创 如何保存python代码在Liunx终端中的输出
我们在使用python程序做实验的时候,尤其是要做好多次实验的时候,有时需要把程序的输出进行保存以便对实验进行总结,接下来就分享两种常用的保存python程序输出的方法。
2024-07-12 17:06:05
547
原创 Pytorch预训练模型导入、查看模型参数及模型保存
第二种方法是只保存模型的每层参数及其名字。一般来说第二种方法用的更多,因为其保存后的文件规模更小,并且其除了可以保存模型外,还可以保存优化器的参数,训练的轮数等参数,更加灵活。有时我们再训练模型时会需要进行dubug去查看一下模型的参数,这时候便需要用到model.named_parameters函数,这是一个模型的方法,它返回一个生成器,可以用for循环去迭代遍历模型的每一层参数(parameter)及其名称(name)。代码中的name便是模型每一层的名字,param便是模型的参数。
2024-07-09 17:03:22
891
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人