Я бы хотел изменить массив NumPy и отправить его в нейронную сеть для прогнозирования, вместо того, чтобы вызывать reshape
и создать новый объект (который должен быть дорогим). Я хотел бы иметь более быстрый код - сохранить функцию "private" в переменной /объект правильной формы и просто скопировать значения в этот объект
это лучший питонический способ создать эту переменную __reshaped_board
, как показано ниже?Основная идея с использованием начальных подчеркиваний состоит в том, чтобы сигнализировать, что это частная переменная, и не использовать ее:)
def predict_move(self, board, __reshaped_board=np.zeros([1, 4, 4, 1])):
np.copyto(__reshaped_board[0, :, :, 0], board)
return self.model.predict(__reshaped_board)
одно из возможных решений - оставить copyto
вне этой функции, но вызов этой функции в нескольких местах приведет ктребуется сделать упаковщик / декоратор для этой функции
!!Я имею в виду, что этот объект будет создан один раз, когда интерпретатор оценит определение функции, и если где-то я переназначу эту ссылку, то оригинальный объект будет потерян