張量索引操作

一.前言

本期我們來說一下張量的索引操作,需要掌握張量不同索引操作,我們在操作張量時,經常需要去進?獲取或者修改操作,掌握張量的花式索引操作是必須的?項能?。

二.簡單行、列索引

import torchdata = torch.randint(0, 10, [4, 5])
print(data)
print('-' * 50)def test01():print(data[0])  #取行print(data[:, 0]) #取列print('-' * 50)if __name__ == '__main__':test01()

結果展示:

tensor([[5, 2, 1, 3, 0],
[1, 7, 3, 9, 1],
[9, 3, 4, 8, 4],
[0, 3, 3, 1, 1]])
--------------------------------------------------
tensor([5, 2, 1, 3, 0])
tensor([5, 1, 9, 0])
--------------------------------------------------?

三.列表索引

import torchdata = torch.randint(0, 10, [4, 5])
print(data)
print('-' * 50)def test02():# 返回 (0, 1)、(1, 2) 兩個位置的元素print(data[[0, 1], [1, 2]])print('-' * 50)# 返回 0、1 ?的 1、2 列共4個元素print(data[[[0], [1]], [1, 2]])if __name__ == '__main__':test02()

結果展示:

tensor([[3, 8, 7, 5, 6],
[3, 4, 4, 2, 4],
[3, 7, 0, 1, 5],
[5, 6, 8, 5, 8]])
--------------------------------------------------
tensor([8, 4])
--------------------------------------------------
tensor([[8, 7],
[4, 4]])?

四.索引范圍?

import torchdata = torch.randint(0, 10, [4, 5])
print(data)
print('-' * 50)# 3. 范圍索引
def test03():# 前3?的前2列數據print(data[:3, :2])# 第2?到最后的前2列數據print(data[2:, :2])if __name__ == '__main__':test03()

結果展示:

?tensor([[4, 7, 1, 8, 5],
[4, 4, 8, 7, 0],
[1, 4, 3, 8, 8],
[7, 0, 1, 7, 1]])
--------------------------------------------------
tensor([[4, 7],
[4, 4],
[1, 4]])
tensor([[1, 4],
[7, 0]])

五.布爾索引?

import torchdata = torch.randint(0, 10, [4, 5])
print(data)
print('-' * 50)# 布爾索引
def test():# 第2列?于5的?數據print(data[data[:, 2] > 5])# 第1??于5的列數據print(data[:, data[1] > 5])if __name__ == '__main__':test()

結果展示:

tensor([[2, 4, 2, 2, 3],
[7, 8, 3, 8, 6],
[8, 4, 5, 4, 1],
[7, 5, 8, 7, 0]])
--------------------------------------------------
tensor([[7, 5, 8, 7, 0]])
tensor([[2, 4, 2, 3],
[7, 8, 8, 6],
[8, 4, 4, 1],
[7, 5, 7, 0]])?

六.多維索引

import torch# 布爾索引
def test05():data = torch.randint(0, 10, [3, 4, 5])print(data)print('-' * 50)print(data[0, :, :])print(data[:, 0, :])print(data[:, :, 0])if __name__ == '__main__':test05()

結果展示:

tensor([[[7, 4, 2, 3, 5],
[6, 1, 2, 1, 0],
[8, 2, 2, 4, 3],
[3, 5, 4, 5, 8]],

? ? ? ? [[8, 4, 9, 8, 2],
[1, 3, 5, 8, 1],
[2, 3, 0, 6, 6],
[7, 2, 4, 7, 9]],

? ? ? ? [[8, 8, 1, 7, 2],
[8, 9, 9, 2, 6],
[6, 5, 3, 0, 4],
[9, 8, 1, 2, 1]]])
--------------------------------------------------
tensor([[7, 4, 2, 3, 5],
[6, 1, 2, 1, 0],
[8, 2, 2, 4, 3],
[3, 5, 4, 5, 8]])
tensor([[7, 4, 2, 3, 5],
[8, 4, 9, 8, 2],
[8, 8, 1, 7, 2]])
tensor([[7, 6, 8, 3],
[8, 1, 2, 7],
[8, 8, 6, 9]])

