В чем проблема с ошибкой типа: TypeError: объект 'numpy .float64' не может быть интерпретирован как целое число - PullRequest
0 голосов
/ 17 июня 2020

Итак, пока я выполнял свое задание, код здесь вообще не работает из-за ошибки типа. Все проверил и вроде все нормально. почему так происходит? введите описание изображения здесь

введите описание изображения здесь

1 Ответ

0 голосов
/ 18 июня 2020

Кажется, что ошибка возникает, когда вы пытаетесь получить массив случайных чисел 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 или ниже: { ссылка }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...