专栏首页菜鸟致敬Python|神经网络框架torch包[1]

Python|神经网络框架torch包[1]

torch包主要是用于多维张量的数据结构和用于张量的数学操作。除此之外,还提供了许多用于张量有效序列化和任意类型的工具,还有一些其他相关的工具。

torch还有一个cuda的版本,如果NVIDIA的算力>=3.0,就可以使用。

张量

  1. torch.is_tensor(obj)->bool 返回对象是否为pytorch的张量。输入参数obj是需要判断的对象。
  2. torch.is_storage(obj)->bool 返回对象是否为pytorch的存储对象。输入参数obj是需要判断的对象。
  3. torch.is_comlplex(input)->bool 返回输入数是否为复数,pytorch的复数类型有torch.complex64和torch.complex128。输入参数input是pytorch的张量。
  4. torch.isfloatingpoint(input)->bool 返回输入数是否为浮点数,pytorch的浮点数类型有torch.float64,torch.float32和torch.float16。输入参数input是pytorch的张量。
  5. torch.setdefaultdtypr(d) 把默认的浮点数类型设置为d,torch.tensor()默认使用d类型。在一开始,d的类型是torch.float32。d是torch.dtype中的值。

例子:

>>> torch.tensor([1.2, 3]).dtype           # 初始化默认类型为float32
>>> torch.set_default_dtype(torch.float64)
>>> torch.tensor([1.2, 3]).dtype           # 默认新的浮点类型float64
torch.float64
  1. torch.getdefaultdtype()->torch.dtype 返回当前的默认浮点类型。

例子:

>>> torch.get_default_dtype()  # 初始默认浮点类型float32
torch.float32
>>> torch.set_default_dtype(torch.float64)
>>> torch.get_default_dtype()  # 现在默认改为float64
torch.float64
>>> torch.set_default_tensor_type(torch.FloatTensor)  # 设置张量类型也会影响torch.FloatTensor
>>> torch.get_default_dtype()  # 现在默认float32
torch.FloatTensor
torch.float32
  1. torch.setdefaulttensor_type(t) 输入参数t为张量数据的浮点类型。用于设置张量数据的默认类型。
  2. torch.numel(input)->int,输入input为张量形式。返回int,为元素的总数。例子:
>>> a = torch.randn(1, 2, 3, 4, 5)
>>> torch.numel(a)
120
>>> a = torch.zeros(4,4)
>>> torch.numel(a)
16
  1. torch.setprintoptions(precision=None, threshold=None, edgeitems=None, linewidth=None, profile=None, scimode=None) 设置打印的参数。

参数:

  • precision:浮点数输出的精度,默认4
  • threshold:超过数目则只打印数组的总览,默认1000
  • edgeitems:总览打印时每个维度开始与结束时打印的数目,默认3
  • linewidth:行宽,指一行打印的数目,默认80,当指打印总览的时候无效
  • profile:默认Sane,格式输出的样式
  • sci_mode:是否启用科学计数法,bool类型。默认None
  1. torch.setflushdenormal(mode)->bool 禁用在cpu进行异常的浮点运算,如果系统支持冲洗异常数,返回True。setflushdenormal()仅在x86架构支持SSE3。输入mode参数为bool。例子:
>>> torch.set_flush_denormal(True)
True
>>> torch.tensor([1e-323], dtype=torch.float64)
tensor([ 0.], dtype=torch.float64)
>>> torch.set_flush_denormal(False)
True
>>> torch.tensor([1e-323], dtype=torch.float64)
tensor(9.88131e-324 * 
      [ 1.0000], dtype=torch.float64)

本文分享自微信公众号 - Python与MySQL(Python_Rick),作者:Rare

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-05-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python|张量创建操作[4]

    返回一个一维的张量,使用对数,从start到end。比如在start处,值是10,base是2,那么start对应的值输出为2的10次方。参数

    Rare0716
  • Python|张量创建操作[3]

    说一下zeros与zeroslike和类似函数的区别。zeros是指定输出张量的形状size,然后返回张量,zeroslike则是根据一个张量,返回这个张量形状...

    Rare0716
  • Python|张量创建操作[2]

    张量的随机创建包含的方法有:torch.rand(),torch.randlike(),torch.randn(),torch.randnloike(),tor...

    Rare0716
  • 编写高效的PyTorch代码技巧(上)

    原文:https://github.com/vahidk/EffectivePyTorch

    材ccc
  • PyTorch基础

    py3study
  • torch.nonzero

    也就是说torch.nonezero()的作用就是找到tensor中所有不为0的索引。(要注意返回值的size)

    于小勇
  • PyTorch 重磅更新,不只是支持 Windows

    这次版本的主要更新一些性能的优化,包括权衡内存计算,提供 Windows 支持,24个基础分布,变量及数据类型,零维张量,张量变量合并,支持 CuDNN 7.1...

    AI科技大本营
  • PyTorch 的这些更新,你都知道吗?

    昱良
  • [877]ModuleNotFoundError:no module named ‘tools.nnwrap‘ 解决办法

    参考:https://blog.csdn.net/cxyj666/article/details/97617358

    周小董
  • PyTorch的4分钟教程,手把手教你完成线性回归

    PyTorch深度学习框架库之一,是来自Facebook的开源深度学习平台,提供研究原型到生产部署的无缝衔接。

    大数据文摘

扫码关注云+社区

领取腾讯云代金券