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

將PyTorch?Tensor轉(zhuǎn)換為Python列表的三種方法

 更新時(shí)間:2026年04月17日 08:26:02   作者:detayun  
本文介紹了三種將PyTorch Tensor轉(zhuǎn)換為Python列表的方法,推薦使用.tolist()方法,適用于任何維度的Tensor,自動(dòng)處理CPU/GPU轉(zhuǎn)換且性能更優(yōu),同時(shí)提到了注意事項(xiàng),.list()僅適用于一維Tensor,轉(zhuǎn)換后的列表元素保持原有的數(shù)據(jù)類型

方法一:使用.tolist()方法(推薦)

import torch

# 創(chuàng)建一個(gè) tensor
tensor = torch.tensor([9.6919, -0.6950, 11.8760, 1.6362, 8.3674, 9.2179])

# 轉(zhuǎn)換為列表
list_result = tensor.tolist()

print(list_result)
print(type(list_result))
# 輸出: [9.6919, -0.695, 11.876, 1.6362, 8.3674, 9.2179]
# 輸出: <class 'list'>

方法二:使用list()函數(shù)

import torch

tensor = torch.tensor([9.6919, -0.6950, 11.8760, 1.6362, 8.3674, 9.2179])

# 轉(zhuǎn)換為列表
list_result = list(tensor)

print(list_result)
print(type(list_result))
# 輸出: [9.6919, -0.695, 11.876, 1.6362, 8.3674, 9.2179]
# 輸出: <class 'list'>

方法三:使用.numpy()方法(適用于 CPU tensor)

import torch

tensor = torch.tensor([9.6919, -0.6950, 11.8760, 1.6362, 8.3674, 9.2179])

# 先轉(zhuǎn)換為 numpy 數(shù)組,再轉(zhuǎn)換為列表
list_result = tensor.numpy().tolist()

print(list_result)
print(type(list_result))

處理 GPU Tensor

如果 tensor 在 GPU 上,需要先移動(dòng)到 CPU:

import torch

# 假設(shè) tensor 在 GPU 上
tensor_gpu = torch.tensor([9.6919, -0.6950, 11.8760, 1.6362, 8.3674, 9.2179]).cuda()

# 先移動(dòng)到 CPU,再轉(zhuǎn)換為列表
list_result = tensor_gpu.cpu().tolist()

print(list_result)

處理多維 Tensor

import torch

# 二維 tensor
tensor_2d = torch.tensor([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]])

# 轉(zhuǎn)換為嵌套列表
list_2d = tensor_2d.tolist()
print(list_2d)
# 輸出: [[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]]

# 三維 tensor
tensor_3d = torch.tensor([[[1.0, 2.0], [3.0, 4.0]], [[5.0, 6.0], [7.0, 8.0]]])
list_3d = tensor_3d.tolist()
print(list_3d)
# 輸出: [[[1.0, 2.0], [3.0, 4.0]], [[5.0, 6.0], [7.0, 8.0]]]

完整示例

import torch

def tensor_to_list(tensor):
    """
    將 PyTorch tensor 轉(zhuǎn)換為 Python 列表
    """
    if tensor.is_cuda:
        # 如果在 GPU 上,先移動(dòng)到 CPU
        tensor = tensor.cpu()
    
    return tensor.tolist()

# 測(cè)試
tensor = torch.tensor([9.6919, -0.6950, 11.8760, 1.6362, 8.3674, 9.2179])
result = tensor_to_list(tensor)

print("原始 tensor:", tensor)
print("轉(zhuǎn)換后的列表:", result)
print("列表類型:", type(result))
print("列表元素類型:", type(result[0]))

注意事項(xiàng)

.tolist() vs list():

  • .tolist(): 推薦使用,適用于任何維度的 tensor,返回嵌套列表
  • list(): 只適用于一維 tensor,對(duì)于多維 tensor 會(huì)返回 tensor 列表而不是數(shù)值列表

數(shù)據(jù)類型: 轉(zhuǎn)換后的列表元素會(huì)保持 tensor 的數(shù)據(jù)類型(如 float32、float64 等)

性能: 對(duì)于大型 tensor,.tolist() 可能比 list() 稍快

梯度: 如果 tensor 有梯度,.tolist() 會(huì)自動(dòng)處理,只返回?cái)?shù)值

推薦做法

