中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

重慶建設(shè)摩托車質(zhì)量怎么樣seo入門版

重慶建設(shè)摩托車質(zhì)量怎么樣,seo入門版,網(wǎng)站公安備案一定要備案嗎,清風(fēng)室內(nèi)設(shè)計(jì)培訓(xùn)學(xué)校到目前為止,我們已經(jīng)為節(jié)點(diǎn)分類任務(wù)單獨(dú)以全批方式訓(xùn)練了圖神經(jīng)網(wǎng)絡(luò)。特別是,這意味著每個(gè)節(jié)點(diǎn)的隱藏表示都是并行計(jì)算的,并且可以在下一層中重復(fù)使用。 然而,一旦我們想在更大的圖上操作,由于內(nèi)存消耗爆炸&#xff0c…

???????到目前為止,我們已經(jīng)為節(jié)點(diǎn)分類任務(wù)單獨(dú)以全批方式訓(xùn)練了圖神經(jīng)網(wǎng)絡(luò)。特別是,這意味著每個(gè)節(jié)點(diǎn)的隱藏表示都是并行計(jì)算的,并且可以在下一層中重復(fù)使用。

???????然而,一旦我們想在更大的圖上操作,由于內(nèi)存消耗爆炸,這種方案就不再可行。例如,一個(gè)具有大約1000萬(wàn)個(gè)節(jié)點(diǎn)和128個(gè)隱藏特征維度的圖已經(jīng)為每層消耗了大約5GB的GPU內(nèi)存

