#deep-learning #pytorch #copy #clone
Вопрос:
Мне нужно повторно создать несколько модулей, которые полностью совпадают.
В следующем коде я заполняю два одинаковых списка N одинаковыми модулями.
MIM_N_cell = []
MIM_S_cell = []
for i in range(self.num_layers - 1):
new_MIM_N_cell = MIM_NS_cell(input_dim=self.hidden_dim,
hidden_dim=self.hidden_dim,
kernel_size=self.kernel_size,
model_cfg=model_cfg)
new_MIM_S_cell = MIM_NS_cell(input_dim=self.hidden_dim,
hidden_dim=self.hidden_dim,
kernel_size=self.kernel_size,
model_cfg=model_cfg)
MIM_N_cell.append(new_MIM_N_cell)
MIM_S_cell.append(new_MIM_S_cell)
self.MIM_N_cell = nn.ModuleList(MIM_N_cell)
self.MIM_S_cell = nn.ModuleList(MIM_S_cell)
Должен ли я использовать .clone()
вместо создания нового модуля каждый раз?
Я предполагаю, что клонирование может быть быстрее, но я не знаю о побочных эффектах этого. Если его стоит клонировать, как его безопасно использовать (т. Е. Не изменять поведение сети при обучении/тестировании)