簡體   English   中英

從另一個類內部的類調用函數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM