首页 > 其他分享 >深度学习(初始化)

深度学习(初始化)

时间:2024-08-31 17:14:08浏览次数:9  
标签:初始化 par nn list 学习 init 深度 numpy append

深度学习训练的时候,一个好的初始化结果能使模型更容易收敛,Pytorch提供了一些初始化函数。

import torch
import torch.nn as nn
import matplotlib.pyplot as plt

class Model(nn.Module):
    def __init__(self):
        super(Model, self).__init__()
        self.a = nn.Parameter(torch.zeros(100,100))       
    def forward(self, x):
        return self.a + x
    
net = Model()
par_list=[]
for par in net.parameters():

    par_list.append(par.detach().clone().numpy())

    nn.init.ones_(par)    
    par_list.append(par.detach().clone().numpy())

    nn.init.constant_(par,10)
    par_list.append(par.detach().clone().numpy())

    nn.init.eye_(par)
    par_list.append(par.detach().clone().numpy())

    nn.init.uniform_(par, a=0, b=1)
    par_list.append(par.detach().clone().numpy())
  
    nn.init.normal_(par,mean=0, std=1)
    par_list.append(par.detach().clone().numpy())

    nn.init.orthogonal_(par, gain=1)
    par_list.append(par.detach().clone().numpy())

    nn.init.sparse_(par, sparsity=0.1, std=0.01)
    par_list.append(par.detach().clone().numpy())

    nn.init.xavier_uniform_(par, gain=1)
    par_list.append(par.detach().clone().numpy())

    nn.init.xavier_normal_(par, gain=1)
    par_list.append(par.detach().clone().numpy())

    nn.init.kaiming_uniform_(par)
    par_list.append(par.detach().clone().numpy())

    nn.init.kaiming_normal_(par)
    par_list.append(par.detach().clone().numpy())

for i,par in enumerate(par_list):
    plt.subplot(3,4,i+1)
    plt.imshow(par)

plt.show()

结果可视化如下:

标签:初始化,par,nn,list,学习,init,深度,numpy,append
From: https://www.cnblogs.com/tiandsp/p/18368050

相关文章

  • Datawhale X 李宏毅苹果书AI夏令营深度学习入门(二)
    一.深度学习继续上一篇文章的深度学习的定义把w跟b更新的方向结合起来,就是一个向量,就是红色的箭头,再计算一次微分,再决定要走什么样的方向,把这个微分的值乘上学习率,再乘上负号,我们就知道红色的箭头要指向那里,就知道如何移动w跟b的位置,一直移动,期待最后可以找出一组不错的......
  • 马铃薯叶片病害识别系统+Python+图像识别+人工智能+深度学习+卷积神经算法+计算机课设
    一、介绍马铃薯叶片病害识别系统。本项目使用Python作为主要开发语言,基于TensorFlow等深度学习框架搭建ResNet50卷积神经算法网络模型,通过对收集到的3种常见的马铃薯叶片病害数据集('早疫病','健康','晚疫病')进行训练得到一个识别精度较高的模型,然后将模型以H5格式文件形式保存......
  • 后缀数组学习笔记
    后缀数组挺好玩的,于是来写后缀数组学习笔记了。什么是后缀数组?后缀数组主要关系到2个数组:\(sa\)和\(rk\)。\(sa[i]\)表示将所有后缀按照字典序从小到大排序,排名第\(i\)的后缀的开头为第\(sa[i]\)个字符。\(rk[i]\)表示将所有后缀按照字典序从小到大排序,后缀开......
  • Markdown学习
    作业要求你熟悉Markdown格式吗?选择自己熟悉的AI平台,把下面的提示词发给ta:作为计算机技术专家、人工智能技术专家,网络空间安全专家,密码学专家,密码技术专家,请您:1.深入浅出的讲解一下Mardown,Markdown的详细语法2.推荐至少两款线上工具,至少两种线下工具3.讲解Markdown的高级......
  • 轻松上手大模型应用开发——Git教程「亲自动手实践大型模型微调」,简化学习流程!
    LLM正逐步成为信息世界的新革命力量,其通过强大的自然语言理解、自然语言生成能力,为开发者提供了新的、更强大的应用开发选择。随着国内外井喷式的LLMAPI服务开放,如何基于LLMAPI快速、便捷地开发具备更强能力、集成LLM的应用,开始成为开发者的一项重要技能。目前,关......
  • 阿尔茨海默病症识别+图像识别Python+人工智能+深度学习+TensorFlow+机器学习+卷积神经
    一、介绍阿尔茨海默病症识别。使用Python作为主要编程语言进行开发,基于深度学习等技术使用TensorFlow搭建ResNet50卷积神经网络算法,通过对病症图片4种数据集进行训练['轻度痴呆','中度痴呆','非痴呆','非常轻微的痴呆'],最终得到一个识别精确度较高的模型。然后使用Django框架......
  • Python基础学习---黑马程序员
    1.变量------课后练习money=50print("当前钱包余额:",money,"元")bql=10money=money-bqlprint("购买了冰淇淋,花费:",bql,"元")kl=10money=money-klprint("购买了可乐,花费:",kl,"元")print("最终,钱包剩余:",money......
  • markdown学习
    Markdown学习1学习实践掌握情况[掌握的内容]标题#,加粗,斜体创建一个自定义列表Markdown2024Authorsyanglang代码块示例:varfoo='bar';分隔线绘图使用mermaid插件graphLRA-->BA-->CB-->DC-->D格式转换通过网址:enterlinkdescriptionhere......
  • LAMP学习
    1.概述1.1LAMP平台的构成组件Linux操作系统:Linux操作系统是整个LAMP架构的基础部分,提供用于支撑Web站点的操作系统,为其他的组件提供了更好的稳定性、兼容性Apache网站服务器:为LAMP架构的前端,功能强大、稳定性良好(性能优化)MySQL数据库服务器、MariaDB:为LAMP架构的后端,是一款应......
  • 1-1 Markdown学习
    1-1Markdown学习一、Markdown简介及详细语法向AI的提问:作为计算机技术专家、人工智能技术专家,网络空间安全专家,密码学专家,密码技术专家,请您:1.深入浅出的讲解一下Mardown,Markdown的详细语法2.推荐至少两款线上工具,至少两种线下工具3.讲解Markdown的高级用法,包括插入数学......