[英]calling function from class inner another class
我有類配置內部類預處理器,我想調用 get_data 函數
from torch_geometric.datasets import Planetoid
from torch_geometric.data import DataLoader
class Preprocess():
class config():
root_dir = './data/'
batch_size = 1
hidden_dim = 16
dropout_rate = 0.5
l2_reg = 5*10e-4
learning_rate = 0.01
epochs = 200
loss_type = 'cross_entropy' # or nll_loss
def __init__(self, config, d_name):
self.root_dir = config.root_dir
self.batch_size = config.batch_size
self.cora = Planetoid(root='./data/cora', name='Cora')
#self.citeseer = Planetoid(root='./data/citeseer', name='CiteSeer')
#self.pubmed = Planetoid(root='./data/pubmed', name='PubMed')
self.num_classes, self.num_node_features, self.data = self.get_data(d_name)
def get_data(self, d_name):
'''
d_name = 'Cora', 'CiteSeer', 'PubMed'
'''
dataset = Planetoid(root=self.root_dir + d_name , name=d_name)
return dataset.num_classes, dataset.num_node_features, DataLoader(dataset, batch_size = self.batch_size)
f=Preprocess(config, Cora)
f.get_data(Cora)
但我有錯誤: NameError: name 'config' is not defined
您需要使用 Preprocess.config 或 self.config 來訪問配置類
你需要把 Preprocess.config 因為那是它定義的地方
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.