init.uniform / unit.normal

均匀分布
nn.init.uniform(tensor,a=0,b=1)
tensor -n维的torch.Tensor
a 均匀分布的下界,默认值为0
b 均匀分布的上界,默认值为1

正态分布
torcn.nn.init.normal(tensor,mean=0,std=1)
tensor n维的torch.Tensor
mean 正太分布的均值
std 正太分布的标准差
import torch
import torch.nn as nn


import warnings
warnings.filterwarnings("ignore")


w=torch.Tensor(3,5)


# x_uniform=nn.init.uniform(tensor=w,a=2,b=6)
x_uniform=nn.init.uniform(tensor=w)
print("x_uniform",x_uniform)

# x_normal=nn.init.normal(tensor=w,mean=10,std=2)
x_normal=nn.init.normal(tensor=w)
print("x_normal",x_normal)

#xavier_uniform=nn.init.xavier_uniform(tensor=w,gain=1)
xavier_uniform=nn.init.xavier_uniform(tensor=w,gain=nn.init.calculate_gain('relu'))
print("xavier_uniform",xavier_uniform)


#xavier_normal=nn.init.xavier_normal(tensor=w,gain=1)
xavier_normal=nn.init.xavier_normal(tensor=w,gain=nn.init.calculate_gain('relu'))
print("xavier_normal",xavier_normal)






'''
x_uniform tensor([[0.2816, 0.4711, 0.8996, 0.7330, 0.5513],
        [0.5623, 0.0418, 0.7624, 0.5373, 0.6279],
        [0.1240, 0.9987, 0.3897, 0.9821, 0.1776]])
x_normal tensor([[-0.8959,  0.4796, -1.3757, -1.1037,  2.0843],
        [ 0.0715,  0.4563,  1.2856, -0.9393,  0.1773],
        [-0.9491,  0.0170, -0.8944,  0.7141,  1.3373]])
xavier_uniform tensor([[ 0.7476, -0.5736, -0.1695,  0.5489, -0.0284],
        [ 1.0224, -0.8135,  0.1688,  0.3294,  0.4330],
        [-1.1458, -0.4438,  0.5714, -0.9706, -1.0764]])
xavier_normal tensor([[ 0.3797,  0.4196,  1.0782,  0.0434,  0.6576],
        [-0.2319, -0.1747, -0.9296, -0.8965,  0.3372],
        [ 0.0703,  0.6307, -0.0976,  0.4038, -0.6067]])

'''

  

posted on 2019-09-27 16:35  happygril3  阅读(497)  评论(0)    收藏  举报

导航