【PYG】Planetoid中邊存儲的格式,為什么打印前十條邊用edge_index[:, :10]

edge_index 是 PyTorch Geometric 中常用的表示圖邊的張量。它通常是一個形狀為 [2, num_edges] 的二維張量,其中 num_edges 表示圖中邊的數量。每一列表示一條邊,包含兩個節點的索引。

  • 實際上這是COO存儲格式,官方文檔里也有寫,還有一種是鄰接矩陣的存儲格式,兩種方式是可以互相轉換的 https://pytorch-geometric.readthedocs.io/en/latest/get_started/introduction.html

在這里插入圖片描述

edge_index[:, :10] 表示取出 edge_index 張量的前 10 列,即前 10 條邊的節點索引。

在 Python 中,使用切片語法 [:,] 是一種方便的方式來選擇多維數組或張量的特定部分(另外一部分Python語法知識)

程序輸出結果

Data(x=[2708, 1433], edge_index=[2, 10556], y=[2708], train_mask=[2708], val_mask=[2708], test_mask=[2708])
First 10 edges (edge_index[:, :10]):
tensor([[   0,    0,    0,    1,    1,    1,    2,    2,    2,    2],[ 633, 1862, 2582,    2,  652,  654,    1,  332, 1454, 1666]])
edge_index 0: tensor([  0, 633])
edge_index 1: tensor([   0, 1862])
edge_index 2: tensor([   0, 2582])
edge_index 3: tensor([1, 2])
edge_index 4: tensor([  1, 652])
edge_index 5: tensor([  1, 654])
edge_index 6: tensor([2, 1])
edge_index 7: tensor([  2, 332])
edge_index 8: tensor([   2, 1454])
edge_index 9: tensor([   2, 1666])

示例代碼

假設你已經使用 PyTorch Geometric 加載了 Cora 數據集,并且 edge_index 已經被定義,以下代碼展示如何查看前 10 條邊的信息:

import torch
from torch_geometric.datasets import Planetoid
from torch_geometric.transforms import NormalizeFeatures# 加載 Cora 數據集
dataset = Planetoid(root='/tmp/Cora', name='Cora', transform=NormalizeFeatures())# 獲取數據集中的第一個圖
data = dataset[0]# 打印數據集的基本信息
print(data)# 獲取邊索引
edge_index = data.edge_index# 打印前 10 條邊的節點索引
print("First 10 edges (edge_index[:, :10]):")
print(edge_index[:, :10])for i in range(10):print(f"edge_index {i}: {edge_index[:,i]}")

示例輸出

假設 edge_index 的前 10 列如下所示:

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

這表示:

  1. 第一條邊是從節點 0 到節點 1。
  2. 第二條邊是從節點 1 到節點 2。
  3. 第三條邊是從節點 2 到節點 0。
  4. 第四條邊是從節點 3 到節點 4。
  5. 第五條邊是從節點 4 到節點 5。
  6. 第六條邊是從節點 5 到節點 3。
  7. 第七條邊是從節點 6 到節點 7。
  8. 第八條邊是從節點 7 到節點 6。
  9. 第九條邊是從節點 8 到節點 5。
  10. 第十條邊是從節點 9 到節點 8。

解釋

  • edge_index 的形狀為 [2, num_edges],其中 num_edges 表示邊的數量。
  • edge_index[:, :10] 表示取出前 10 條邊的節點索引。
  • 輸出的張量第一行表示每條邊的起始節點,第二行表示每條邊的結束節點。

通過這種方式,你可以方便地查看和理解數據集中邊的表示方式。

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

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

相關文章

Web 品質標準

Web 品質標準 引言 隨著互聯網的快速發展,Web應用已經滲透到我們生活的方方面面。為了確保Web應用的質量,提高用戶體驗,Web品質標準應運而生。這些標準涵蓋了多個方面,包括性能、安全性、可訪問性、用戶體驗等。本文將詳細介紹這些標準,并探討它們在實際開發中的應用。 …

上位機圖像處理和嵌入式模塊部署(mcu 項目1:固件編寫)

【 聲明:版權所有,歡迎轉載,請勿用于商業用途。 聯系信箱:feixiaoxing 163.com】 說完了上位機的開發,接下來就是固件的開發。前面我們說過,目前使用的開發板是極海apm32f103的開發板。它自身包含了iap示例…

一些迷你型信息系統

只有一個表,比較簡單易用; 1 博物館信息查詢系統 信息錄入,瀏覽,添加,更新,刪除; 下載, https://download.csdn.net/download/bcbobo21cn/89505217

中國網絡安全審查認證和市場監管大數據中心數據合規官CCRC-DCO

關于CCRC-DCO證書的頒發機構,它是由中國網絡安全審查認證與市場監管大數據中心(簡稱CCRC)負責。 該中心在2006年得到中央機構編制委員會辦公室的批準成立,隸屬于國家市場監督管理總局,是其直轄的事業單位。 依據《網絡…

計算機的錯誤計算(十八)

摘要 計算機的錯誤計算(四)指出一元二次方程的計算精度問題。本節給出其一種解決方案。 計算機的錯誤計算(四)與(十七)分別指出一元二次方程的求解是具有挑戰性的難題,其出錯原因是因為相減相消…

YOLOv10(7):YOLOv10訓練(以訓練VOC數據集為例)

YOLOv10(1):初探,訓練自己的數據_yolov10 訓練-CSDN博客 YOLOv10(2):網絡結構及其檢測模型代碼部分閱讀_yolov10網絡結構圖-CSDN博客 YOLOv10(4):損失&…

汽車之家論壇評論全面采集實戰指南:Python爬蟲篇

