Создал многомерный массив: data2 = w_new
Нужно соединить с циклом нейронной сети с LSTM:
def f(x,x1):
return x+x1
NN=10
N=5
n=272
data2=np.zeros((NN,N,n))
for j in range(NN):
data2=2*np.random.rand(n)-1
data2=2*np.random.rand(n)-1
for i in range(2,N):
data=f(data,data)
data2 = w_new # положим, что "w_new" ссылался на многомерный массив или что-то еще... мы ссылаемся на него.
# если нет, то получим сообщение об ошибке NameError
def f(x, x1): # создали функцию, возвращающую сумму входящих аргументов
return x+x1
NN=10
N=5
n=272
data2=np.zeros((NN,N,n)) # заменили ссылку на w_new ссылкой на трехмерный массив нулей.
for j in range(NN): # NN * 2 раз перевешиваем ссылку "data2" на очередной только что сгенерированный массив случайных чисел длиной n.
data2=2*np.random.rand(n)-1
data2=2*np.random.rand(n)-1
# В итоге имеем data2 == "последний сгенеренный одномерный массив случайных чисел длиной n"
# (При этом ранее созданный трехмерный массив нулей и все предыдущие массивы случайных чисел уже съедены системным сборщиком мусора.)
for i in range(2,N): # (N - 3) раз пытаемся складывать не объявленную ранее переменную data саму с собой через функцию f.
data=f(data, data)
# Получаем сообщение об ошибке NameError: name 'data' is not defined
Что Вы хотели сказать этим кодом? Где сам цикл нейронной сети?
У меня ощущение, что вы взяли откуда-то кусочки кода, не владея основами языка, и попытались его как-то по-своему переделать. Или, может, я чего-то не понимаю, и код выше имеет смысл в каком-то контексте?