torch.normal(means, std, out=None)
means (Tensor) – 均值
std (Tensor) – 标准差
out (Tensor) – 可选的输出张量
>>> n_data = torch.ones(5, 2) >>> print(n_data) tensor([[1., 1.], [1., 1.], [1., 1.], [1., 1.], [1., 1.]]) >>> print(n_data.shape) torch.Size([5, 2]) >>> x0 = torch.normal(2*n_data, 1) >>> print(x0) tensor([[3.2688, 1.4834], [1.8288, 0.7327], [3.2382, 4.0835], [2.8337, 2.1901], [3.3097, 2.4447]]) #每个元素是从 均值=2*n_data中对应位置的取值,标准差为1的正态分布中随机生成的 >>> print(2*n_data) tensor([[2., 2.], [2., 2.], [2., 2.], [2., 2.], [2., 2.]])
torch.max(参数1, 1)[1]
torch.max()返回两个结果,第一个是最大值,第二个是对应的索引值;第二个参数 0 代表按列取最大值并返回对应的行索引值,1 代表按行取最大值并返回对应的列索引值。
torch.max()[0], 只返回最大值的每个数
troch.max()[1], 只返回最大值的每个索引
torch.max()[1].data 只返回variable中的数据部分(去掉Variable containing:)
torch.max()[1].data.numpy() 把数据转化成numpy ndarry
torch.max()[1].data.numpy().squeeze() 把数据条目中维度为1 的删除掉
torch.max(tensor1,tensor2) element-wise 比较tensor1 和tensor2 中的元素,返回较大
优化器
例:
torch.optim.Adam(params, lr=0.001, betas=(0.9, 0.999), eps=1e-08, weight_decay=0 )
params :待优化参数的iterable或定义了参数组的dict,通常为model.parameters()。
lr:算法学习率,默认为0.001。
betas:用于计算梯度以及梯度平方的运行平均值的系数,默认为(0.9, 0.999)。
eps:为了增加数值计算的稳定性而加到分母里面的项,默认为1e-8
weight_decay:权重衰减(L2惩罚),默认为0.
视频学习:点击这里