日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python和pytorch是什么关系_【PyTorch】Tensor和tensor的区别

發布時間:2024/7/19 python 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python和pytorch是什么关系_【PyTorch】Tensor和tensor的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文列舉的框架源碼基于PyTorch1.0,交互語句在0.4.1上測試通過

import torch

在PyTorch中,Tensor和tensor都能用于生成新的張量:

>>> a=torch.Tensor([1,2])

>>> a

tensor([1., 2.])

>>> a=torch.tensor([1,2])

>>> a

tensor([1, 2])

首先,我們需要明確一下,torch.Tensor()是python類,更明確地說,是默認張量類型torch.FloatTensor()的別名,torch.Tensor([1,2])會調用Tensor類的構造函數__init__,生成單精度浮點類型的張量。

>>> a=torch.Tensor([1,2])

>>> a.type()

'torch.FloatTensor'

torch.tensor(data, dtype=None, device=None, requires_grad=False)

其中data可以是:list, tuple, NumPy ndarray, scalar和其他類型。

torch.tensor會從data中的數據部分做拷貝(而不是直接引用),根據原始數據類型生成相應的torch.LongTensor、torch.FloatTensor和torch.DoubleTensor。

>>> a=torch.tensor([1,2])

>>> a.type()

'torch.LongTensor'

>>> a=torch.tensor([1.,2.])

>>> a.type()

'torch.FloatTensor'

>>> a=np.zeros(2,dtype=np.float64)

>>> a=torch.tensor(a)

>>> a.type()

'torch.DoubleTensor'

這里再說一下torch.empty(),根據 https://pytorch.org/docs/stable/torch.html?highlight=empty#torch.empty ,我們可以生成指定類型、指定設備以及其他參數的張量,由于torch.Tensor()只能指定數據類型為torch.float,所以torch.Tensor()可以看做torch.empty()的一個特殊情況。

最后放一個小彩蛋

>>> a=torch.tensor(1)

>>> a

tensor(1)

>>> a.type()

'torch.LongTensor'

>>> a=torch.Tensor(1)

>>> a

tensor([0.])

>>> a.type()

'torch.FloatTensor'

總結

以上是生活随笔為你收集整理的python和pytorch是什么关系_【PyTorch】Tensor和tensor的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。