最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python中l(wèi)ist,ndarray,Tensor間的轉換小結

 更新時間:2024年02月02日 11:30:58   作者:tao355667  
數(shù)據(jù)類型轉換是常見的功能,本文主要介紹了python中l(wèi)ist,ndarray,Tensor間的轉換小結,文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學習學習吧

一、list,ndarray,Tensor間的轉化

廢話不多說,看表格就行

數(shù)據(jù)類型所屬包
listpython
ndarraynumpy
Tensorpytorch
轉化類型對應API注意點
list轉換為ndarraynumpy.array()
ndarray轉換為listndarray對象.tolist()
list轉換為Tensortorch.tensor()list中的int類型數(shù)據(jù)轉換后會變?yōu)閒olat,若需要保持int,則轉換時需要加上類型
Tensor轉換為listTensor對象.tolist()
ndarray轉換為Tensortorch.from_numpy()torch.tensor()
Tensor(CPU)轉換為ndarrayTensor對象.numpy()GPU上的Tensor不能直接轉換為numpy,需要間接轉換
Tensor(GPU)轉換為ndarrayTensor對象.cpu().numpy()GPU上的Tensor不能直接轉換為numpy,需要間接轉換

ndarray --> PILimage

From PIL import Image
y = Image.fromarray(array)

PILimage --> ndarray

From PIL import Image
image = Image.open(“…..”)
img = np.asarray(image)

Tensor --> ndarray

import numpy as np
yy = np.array(tensor) 

ndarray --> Tensor

tensor = torch.from_numpy(ndarray)

tip:返回的張量和ndarray共享同一內存。對張量的修改將反映在ndarray中,反之亦然。

ndarray數(shù)據(jù)轉換數(shù)據(jù)類型

array.astype(np.uint8)  

將array復制,并將數(shù)據(jù)類型強制轉化為int8

ndarray --> List

import numpy as np
n = np.array([[1,2],[3,4],[5,6]])
m = n.tolist()

List --> Tensor

tensor = torch.tensor(list)

二、例程

import numpy as np
import torch

#list轉換為ndarray
li=[[1,2,3],[4,5,6],[7,8,9]]
a=np.array(li)  #list轉換為ndarray
print(a) 
print(type(a),'\n')

#ndarray轉換為list
b=a.tolist()#ndarray轉換為list
print(b) 
print(type(b),'\n')

#list轉換為Tensor
li=[[1,2,3],[4,5,6],[7,8,9]]
c=torch.tensor(li)  #list轉換為Tensor
print(c)
print(type(c),'\n')

#Tensor轉換為list
d=c.tolist() #Tensor轉換為list
print(d) 
print(type(d),'\n')

#ndarray轉換為Tensor
nd=np.arange(0,12).reshape(3,4)
e=torch.from_numpy(nd)  #ndarray轉換為Tensor
# e=torch.tensor(nd)    #ndarray轉換為Tensor
print(e) 
print(type(e),'\n')

#Tensor轉換為ndarray
f=e.numpy()
print(f) 
print(type(f),'\n')

運行結果

[[1 2 3]
 [4 5 6]
 [7 8 9]]
<class 'numpy.ndarray'> 

[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
<class 'list'> 

tensor([[1, 2, 3],
        [4, 5, 6],
        [7, 8, 9]])
<class 'torch.Tensor'> 

[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
<class 'list'> 

tensor([[ 0,  1,  2,  3],
        [ 4,  5,  6,  7],
        [ 8,  9, 10, 11]], dtype=torch.int32)
<class 'torch.Tensor'> 

[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]
<class 'numpy.ndarray'> 

到此這篇關于python中l(wèi)ist,ndarray,Tensor間的轉化小結的文章就介紹到這了,更多相關python list,ndarray,Tensor轉化內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論

特克斯县| 武清区| 女性| 抚顺县| 花莲市| 浮梁县| 龙川县| 抚顺县| 舒城县| 墨脱县| 延安市| 福贡县| 娄烦县| 安徽省| 临西县| 洪江市| 米易县| 浦县| 遂平县| 洪洞县| 嘉义市| 桃园市| 英山县| 宁海县| 罗平县| 时尚| 竹北市| 宜兰市| 阳朔县| 东海县| 康平县| 云龙县| 包头市| 德安县| 云安县| 藁城市| 仙桃市| 礼泉县| 定南县| 东台市| 都江堰市|