七.總結?

列表的索引和numpy取值是基本一樣的,大家把代碼自己運行一遍就差不多就知道了。?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/88655.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/88655.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/88655.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

docker 啟動中間件

docker 啟動 MySQL # 創建目錄 mkdir -p /Users/dongdong/software/mysql/{conf,data}docker run -d \ -p 3306:3306 \ -v /Users/dongdong/software/mysql/conf:/etc/mysql/conf.d \ -v /Users/dongdong/software/mysql/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORDroot \ -…

如何批量旋轉視頻90度?

用相機拍攝視頻的時候,原本是豎直拍的,但是放到電腦里面看的時候,卻變成了橫版的。如果我們需要放到剪映或者其他軟件做剪輯的時候,一個一個去旋轉視頻會比較麻煩,這里,我們可以事先用.bat文件批處理的方式…

(2025)IDEA 下載與安裝保姆級指南

目錄 一、下載 IntelliJ IDEA (一)訪問官方網站 (二)選擇版本 (三)下載安裝包 二、安裝 IntelliJ IDEA (一)運行安裝程序 (二)選擇安裝語言 &#xf…

【CV綜合實戰】基于深度學習的工業壓力表智能檢測與讀數系統【1】壓力表位置檢測

《------往期經典推薦------》 一、AI應用軟件開發實戰專欄【鏈接】 項目名稱項目名稱1.【人臉識別與管理系統開發】2.【車牌識別與自動收費管理系統開發】3.【手勢識別系統開發】4.【人臉面部活體檢測系統開發】5.【圖片風格快速遷移軟件開發】6.【人臉表表情識別系統】7.【…

性能狂飆 Gooxi 8卡5090服務器重新定義高密度算力

國鑫Intel Eagle Stream平臺8卡RTX5090AI服務器性能到底有多強?小編一文帶你看懂個中奧妙。國鑫Intel Eagle Stream平臺8卡RTX5090AI服務器如圖,國鑫Intel Eagle Stream平臺8卡RTX5090AI服務器(SY6108G-G4)只有6U高度,…

零基礎掌握Go語言需要多久?報班的話哪家好?

大家有沒有發現,近年來,Go語言越來越受歡迎了,TIOBE榜單中,Go現在已經穩居前10了。 尤其在云計算、區塊鏈、微服務等領域,Go語言更是“欽點語言”,很多大廠也都在積極使用Go語言,薪資待遇更是連…

【網絡】Linux 內核優化實戰 - net.ipv4.tcp_no_metrics_save

目錄一、TCP連接指標緩存的作用二、tcp_no_metrics_save的取值及含義三、適用場景與影響推薦啟用緩存(值為0)的場景:推薦禁用緩存(值為1)的場景:實際影響:四、如何查看和修改參數1. 查看當前值2…

13. G1垃圾回收器

1. JVM介紹和運行流程-CSDN博客 2. 什么是程序計數器-CSDN博客 3. java 堆和 JVM 內存結構-CSDN博客 4. 虛擬機棧-CSDN博客 5. JVM 的方法區-CSDN博客 6. JVM直接內存-CSDN博客 7. JVM類加載器與雙親委派模型-CSDN博客 8. JVM類裝載的執行過程-CSDN博客 9. JVM垃圾回收…

算法學習筆記:13.歸并排序——從原理到實戰,涵蓋 LeetCode 與考研 408 例題

歸并排序是一種基于分治策略的經典排序算法,由約翰?馮?諾依曼在 1945 年提出。它以穩定的 O (nlogn) 時間復雜度和良好的可并行性,在大規模數據排序場景中占據重要地位。與快速排序的 “先分區后排序” 不同,歸并排序采用 “先排序后合并”…

Kotlin基礎學習記錄

變量和函數 變量 // val為常量,一旦賦值就不可變 val a 10 val a: Int 10 a 3 // 報錯// var為變量 var a 10 a 3 var b: Int 20 b 2函數fun add(a: Int, b: Int): Unit {a b // 報錯,參數默認val }fun add(a: Int, b: Int) {var x: Int ax b …

