normal函数的详细使用和常见错误

1.normal(mean, std, *, generator=None, out=None)

  • 返回值:一个张量,张量中每个元素是从相互独立的正态分布中随机生成的。每个正态分布的均值和标准差对应着mean中的一个值和std中的一个值
  • 参数
    • mean(tensor):是一个张量,存储着输出张量中每个元素正态分布的均值
    • std(tensor):是一个张量,存储着输出张量中每个元素正态分布的标准差
    • 注意:张量mean和std的形状不一定相同,但是元素个数必须相同。如果二者形状不一致,返回张量的形状和mean的一致
    • generator=None:用于采样的伪随机数发生器
    • out:输出张量的形状

注意:参数列表里的 * 星号,标志着位置参数的就此终结,之后的那些参数,都只能以关键字形式来指定

可能你到这里就信誓旦旦去调用这个函数了,但是实际结果是:

import torch
torch.normal(means=torch.arange(1,11),std=torch.arange(1,0,-0.1))
---------------------------------------------------------------------------TypeError                                 Traceback (most recent call last)~\AppData\Local\Temp/ipykernel_21072/3185136372.py in <module>1 import torch
----> 2 torch.normal(means=torch.arange(1,11),std=torch.arange(1,0,-0.1))TypeError: normal() received an invalid combination of arguments - got (means=Tensor, std=Tensor, ), but expected one of:* (Tensor mean, Tensor std, *, torch.Generator generator, Tensor out)* (Tensor mean, float std, *, torch.Generator generator, Tensor out)* (float mean, Tensor std, *, torch.Generator generator, Tensor out)* (float mean, float std, tuple of ints size, *, torch.Generator generator, Tensor out, torch.dtype dtype, torch.layout layout, torch.device device, bool pin_memory, bool requires_grad)

从错误提示可以看到,参数不应该是means,而是使用mean,所以我们把means改成mean

然而 。。。

torch.normal(mean=torch.arange(1,11),std=torch.arange(1,0,-0.1))
---------------------------------------------------------------------------RuntimeError                              Traceback (most recent call last)~\AppData\Local\Temp/ipykernel_21072/2194249099.py in <module>
----> 1 torch.normal(mean=torch.arange(1,11),std=torch.arange(1,0,-0.1))RuntimeError: "normal_kernel_cpu" not implemented for 'Long'

是不是很无奈,其实这是pytorch版本的问题,我们把arrange中的数字都改成浮点数就行了

torch.normal(mean=torch.arange(1.,11.),std=torch.arange(1.,0.,-0.1))
# ([ 0.9897, // 从均值为1,标准差为1的正太分布中随机选取的
#   2.0167,  // 从均值为2,标准差为0.9的正太分布中随机选取的
#   3.4270,  //以此类推
#   3.9813,
#   5.7261,
#   6.1477,
#   7.3065,
#   8.3148,
#   8.6105,
#   10.0650])
tensor([ 0.9897,  2.0167,  3.4270,  3.9813,  5.7261,  6.1477,  7.3065,  8.3148,8.6105, 10.0650])

2.normal(mean, std, *, out=None)

  • 参数:

    • mean(float):输出张量中元素正态分布的均值,不过是输出张量中的所有元素所共享的

其他部分和第一个函数一样

torch.normal(2.,torch.arange(1.0,0,-0.1))
tensor([1.3067, 3.1319, 3.0808, 1.4510, 2.7221, 2.3876, 2.6084, 1.8700, 1.8914,2.0556])

3.其他两个,大体一致

  • (Tensor mean, float std, *, torch.Generator generator, Tensor out):共享同一个标准差

  • (float mean, float std, tuple of ints size, *, torch.Generator generator, Tensor out, torch.dtype dtype, torch.layout layout, torch.device device, bool pin_memory, bool requires_grad):共享同一个均值和同一个标准差,并且需要额外指定输出张量的形状

