这个函数一般在测试的时候使用,用来降低显存占用
- 在训练的时候我们需要学习weight和bias的梯度,但是在测试的时候我们不需要获取他们的梯度,因此可以节省大量的显存
- 在训练时我们crop成了一个一个块,例如size为256,在测试时如果将整幅图片都送入网络,有时会out of memory,因此需要no_grad语句
使用很简单,在测试时将测试代码放到他下面即可
1 | with torch.no_grad(): # 可以显著的降低显存 |
这个函数一般在测试的时候使用,用来降低显存占用
使用很简单,在测试时将测试代码放到他下面即可
1 | with torch.no_grad(): # 可以显著的降低显存 |
1. 输出参数名字的一些操作 输出需要梯度的参数的名字 123for n,p in self.lm_head.named_parameters(): if p.requires_grad == True: print(n)
1. LLaMA源码解读 这里以Huggingface中的LLaMA源码为例,LLaMA是一个因果模型,不论是做下游任务(例如分类等)还是生成任务,我们都要使用其中的LlamaModel模型作为base模型,此模型的就是初始化词向量以及Transformer模块,下面我们从LlamaModel源码开
1. LoRA论文解读 这里先不解读了,直接看Microsoft的代码 2. LoRA代码解析 lora代码最初由微软GitHub提供,我对代码进行了精简,可以在这里下载lora,此代码主要为了学习使用,方便理解lora的整个流程。 这里以NLG任务中的e2e数据集为例 2.1 对数据的预处理 如下
1. pytorch获取网络结构 在写深度学习程序时,我们通常要将网络打印出来查看网络结构,一个最简单的方法就是直接print(model)来打印模型结构,这里我们以下面程序为例 1234567891011121314151617181920212223242526272829import torc
c Qwen-VL: A Versatile Vision-Language Model for Understanding, Localization, Text Reading, and Beyond. Alibaba Group 1.1 论文动机 本文是在Qwen-LM的基础上进行改的,本文的
— title: about date: 2022-07-30 17:05:33 layout: about —