В функции get_batch, как она может гарантировать, что каждый случайный выбор индексов из x и y уникален?Из-за своей случайной природы он получает все данные из x и y в конце итераций get_batch?
Вместо случайной выборки, не должен ли он получать данные последовательно?
x = np.arange(0, 5, 0.1)
y = x**3 - 4*x**2 - 2*x + 2
def get_batch(x, y, batch_size=20):
idxs = np.random.randint(0, len(x), (batch_size))
return x[idxs], y[idxs]
Затем получите пакетный вызов:
x_batch, y_batch = get_batch(x, y)
Я провел симуляционный тест:
In [48]: for i in range(3):
...: print(np.random.randint(0, 5, 10))
...:
[3 0 2 0 4 2 2 1 4 3]
[1 2 1 3 0 0 0 4 2 2]
[3 0 0 3 0 2 0 2 1 1]