聚焦汽車之家,解鎖評論寶藏 在這個數據為王的時代,每一個角落的信息都可能成為寶貴的洞察來源。汽車之家,作為汽車行業內的權威論壇,其海量的用戶評論不僅是消費者購車的重要參考,也是汽車品牌與市場研究者不可忽視的…

【Android面試八股文】在你之前的Android項目中,你是如何進行性能優化的?

在之前的Android項目中,優化和提升性能是一個重要且常見的任務。 以下是一些常用的性能優化方法和策略: 分析和測量: 使用Android Studio中的Profiling工具(如Profiler、Trace等)進行性能分析,識別CPU、內存和網絡使用情況。使用第三方工具(如Systrace)來分析系統層面…

iOS 練習項目 Landmarks (四):添加 AutoLayout 約束

iOS 練習項目 Landmarks (四):添加 AutoLayout 約束 iOS 練習項目 Landmarks (四):添加 AutoLayout 約束新增 topLabel圖片視圖圓形裁切陰影使用 AutoLayout 為詳情頁的組件添加約束DetailViewControllerDe…

如何在 Logback 和 Log4j 中獲取日志:一個開發者指南

日志記錄是軟件開發中的關鍵實踐,它幫助我們監控應用程序的行為,定位問題并優化性能。在 Java 生態系統中,Logback 和 Log4j 是兩個廣泛使用的日志框架,它們都基于 SLF4J API 提供日志服務。本文將指導你如何在這兩個框架中獲取日…

7-490 將字符串“software“賦給一個字符指針,并從第一個字母開始間隔地輸出該串(簡單字符串)

編程將字符串"software"賦給一個字符指針 然后從第一個字母開始間隔地輸出該串 請用指針法完成。 輸入樣例: 在這里給出一組輸入。例如&#xff1a; 無輸入輸出樣例: 在這里給出相應的輸出。例如&#xff1a; sfwr #include <stdio.h> #include <stri…

Linux環境下快速部署Spring Boot應用:高效命令組合實踐

概要&#xff1a; 本文旨在介紹一種高效的Linux命令組合&#xff0c;用于簡化Spring Boot項目的部署與管理流程。通過結合使用nohup、java -jar、輸出重定向以及進程管理命令&#xff0c;我們能夠實現Spring Boot應用的快速后臺啟動及便捷的進程控制&#xff0c;尤其適合于自動…

什么是 JVM( Java 虛擬機),它在 Java 程序執行中扮演什么角色?

JVM&#xff0c;全稱Java Virtual Machine&#xff0c;中文譯作“Java虛擬機”&#xff0c;它是運行Java程序的軟件環境&#xff0c;也是Java語言的核心部分之一。 想象一下&#xff0c;如果你是一位環球旅行家&#xff0c;每到一個新的國家&#xff0c;都需要學習當地的語言才…

【Linux】初識操作系統

一、馮?諾依曼體系結構 在學習操作系統之前&#xff0c;我們先來認識一下馮?諾依曼體系結構&#xff0c;我們常見的計算機&#xff0c;如筆記本。我們不常見的計算機&#xff0c;如服務器&#xff0c;大部分都遵守馮諾依曼體系。 截至目前&#xff0c;我們所認識的計算機&am…

神經網絡訓練(一):基于殘差連接的圖片分類網絡(ResNet18)

目錄 一、簡介:二、圖片分類網絡1.記載訓練數據(torch自帶的cifa10數據集)2.數據增強3.模型構建4.模型訓練三、完整源碼及文檔一、簡介: 基于殘差連接的圖片分類網絡,本網絡使用ResNet18作為基礎模塊,根據cifa10的特點進行改進網絡,使用交叉熵損失函數和SGD優化器。本網…

使用pyqt5編寫一個七彩時鐘

使用pyqt5編寫一個七彩時鐘 效果代碼解析定義 RainbowClockWindow 類初始化用戶界面顯示時間方法 完整代碼 在這篇博客中&#xff0c;我們將使用 PyQt5 創建一個簡單的七彩數字時鐘。 效果 代碼解析 定義 RainbowClockWindow 類 class RainbowClockWindow(QMainWindow):def _…

【TB作品】溫濕度監控系統設計,ATMEGA16單片機,Proteus仿真

題2:溫濕度監控系統設計 功能要求: 1)開機顯示時間(小時、分)、時分可修改; 2)用兩個滑動變阻器分別模擬溫度傳感器(測量范 圍0-100度)與濕度傳感器(0-100%),通過按鍵 可以在數碼管切換顯示當前溫度值、濕度值; 3)當溫度低于20度時,紅燈長亮; 4)當濕度高于70%時,黃燈長亮; 5)當…

安卓實現微信聊天氣泡

一搜沒一個能用的&#xff0c;我來&#xff1a; 布局文件&#xff1a; <?xml version"1.0" encoding"utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android"http://schemas.android.com/apk/res/android"xml…

Tech Talk:智能電視eMMC存儲的五問五答

智能電視作為搭載操作系統的綜合影音載體&#xff0c;以穩步擴大的市場規模走入越來越多的家庭&#xff0c;成為人們生活娛樂的重要組成部分。存儲部件是智能電視不可或缺的組成部分&#xff0c;用于保存操作系統、應用程序、多媒體文件和用戶數據等信息。智能電視使用eMMC作為…

vue3中使用Antv G6渲染樹形結構并支持節點增刪改

寫在前面 在一些管理系統中&#xff0c;會對組織架構、級聯數據等做一些管理&#xff0c;你會怎么實現呢&#xff1f;在經過調研很多插件之后決定使用 Antv G6 實現&#xff0c;文檔也比較清晰&#xff0c;看看怎么實現吧&#xff0c;先來看看效果圖。點擊在線體驗 實現的功能…