始終使用 .tolist() 方法,因?yàn)樗?/p>

  • 適用于任何維度的 tensor
  • 自動(dòng)處理 CPU/GPU 轉(zhuǎn)換(需要先調(diào)用 .cpu()
  • 代碼更清晰易讀
  • 性能更好
# 最佳實(shí)踐
list_result = tensor.tolist()  # 對(duì)于 CPU tensor
# 或
list_result = tensor.cpu().tolist()  # 對(duì)于可能在 GPU 上的 tensor

到此這篇關(guān)于將PyTorch Tensor轉(zhuǎn)換為Python列表的三種方法的文章就介紹到這了,更多相關(guān)PyTorch Tensor轉(zhuǎn)為Python列表內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Pyhton多線程采集圖片方式

    Pyhton多線程采集圖片方式

    這篇文章主要介紹了Pyhton多線程采集圖片方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • windowns使用PySpark環(huán)境配置和基本操作

    windowns使用PySpark環(huán)境配置和基本操作

    pyspark是Spark對(duì)Python的api接口,可以在Python環(huán)境中通過(guò)調(diào)用pyspark模塊來(lái)操作spark,這篇文章主要介紹了windowns使用PySpark環(huán)境配置和基本操作,感興趣的可以了解一下
    2021-05-05
  • 使用Python實(shí)現(xiàn)輕松調(diào)整視頻的播放速度

    使用Python實(shí)現(xiàn)輕松調(diào)整視頻的播放速度

    這篇文章主要介紹了如何通過(guò) moviepy.editor 中的 VideoFileClip 類和 fx.speedx 函數(shù)實(shí)現(xiàn)輕松地調(diào)整視頻的播放速度,感興趣的可以了解下
    2024-11-11
  • python使用Pandas導(dǎo)出數(shù)據(jù)并保存為CSV文件

    python使用Pandas導(dǎo)出數(shù)據(jù)并保存為CSV文件

    Pandas是Python中用于數(shù)據(jù)分析和處理的強(qiáng)大庫(kù),它提供了靈活高效的數(shù)據(jù)結(jié)構(gòu),如DataFrame和Series,使得對(duì)數(shù)據(jù)的處理變得簡(jiǎn)單易行,在實(shí)際應(yīng)用中,我們經(jīng)常需要將處理后的數(shù)據(jù)保存為CSV,所以本文給大家介紹了python使用Pandas導(dǎo)出數(shù)據(jù)并保存為CSV文件
    2024-12-12
  • Pandas中根據(jù)條件替換列中的值的四種方式

    Pandas中根據(jù)條件替換列中的值的四種方式

    本文主要介紹了Pandas中根據(jù)條件替換列中的值的四種方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • 全面解析python當(dāng)前路徑和導(dǎo)包路徑問(wèn)題

    全面解析python當(dāng)前路徑和導(dǎo)包路徑問(wèn)題

    這篇文章主要為大家介紹了python當(dāng)前路徑和導(dǎo)包路徑問(wèn)題的全面解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • 教你用 Python 實(shí)現(xiàn)微信跳一跳(Mac+iOS版)

    教你用 Python 實(shí)現(xiàn)微信跳一跳(Mac+iOS版)

    這幾天看網(wǎng)上好多微信跳一跳破解了,不過(guò)都是安卓的,無(wú)奈蘋果不是開源也沒(méi)辦法。本文給大家分享用 Python 來(lái)玩微信跳一跳(Mac+iOS版),具體實(shí)現(xiàn)代碼大家參考下本文
    2018-01-01
  • python中小數(shù)點(diǎn)后取2位(四舍五入)及取2位(四舍五不入)的方法

    python中小數(shù)點(diǎn)后取2位(四舍五入)及取2位(四舍五不入)的方法

    這篇文章主要給大家介紹了python中小數(shù)點(diǎn)后取2位(四舍五入)及取2位(四舍五不入)的方法,在Python中取兩位小數(shù)的方法其實(shí)非常簡(jiǎn)單,需要的朋友可以參考下
    2023-08-08
  • Python?對(duì)象拷貝及深淺拷貝區(qū)別的詳細(xì)教程示例

    Python?對(duì)象拷貝及深淺拷貝區(qū)別的詳細(xì)教程示例

    這篇文章主要介紹了Python?對(duì)象拷貝及深淺拷貝區(qū)別的詳細(xì)教程示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • Python Pyqt5多線程更新UI代碼實(shí)例(防止界面卡死)

    Python Pyqt5多線程更新UI代碼實(shí)例(防止界面卡死)

    這篇文章通過(guò)代碼實(shí)例給大家介紹了Python Pyqt5多線程更新UI防止界面卡死的問(wèn)題,代碼簡(jiǎn)單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2021-12-12

最新評(píng)論

玉田县| 中牟县| 礼泉县| 会宁县| 曲阜市| 桐庐县| 剑河县| 霍州市| 石渠县| 张家川| 长岛县| 称多县| 泌阳县| 吉木萨尔县| 淮南市| 岢岚县| 桂林市| 丹凤县| 龙海市| 嘉定区| 乌拉特前旗| 兴城市| 当阳市| 固阳县| 和政县| 鹿泉市| 盐池县| 城口县| 抚宁县| 宜黄县| 平果县| 贵定县| 东乌珠穆沁旗| 清涧县| 镇坪县| 恩平市| 改则县| 句容市| 老河口市| 华池县| 贞丰县|