Разница в реализации в зависимости от того, возвращается ли вычисленное выражение напрямую или сначала сохраняется в перPython

Программы на Python
Anonymous
Разница в реализации в зависимости от того, возвращается ли вычисленное выражение напрямую или сначала сохраняется в пер

Сообщение Anonymous »

Есть ли разница между следующими двумя реализациями в зависимости от вычислительной производительности и потребления памяти?

Разница заключается в том, чтобы сначала сохранить промежуточные вычисления в отдельной переменной (S_corrected) или нет.

1)
def step(self, data_deriv: npt.NDArray) -> npt.NDArray:
self.t += 1
self.S = self.beta * self.S + (1 - self.beta) * data_deriv ** 2
return data_deriv / np.sqrt((self.S / (1 - self.beta ** self.t)) + self.epsilon)

и

2)
def step(self, data_deriv: npt.NDArray) -> npt.NDArray:
self.t += 1
self.S = self.beta * self.S + (1 - self.beta) * data_deriv ** 2
S_corrected = (self.S / (1 - self.beta ** self.t))
return data_deriv / np.sqrt(S_corrected + self.epsilon)


Подробнее здесь: https://stackoverflow.com/questions/784 ... is-returne

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