???????因此,最近有一些努力讓圖神經(jīng)網(wǎng)絡(luò)擴(kuò)展到更大的圖。其中一種方法被稱為Cluster-GCN (Chiang et al. (2019),它基于將圖預(yù)先劃分為子圖,可以在子圖上以小批量的方式進(jìn)行操作。

???????為了展示,讓我們從 Planetoid 節(jié)點(diǎn)分類基準(zhǔn)套件(Yang et al. (2016))中加載PubMed 圖:

import torch
from torch_geometric.datasets import Planetoid
from torch_geometric.transforms import NormalizeFeaturesdataset = Planetoid(root='data/Planetoid', name='PubMed', transform=NormalizeFeatures())print()
print(f'Dataset: {dataset}:')
print('==================')
print(f'Number of graphs: {len(dataset)}')
print(f'Number of features: {dataset.num_features}')
print(f'Number of classes: {dataset.num_classes}')data = dataset[0]  # Get the first graph object.print()
print(data)
print('===============================================================================================================')# Gather some statistics about the graph.
print(f'Number of nodes: {data.num_nodes}')
print(f'Number of edges: {data.num_edges}')
print(f'Average node degree: {data.num_edges / data.num_nodes:.2f}')
print(f'Number of training nodes: {data.train_mask.sum()}')
print(f'Training node label rate: {int(data.train_mask.sum()) / data.num_nodes:.3f}')
print(f'Has isolated nodes: {data.has_isolated_nodes()}')
print(f'Has self-loops: {data.has_self_loops()}')
print(f'Is undirected: {data.is_undirected()}')

在這里插入圖片描述
???????可以看出,該圖大約有19717個(gè)節(jié)點(diǎn)。雖然這個(gè)數(shù)量的節(jié)點(diǎn)應(yīng)該可以輕松地放入GPU內(nèi)存,但它仍然是一個(gè)很好的例子,可以展示如何在PyTorch Geometric中擴(kuò)展GNN。

???????Cluster-GCN的工作原理是首先基于圖劃分算法將圖劃分為子圖。因此,GNN被限制為僅在其特定子圖內(nèi)進(jìn)行卷積,從而省略了鄰域爆炸的問(wèn)題。
在這里插入圖片描述
???????然而,在對(duì)圖進(jìn)行分區(qū)后,會(huì)刪除一些鏈接,這可能會(huì)由于有偏差的估計(jì)而限制模型的性能。為了解決這個(gè)問(wèn)題,Cluster-GCN還將類別之間的連接合并到一個(gè)小批量中,這導(dǎo)致了以下隨機(jī)劃分方案
在這里插入圖片描述

???????這里,顏色表示每批維護(hù)的鄰接信息(對(duì)于每個(gè)epoch可能不同)。PyTorch Geometric提供了Cluster-GCN算法的兩階段實(shí)現(xiàn)

  1. ClusterData 將一個(gè) Data 對(duì)象轉(zhuǎn)換為包含num_parts分區(qū)的子圖的數(shù)據(jù)集。
  2. 給定一個(gè)用戶定義的batch_size, ClusterLoader 實(shí)現(xiàn)隨機(jī)劃分方案以創(chuàng)建小批量。

然后,制作小批量的程序如下:

from torch_geometric.loader import ClusterData, ClusterLoadertorch.manual_seed(12345)
cluster_data = ClusterData(data, num_parts=128)  # 1. Create subgraphs.
train_loader = ClusterLoader(cluster_data, batch_size=32, shuffle=True)  # 2. Stochastic partioning scheme.print()
total_num_nodes = 0
for step, sub_data in enumerate(train_loader):print(f'Step {step + 1}:')print('=======')print(f'Number of nodes in the current batch: {sub_data.num_nodes}')print(sub_data)print()total_num_nodes += sub_data.num_nodesprint(f'Iterated over {total_num_nodes} of {data.num_nodes} nodes!')

在這里插入圖片描述

???????在這里,我們將初始圖劃分為128個(gè)分區(qū),并使用32個(gè)子圖batch_size來(lái)形成mini-batches(每個(gè)epoch4批)。正如我們所看到的,在一個(gè)epoch之后,每個(gè)節(jié)點(diǎn)都被精確地看到了一次。

???????Cluster-GCN的偉大之處在于它不會(huì)使GNN模型的實(shí)現(xiàn)復(fù)雜化。我們構(gòu)造如下一個(gè)簡(jiǎn)單模型:
在這里插入圖片描述
???????這種圖神經(jīng)網(wǎng)絡(luò)的訓(xùn)練與用于圖分類任務(wù)的圖神經(jīng)網(wǎng)絡(luò)訓(xùn)練非常相似。我們現(xiàn)在不再以全批處理的方式對(duì)圖進(jìn)行操作,而是對(duì)每個(gè)小批進(jìn)行迭代,并相互獨(dú)立地優(yōu)化每個(gè)批:

model = GCN(hidden_channels=16)
optimizer = torch.optim.Adam(model.parameters(), lr=0.01, weight_decay=5e-4)
criterion = torch.nn.CrossEntropyLoss()def train():model.train()for sub_data in train_loader:  # Iterate over each mini-batch.out = model(sub_data.x, sub_data.edge_index)  # Perform a single forward pass.loss = criterion(out[sub_data.train_mask], sub_data.y[sub_data.train_mask])  # Compute the loss solely based on the training nodes.loss.backward()  # Derive gradients.optimizer.step()  # Update parameters based on gradients.optimizer.zero_grad()  # Clear gradients.def test():model.eval()out = model(data.x, data.edge_index)pred = out.argmax(dim=1)  # Use the class with highest probability.accs = []for mask in [data.train_mask, data.val_mask, data.test_mask]:correct = pred[mask] == data.y[mask]  # Check against ground-truth labels.accs.append(int(correct.sum()) / int(mask.sum()))  # Derive ratio of correct predictions.return accsfor epoch in range(1, 51):loss = train()train_acc, val_acc, test_acc = test()print(f'Epoch: {epoch:03d}, Train: {train_acc:.4f}, Val Acc: {val_acc:.4f}, Test Acc: {test_acc:.4f}')

在這里插入圖片描述
???????在本文中,我們向您介紹了一種將 scale GNNs to large graphs的方法,否則這些圖將不適合GPU內(nèi)存。

本文內(nèi)容參考:PyG官網(wǎng)

http://www.risenshineclean.com/news/62341.html

相關(guān)文章:

  • 幫詐騙公司做網(wǎng)站企業(yè)網(wǎng)站推廣技巧
  • 阜寧做網(wǎng)站的價(jià)格怎么推廣自己的網(wǎng)站
  • php 網(wǎng)站 項(xiàng)目cilimao磁力貓搜索引擎
  • wordpress手機(jī)評(píng)論百度seo新站優(yōu)化
  • swiper做的網(wǎng)站百度網(wǎng)頁(yè)版瀏覽器入口
  • 青島做網(wǎng)站費(fèi)用廚師培訓(xùn)機(jī)構(gòu)
  • 平臺(tái)企業(yè)采用勞務(wù)派遣方式用工的seo的形式有哪些
  • 網(wǎng)站自做書本永久免費(fèi)的網(wǎng)站服務(wù)器有哪些軟件
  • 建設(shè)一個(gè)網(wǎng)站的步驟有哪些網(wǎng)絡(luò)推廣公司怎么找客戶
  • 百度搜索網(wǎng)站介紹杭州上城區(qū)抖音seo有多好
  • 做網(wǎng)站優(yōu)化哪家公司好關(guān)鍵詞自動(dòng)優(yōu)化
  • 合肥知名網(wǎng)站制作上海關(guān)鍵詞優(yōu)化排名哪家好
  • 松原網(wǎng)站建設(shè)網(wǎng)站建設(shè)的好公司
  • 做網(wǎng)站網(wǎng)頁(yè)掙錢不免費(fèi)刷seo
  • 深圳做網(wǎng)站公司地點(diǎn)十大免費(fèi)網(wǎng)站推廣平臺(tái)
  • 百度搜索量seo要點(diǎn)
  • 圖床網(wǎng)站怎么做廣州seo團(tuán)隊(duì)
  • 石家莊高鐵站123網(wǎng)址之家
  • 秦皇島網(wǎng)站制作方案電商網(wǎng)站怎樣優(yōu)化
  • 網(wǎng)站建設(shè)公司的網(wǎng)銷好做嗎百度輸入法免費(fèi)下載
  • wordpress使用步驟杭州seo網(wǎng)站推廣排名
  • 云南房產(chǎn)網(wǎng)站建設(shè)seo的理解
  • 鹽城z做網(wǎng)站上海專業(yè)的seo公司
  • 專業(yè)網(wǎng)站建設(shè)策劃網(wǎng)絡(luò)營(yíng)銷和網(wǎng)絡(luò)推廣
  • 做測(cè)算的網(wǎng)站影視后期培訓(xùn)機(jī)構(gòu)全國(guó)排名
  • 湖南網(wǎng)站建設(shè) 真好磐石網(wǎng)絡(luò)免費(fèi)推廣網(wǎng)址
  • 山東青島網(wǎng)站建設(shè)樂(lè)天seo視頻教程
  • 做門窗投標(biāo)網(wǎng)站優(yōu)化模型
  • 小學(xué)課程建設(shè)網(wǎng)站目標(biāo)新網(wǎng)域名查詢
  • 百度免費(fèi)做網(wǎng)站百度在線使用網(wǎng)頁(yè)版