【pytorch】normal函数的详细使用和常见错误相关推荐

  1. np.empty()函数、np.random.uniform()函数、np.random.normal()函数的详细介绍和代码说明

    目录 np.empty()函数 np.random.uniform()函数 np.random.normal()函数 np.random的其它常见函数 参考 np.empty()函数 函数定义: nu ...

  2. Go常见错误第11篇:意外的变量隐藏(variable shadowing)

    前言 这是Go常见错误系列的第11篇:Go语言中意外的变量遮蔽.素材来源于Go布道者,现Docker公司资深工程师Teiva Harsanyi. 本文涉及的源代码全部开源在:Go常见错误源代码,欢迎大 ...

  3. 使用PyTorch构建神经网络(详细步骤讲解+注释版) 01-建立分类器类

    文章目录 1 数据准备 2 数据预览 3 简单神经网络创建 3.1 设计网络结构 3.2 损失函数相关设置 3.3 向网络传递信息 3.4 定义训练函数train 4 函数汇总 1 数据准备 神经网络 ...

  4. pytorch基础函数学习

    深度学习框架,似乎永远离不开哪个最热哪个最实用的话题,自己接触甚浅,尚不敢对齐进行大加评论,这里也只是初步接触.目前常见的有TensorFlow,pytorch,Keras等,至于目前哪个做好用,就像 ...

  5. trim函数实现php,php trim函数的详细解析

    本篇文章给大家带来的内容是关于php trim函数的详细解析,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 字符串的处理在任何程序中应该是最最常见的了吧.php 的trim函数就是用 ...

  6. PyTorch中linspace的详细用法

    从PyTorch的官方网站上找到了这个函数的详细说明. https://pytorch.org/docs/stable/generated/torch.linspace.html?highlight= ...

  7. python中.find函数的使用方法及实例_FIND函数的详细讲解及实例分析

    在写LOOKUP的时候就想写一下FIND函数,此函数是我经常用到的函数,无论是在EXCEL中还是在VBA中,此函数的利用价值极高,很值得推荐,此函数应用简单,易学易用.我在以前的VBA文章中非常详细地 ...

  8. pandas.get_dummies函数用法详细解答(实践)

    pandas.get_dummies函数用法详细解答(实践) pandas.get_dummies函数用法详细解答(实践)_skywf的博客-CSDN博客 one-hot encoding one-h ...

  9. numpy常用函数之random.normal函数

    numpy常用函数之random.normal函数 4.np.random.normal(loc=0.0, scale=1.0, size=None) 作用:    生成高斯分布的概率密度随机数 lo ...

最新文章

  1. ubuntu18.04.4 没有声音
  2. sharepoint 2013 使用outlook 打开sharepoint 任务失败
  3. Unity2D游戏开发基础教程1.2项目、资源和场景
  4. android SQL 语句
  5. linux nginx svn 安装
  6. idea点击表单按钮不做post反应
  7. 容器技术Docker K8s 8 容器服务ACK Pro版集群
  8. V4L2像素格式及其对应的含义
  9. Easyui--官网
  10. 赛码网笔试Java代码示例
  11. 尝试导出Cities Skyline完整城市模型遇到的问题与解决
  12. 怎么设置计算机开机顺序,教你设置电脑开机程序启动顺序的详细教程
  13. 四大文明古国与六大文明
  14. 【案例23】NCC2005 was集群报非法登录的解决方案
  15. 《30天自制操作系统》第一天
  16. 抓取前程无忧招聘信息
  17. matlab 金融时间序列工具箱,Matlatb金融时间序列工具箱——建立金融时间序列
  18. App启动通用流程图方案
  19. 《wpf专题--基于wpf制作登录页面》
  20. 低速协议 I2S UART SPI I2C

热门文章

  1. 逻辑与物理时钟乐观锁定
  2. Android_UI开发总结(四):如何调整app的字体样式不随系统变化
  3. 红米k30至尊版和k30 pro哪个好 参数配置区别
  4. php微信扫码登录业务(带参数二维码方式)
  5. 王者荣耀体验服服务器注册上限怎么办,王者荣耀体验服资格8月6日申请地址 2018体验服申请恶意值过高解决方法...
  6. (附源码)计算机毕业设计SSM基于的二手车商城
  7. 一个基于Java的syslog服务器,大家都来看看啊!
  8. 论文已提交,如何添加或修改作者名单?(附信件模板)
  9. 【毕业论文】| 基于Unity3D引擎的冒险游戏的设计与实现
  10. python3.6 django教程_【Python3.6+Django2.0+Xadmin2.0系列教程一】环境搭建及项目创建