728x90
문제 class GNNs(torch.nn.Module): def __init__(self, dataset): super().__init__() self.data = dataset self.conv1 = GCNConv(dataset.num_node_features, 32) self.conv2 = GCNConv(32, dataset.num_classes) def forward(self, data): x, edge_index = data.x, data.edge_index x = self.conv1(x, edge_index) x = F.leaky_relu(x) x = self.conv2(x, edge_index) return F.softmax(x, dim=1) cora_model = GNNs(cora_datas..
들어가기에 앞서 이 글은 신원용교수님 수업의 과제를 수행하며 정리한 글임을 밝힙니다. 데이터 준비 1. 필요한 라이브러리 import import torch import torch.nn.functional as F from torch_geometric.datasets import Planetoid, CoraFull, Actor from torch_geometric.nn import GCNConv 2. 데이터 셋 불러오기 # Load the Cora dataset cora_dataset = Planetoid(root='/tmp/Cora', name='Cora') cora_data = cora_dataset[0] # Load the Corafull dataset corafull_..
1. 랜덤 인덱스 순열 만들기 a = torch.tensor([1,2,3,4]) idx = 4 # 섞을 torch 길이 rand_idx = torch.randperm(idx) torch.randperm(n) : 0 ~ (n-1) 사이의 값이 랜덤하게 들어있는 tensor를 출력한다. 2. 생성한 리스트의 인덱스에 맞게 원래의 tensor 섞기 shuffle_tensor = a[rand_idx] 결과
Reference : https://pytorch-geometric.readthedocs.io/en/latest/ PyG Documentation — pytorch_geometric documentation © Copyright 2023, PyG Team. Revision 688c7541. pytorch-geometric.readthedocs.io PyG는 PyTorch에 기반해 만들어진 라이브러리로 구조적 데이터와 관련된 광범위한 어플리케이션들을 위한 GNNs를 쉽게 쓰고 훈련시키는걸 도와줍니다. 출처: https://www.pyg.org/ What is PyG? 이 라이브러리를 처음 설치할 때 버전 확인을 제대로 안해서 한참을 헤매느라 시간을 많이 뺏겼다ㅠㅜ 역시 늘 느끼지만 setting이 제일 어..
1. Anaconda에 새로운 가상환경 만들기 및 삭제하기 conda create -n [새 가상환경명] python=[원하는 파이썬버전] 원하는 파이썬 버전을 골라 새 가상환경을 만들고 잘 만들어졌는지 리스트를 확인해보자 나는 python 3.11을 설치해봤다. conda env list 잘 만들어졌다면 다음 명령어로 새 가상환경을 활성화 한다. conda activate [새 가상환경명] 그럼 (base) 가 (nenv)로 바뀐 걸 잘 확인할 수 있다. 비활성화 하는 명령어는 다음과 같다. conda deactivate 가상환경을 삭제하는 명령어 conda remove -n [삭제할 가상환경명] --all 2. Jupyter Notebook에 아나콘다 가상환경 커널 추가하기 지금 커널에는 기본 커널인..
SQLite를 사용해야 하는 이유 🔗참고 링크: "SQLite를 사용해야 하는 이유" 1. SQLite 내장 가능한 오픈소스 데이터 베이스 C로 작성 일반적 SQL 쿼리 가능 빠른 속도, 이식성, 안정성 제공 2. SQLite의 사용 환경 거의 어디에서나 실행 가능 윈도우, 맥OS, 리눅스, iOS, 안드로이드를 비롯한 다양한 플랫폼에 이식 대상에 맞는 SQLite가 있거나 C 소스코드를 타겟으로 이식할 방법이 존재함 간단한 배포 SQLite의 바이너리는 그 자체로 완성되어 있으므로 배포를 위한 특별한 방법이 필요 없음 그냥 애플리케이션과 동일한 디렉토리에 넣으면 됨 SQLite를 위한 고수준 바인딩 많은 언어에는 SQLite를 위한 고수준 바인딩이 라이브러리로 존재 이 라이브러리를 해당 언어를 위한 다..