Я новичок в Pytorch и python, я искал в качестве некоторых примеров кодов и
Мне интересно использование d
в следующих кодах:
def train_and_eval(self):
self.entity_idxs = {d.entities[i]:i for i in range(len(d.entities))}
self.relation_idxs = {d.relations[i]:i for i in range(len(d.relations))}
в d.entities [i] я нигде не видел код, где определено d.
Так что бы это могло значить? можешь объяснить коды? Я не знаю, ясен ли мой вопрос или нет, пожалуйста, спросите, нужна ли вам дополнительная справка.
Я также могу показать начало кода:
class Experiment:
def __init__(self, learning_rate=0.0005, ent_vec_dim=200, rel_vec_dim=200,
num_iterations=500, batch_size=128, decay_rate=0., cuda=False,
input_dropout=0.3, hidden_dropout1=0.4, hidden_dropout2=0.5,
label_smoothing=0.):
self.learning_rate = learning_rate
self.ent_vec_dim = ent_vec_dim
self.rel_vec_dim = rel_vec_dim
self.num_iterations = num_iterations
self.batch_size = batch_size
self.decay_rate = decay_rate
self.label_smoothing = label_smoothing
self.cuda = cuda
self.kwargs = {"input_dropout": input_dropout, "hidden_dropout1": hidden_dropout1,
"hidden_dropout2": hidden_dropout2}
def get_data_idxs(self, data):
data_idxs = [(self.entity_idxs[data[i][0]], self.relation_idxs[data[i][1]], \
self.entity_idxs[data[i][2]]) for i in range(len(data))]
return data_idxs
Вы видите, что здесь они использовали self.entity_idxs
в первом методе класса, и он нигде не был определен. и это снова было использовано позже в классе, который является первым фрагментом кода, который я предоставил.