【C#】GraphicsPath的用法

在 C# 中,GraphicsPath 是 GDI 提供的一個非常強大的類,用于創建和操作復雜圖形路徑。它可以用來繪制直線、曲線、多邊形等形狀,并支持判斷點是否在路徑內或路徑的輪廓上。一、基本概念GraphicsPath 類功能:添加各種幾何圖形&…

C語言32個關鍵字

文章目錄數據類型1、數據類型(12個)控制語句2、控制語句關鍵字(12個)存儲類型3、存儲類型關鍵字(4個)其他關鍵字4、其他關鍵字(4個)?一共32個關鍵字分為 數據類型 1、數據類型&am…

粒子濾波|粒子濾波的相關算法理論介紹

在自動控制、導航、目標跟蹤等眾多領域,系統狀態估計是獲取真實狀態的關鍵環節。由于觀測信號常受噪聲干擾,濾波技術成為提取可靠信息的核心手段。本文將圍繞目標跟蹤技術中的濾波算法理論展開,重點解析粒子濾波框架的原理與應用。一、動態系…

Jenkins+Gitee+Docker容器化部署

寫在前文 本文主要是通過Jenkins的maven項目版本GiteeDocker-maven插件來進行部署的,本文沒有使用dockerfile/docker-compose。 本文默認已經安裝了Docker 1、安裝Jenkins Step1、創建文件夾當作映射jenkins的home文件夾 mkdir /app/jenkins Step2、賦權&#xff…

[Meetily后端框架] 多模型-Pydantic AI 代理-統一抽象 | SQLite管理

第5章:人工智能模型交互(Pydantic-AI 代理) 歡迎回來! 在上一章第四章:文字記錄處理邏輯中,我們學習了TranscriptProcessor如何將冗長的會議記錄分解為稱為"塊"的較小片段,因為人工…

利用DeepSeek實現rust調用duckdb動態鏈接庫的duckdb CLI

提示詞:請用rust調用duckdb-rs實現一個duckdb CLI,支持語法突出顯示和計時,還支持命令行管道輸入輸出 Cargo.toml [package] name "duckdb-cli" version "0.1.0" edition "2024"[dependencies] duckdb "1.3.1&qu…

C++,從匯編角度看《虛擬繼承的邪惡》

刷到一篇文章&#xff1a; 作者&#xff1a; 原文&#xff1a;虛擬繼承的邪惡 討論到這樣的一個程序&#xff0c;最終輸出什么&#xff1f;&#xff1f;&#xff1f; 代碼有簡化命名 using namespace std;class A { public:A(int a 0) : v(a) {};int v; };template <type…

多 Agent 強化學習實踐指南(一):CTDE PPO 在合作捕食者-獵物游戲中的應用詳解

我們來詳細講解如何在合作捕食者-獵物游戲中結合 PPO (Proximal Policy Optimization) 算法。我們將聚焦于 CTDE&#xff08;Centralized Training, Decentralized Execution&#xff0c;集中訓練、分散執行&#xff09; 模式&#xff0c;因為這是處理合作多 Agent 任務的常用且…

Web應用文件上傳安全設計指南

引言 在當今的Web應用中&#xff0c;文件上傳功能已成為基礎且必要的服務能力&#xff0c;但不當的設計可能帶來目錄遍歷、代碼注入、服務端資源耗盡等安全風險。本文從威脅模型、安全設計原則、技術實現三個維度&#xff0c;系統闡述安全文件上傳架構的設計要點。 一、威脅模型…

用 React Three Fiber 實現 3D 城市模型的擴散光圈特效

本文介紹了如何使用 React Three Fiber&#xff08;R3F&#xff09;和 Three.js 實現一個從中心向外擴散的光圈特效&#xff08;DiffuseAperture 組件&#xff09;&#xff0c;并將其集成到城市 3D 模型&#xff08;CityModel 組件&#xff09;中。該特效通過動態調整圓柱幾何體…