美文网首页Deep-Learning-with-PyTorch
Deep-Learning-with-PyTorch-3.6 张

Deep-Learning-with-PyTorch-3.6 张

作者: 追求科技的足球 | 来源:发表于2020-10-06 21:19 被阅读0次

    3.6 张量API

    至此,我们知道了什么是PyTorch张量以及它们是如何在幕后工作的。在总结之前,值得一看的是PyTorch提供的张量操作。 将它们全部列出在这里几乎没有用。 相反,我们将大致了解该API,并在http://pytorch.org/docs的在线文档中找到有关在何处查找内容的一些指导。

    首先,在torch模块中可以进行张量及其之间的绝大多数操作,这些操作也可以称为张量对象的方法。 例如,我们先前遇到的transpose函数可以从torch模块中使用

    # In[71]:
    a = torch.ones(3, 2)
    a_t = torch.transpose(a, 0, 1)
    
    a.shape, a_t.shape
    
    # Out[71]:
    (torch.Size([3, 2]), torch.Size([2, 3]))
    

    或作为张量的方法:

    # In[72]:
    a = torch.ones(3, 2)
    a_t = a.transpose(0, 1)
    
    a.shape, a_t.shape
    
    # Out[72]:
    (torch.Size([3, 2]), torch.Size([2, 3]))
    

    两种形式之间没有区别; 它们可以互换使用。

    我们之前提到过在线文档(http://pytorch.org/docs)。 它们是详尽且井井有条的,将张量操作分为几组:

    1、创建操作-用于构建张量的函数,例如张量和from_numpy

    2、索引,切片,连接,改变操作-更改张量的形状,步幅或内容的功能,例如转置(transpose)。

    3、数学操作-用于通过计算处理张量的内容的函数。
    (1)逐点运算-通过将函数分别应用于每个元素(例如abs和cos)来获得新张量的函数

    (2)约简运算-通过遍历张量(例如均值(mean),标准差(std)和范数(norm))来计算聚合值的函数

    (3)比较运算-用于评估张量上的数字谓词的函数,例如equal和max

    (4)频谱操作-用于转换频域并在频域中运行的功能,例如stft和hamming_window

    (5)其他运算-在向量上运算的特殊函数,例如叉(cross)或矩阵,例如迹线(trace)

    (6)BLAS和LAPACK运算-遵循基本线性代数子程序(BLAS)规范的函数,用于标量,矢量-矢量,矩阵-矢量和矩阵-矩阵运算

    4、随机抽样-通过从概率分布(如randn和noraml)中随机抽取来生成值的函数

    5、序列化-保存和加载张量的功能,例如加载(load)和保存(save)

    6、并行性-用于控制并行CPU执行的线程数的函数,例如set_num_threads

    花一些时间来使用常规张量API。 本章提供了启用这种交互式探索的所有先决条件。 从下一章开始,随着本书的进行,我们还将遇到一些张量运算。

    相关文章

      网友评论

        本文标题:Deep-Learning-with-PyTorch-3.6 张

        本文链接:https://www.haomeiwen.com/subject/dtcxpktx.html