Я относительно новичок в питоне, и я пытаюсь изучить функционирование нейронной сети с одним нейроном. Я получил пример кода в Sololearn (приложение для изучения Python & Co).
Я пытаюсь объяснить и проанализировать код построчно, чтобы сделать его доступным для всех, объясняя его как можно подробнее.
посмотрите здесь код (комментарии мои):
https://code.sololearn.com/cauWDig9GDUl
На первом этапе создаются семена:
def __init__(self):
random.seed(1)
self.weights = 2 * random.random((2, 1)) - 1
self.weights - это пустой массив:
print('initial weights',self.weights)
print('type of weights', type(self.weights))
начальные веса [[-0.16595599] [0.44064899]]
тип весов - класс 'numpy.ndarray'
далее весы корректируются в фазе поезда:
def train(self, inputs, outputs, num):
...
То, что я хочу сделать, - это построить все веса в процессе обучения 10000 итераций (процесс обучения запускается 10000 раз) и увидеть эволюцию весов в графическом виде.
Как я могу это сделать?
Нужно ли передавать все веса в два списка, например:?
weigths1=[w1,w2,w3,....,w10000]
weigths2=[x1,x2,x3,....,x10000]
где numy array weight1 = [[w1] [x1]], weight2 = [[w2] [x2]] и т. Д.
Как мне это сделать?
Могу ли я создать список массивов NumPy?
Служит ли это мне что-нибудь?
Следующее не работает:
weightslist=[]
#repeat in every iteration:
weightslist.append(self.weights)
И еще в целом: имея серию пустых массивов измерения mxn, как извлечь ряд значений в позиции i, j массива mxn, чтобы сгенерировать данные для графика с помощью matplotlib (или любой другой библиотеки на сюжет).
спасибо.