Это самое простое и самое питоническое решение, о котором я могу думать:
def partition(alist, indices):
return [alist[i:j] for i, j in zip([0]+indices, indices+[None])]
, если входы очень большие, тогда решение итераторов должно быть более удобным:
from itertools import izip, chain
def partition(alist, indices):
pairs = izip(chain([0], indices), chain(indices, [None]))
return (alist[i:j] for i, j in pairs)
и, конечно же, очень, очень ленивое решение для парней (если вы не возражаете получать массивы вместо списков, но в любом случае вы всегда можете вернуть их в списки):
import numpy
partition = numpy.split
В строке
net2 = np.matmul(W2, y1[i]) + b2
вы пытаетесь добавить индекс y1
, который является результатом y1 = AF(net1)
, который всегда возвращает int
.