首页 > 其他分享 >模型权重初始化

模型权重初始化

时间:2023-03-23 14:34:42浏览次数:41  
标签:初始化 权重 weight kernel 模型 torch bias data size

def weight_init(m):  # 初始化权重
    # print(m)
    if isinstance(m, torch.nn.Conv3d):
        n = m.kernel_size[0] * m.kernel_size[1] * m.kernel_size[2] * m.out_channels
        m.weight.data = torch.randint_like(m.weight.data, low=-128, high=127)
        # m.bias.data.zero_()
        if m.bias!=None:
            m.bias.data = torch.randint_like(m.bias.data, low=-128, high=127)
    elif isinstance(m, torch.nn.Conv2d):
        n = m.kernel_size[0] * m.kernel_size[1] * m.out_channels
        # data = np.load("weight.npy")
        # m.weight.data = torch.tensor(data)
        m.weight.data = torch.randint_like(m.weight.data, low=-128, high=127)
        # print("weight",m.weight.data.shape)
        # print(m.weight.data)
        # print(m.weight.data)
        # m=torch.nn.Conv2d(in_channels=m.in_channels, out_channels=m.out_channels, kernel_size=m.kernel_size, bias=True, stride=m.stride, padding=m.padding)
        if m.bias!=None:
            m.bias.data = torch.randint_like(m.bias.data, low=-128, high=127)
    elif isinstance(m, torch.nn.BatchNorm3d):
        m.weight.data.fill_(1)
        m.bias.data.zero_()
    elif isinstance(m, torch.nn.Linear):
        m.weight.data=torch.randint_like(m.weight.data, low=-128, high=127)
        if m.bias is not None:
            m.bias.data.zero_()
            
            
 # 将模型权重初始化为int8
 model.apply(weight_init)

  

标签:初始化,权重,weight,kernel,模型,torch,bias,data,size
From: https://www.cnblogs.com/LuckCoder/p/17247332.html

相关文章

  • SICP:求值和环境模型(Python实现)
    绪论我们在第一章引进复合过程时,采用了求值的代换模型定义了将过程应用于实参(arguments)的意义:将一个复合过程应用于一些实参,也就意味着用实参替换过程体里对应的形参(for......
  • threejs之检测拖动模型和停止拖动模型以及鼠标缩放事件
       controls.value.addEventListener('start',startEvent) controls.value.addEventListener('end',endEvent); 这样子给轨道控制器绑定事件后即可。......
  • 决战圣地玛丽乔亚Day39 -----GC、内存模型、类加载
    内存模型:java内存模型定义了JVM虚拟机如何与计算机的内存进行交互。java内存模型把内存划分为两部分:主内存和工作内存。主内存共享,工作内存线程私有。java内存模型的实现......
  • 弹性盒子模型
    弹性盒子模型(flexbox)定义弹性盒子是CSS3的一种新的布局模式CSS3弹性盒子是一种当页面需要适应不同的屏幕大小以及设备类型时确保元素拥有恰当的行为的布局方式引入......
  • Nginx 的多进程异步模型要了解下么
    Ngnix是互联网企业使用最为广泛的高性能的反向代理服务器,为何叫反向代理之前也讲过。它可以为后端分布式服务提供负载均衡的功能,它可以将后端多个服务地址聚合为单个地址来......
  • 谣言检测模型
    GCN简述:https://blog.csdn.net/qq_43787862/article/details/113830925 (1)bi-GCN(双向)(预处理)剪边H传播特征根特征增强(连接上一层根节点)mean池均值化(H->S)合并两......
  • Ubuntu18.04初始化
      sudosed-i"s@http://.*archive.ubuntu.com@http://repo.huaweicloud.com@g"/etc/apt/sources.listsudosed-i"s@http://.*security.ubuntu.com@http://repo.h......
  • 通过MATLAB实现基于PSO优化的NARMAX模型参数辨识算法
    1.算法描述粒子群优化算法(PSO),粒子群中的每一个粒子都代表一个问题的可能解,通过粒子个体的简单行为,群体内的信息交互实现问题求解的智能性。最终算法伪代码如下:初始化:......
  • 通过MATLAB实现基于PSO优化的NARMAX模型参数辨识算法
    1.算法描述        粒子群优化算法(PSO),粒子群中的每一个粒子都代表一个问题的可能解,通过粒子个体的简单行为,群体内的信息交互实现问题求解的智能性。   ......
  • Python互联网大数据爬虫的武汉市二手房价格数据采集分析:Linear Regression模型、XGBoo
    全文链接:http://tecdat.cn/?p=31958原文出处:拓端数据部落公众号分析师:YanLiu我国有大量的资金都流入了房地产行业,同时与其他行业有着千丝万缕的联系,可以说房地产行业对......