Как я могу получить выходные данные метода из класса, не изменяя исходный код Python?Python

Программы на Python
Ответить
Anonymous
 Как я могу получить выходные данные метода из класса, не изменяя исходный код Python?

Сообщение Anonymous »

Я пытаюсь получить и сохранить выходные данные класса из модели и сохранить их в файл, но не могу изменить исходный код.
Для получения дополнительной информации: я работаю с моделью MOGONET (https://github.com/txWang/MOGONET), и я хочу сохранить числовое представление моих данных для создания uMAP. Эта информация (я думаю) выводится классом GCN_E в файле models.py. Я вообще не хочу менять исходный код.
Я хотел бы сохранить здесь x:

Код: Выделить всё

class GCN_E(nn.Module):
def __init__(self, in_dim, hgcn_dim, dropout):
super().__init__()
self.gc1 = GraphConvolution(in_dim, hgcn_dim[0])
self.gc2 = GraphConvolution(hgcn_dim[0], hgcn_dim[1])
self.gc3 = GraphConvolution(hgcn_dim[1], hgcn_dim[2])
self.dropout = dropout
def forward(self, x, adj):
x = self.gc1(x, adj)
x = F.leaky_relu(x, 0.25)
x = F.dropout(x, self.dropout, training=self.training)
x = self.gc2(x, adj)
x = F.leaky_relu(x, 0.25)
x = F.dropout(x, self.dropout, training=self.training)
x = self.gc3(x, adj)
x = F.leaky_relu(x, 0.25)

return x
В идеале я хотел бы написать новый файл Python, который вызывает main_MOGONET.py для выполнения кода как есть, но сохранить выходные данные класса GCN_E в отдельном файле.
Поиск в Google дал мне такие предложения, как крючки и исправления обезьян, но я не уверен, какой способ лучше всего сделать и возможно ли это вообще.
Буду благодарен за что-нибудь помогите.

Подробнее здесь: https://stackoverflow.com/questions/791 ... g-the-orig
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»