Кажется, что ошибка возникает, когда вы пытаетесь получить массив случайных чисел numpy (np.random.randint()
). Похоже, вы передаете float как аргумент n
в get_batch2()
. Вы можете перекрыть это плавающее число и преобразовать его в целое число, используя .astype(np.int64)
.
Проще говоря, объект numpy.float64
не может использоваться как целое число в вашем коде; это разные типы данных. Вы должны выполнить какую-то операцию с числом с плавающей запятой, чтобы превратить его в целое число. Целые числа не могут содержать все данные, которые может содержать число с плавающей запятой (целое число не может хранить десятичную часть числа), поэтому вам нужно сделать что-то вроде округления числа с плавающей запятой до ближайшего целого числа или et c. Метод .astype(np.int64)
вернет значение с плавающей запятой или массив чисел с плавающей запятой et c. в типе numpy .int64.
Похоже, что версии numpy 1.12.0 и выше вызовут это исключение. Если по какой-либо причине вы не хотели иметь дело с преобразованием в целое число, одним из решений является установка numpy с версией до 1.11.0 или ниже: { ссылка }