pytorch包学习心得--torch

1.torch.tensor(datadtype=Nonedevice=Nonerequires_grad=False) → Tensor

torch.tensor() always copies data. If you have a Tensor data and want to avoid a copy, use torch.Tensor.requires_grad_() or torch.Tensor.detach(). If you have a NumPy ndarrayand want to avoid a copy, use torch.from_numpy().

torch.tensor函数总会拷贝数据,除非使用其他函数可以避免拷贝。

2.torch.sparse_coo_tensor(indicesvaluessize=Nonedtype=Nonedevice=Nonerequires_grad=False) → Tensor

使用coordinate format matrix来进行稀疏矩阵的数据的存储。具体稀疏矩阵的表示方法可参考https://en.wikipedia.org/wiki/Sparse_matrix,其中,

一个稀疏矩阵:

{\begin{pmatrix}0&0&0&0\\5&8&0&0\\0&0&3&0\\0&6&0&0\\\end{pmatrix}}

能够被表示为如下一个三行的矩阵:

   A  = [ 5 8 3 6 ]
   IA = [ 0 0 2 3 4 ]
   JA = [ 0 1 2 1 ]

A用来表示矩阵中的元素(从左到右,从上到下),IA[i]表示从第一行到第i行中的所有元素,IA[0]始终为0,而JA则表示相应的

元素在哪一列。但在这里indices用一个二维矩阵表示每个稀疏项的位置,第一维是行,第二维是列。

3.torch.as_tensor(datadtype=Nonedevice=None) → Tensor

转化一个ndarray成为tensor,如果同为cpu存储,则无需拷贝,否则需要拷贝,例如从cpu类型变为GPU类型,也就是赋值device相关属性。

4.torch.zeros_like(inputdtype=Nonelayout=Nonedevice=Nonerequires_grad=False) → Tensor

其实在调用torch.zeros(input.size(),dtype=Nonelayout=Nonedevice=Nonerequires_grad=False)

torch.ones_like()类似用法。

5.torch.arange(start=0endstep=1out=Nonedtype=Nonelayout=torch.strideddevice=Nonerequires_grad=False) → Tensor 类似numpy.arange 函数,支持int和float,而python range函数不支持float类型。

6.torch.range(start=0endstep=1out=Nonedtype=Nonelayout=torch.strideddevice=Nonerequires_grad=False) → Tensor 同上arange函数,与python自带的不一样,其支持float类型。

7.torch.logspace(startendsteps=100out=Nonedtype=Nonelayout=torch.strideddevice=Nonerequires_grad=False) → Tensor 

>>> torch.logspace(start=-10, end=10, steps=5)
tensor([ 1.0000e
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值