Python: сделать NumPy по умолчанию для float32 - PullRequest
18 голосов
/ 19 апреля 2011

Есть ли какой-нибудь чистый способ установки numpy для использования значений float32 вместо float64 глобально?

Ответы [ 3 ]

9 голосов
/ 20 апреля 2011

Не то, что я знаю.Вам либо нужно явно указать dtype при вызове конструктора для любого массива, либо привести массив к float32 (используйте метод ndarray.astype) перед передачей его в код вашего GPU (я так понимаю, к чему относится этот вопрос?).Если вы действительно беспокоитесь о графическом процессоре, я предпочитаю последнее - это может очень раздражать, когда вы пытаетесь сохранять все с одинарной точностью, не понимая при этом правила грубого вещания и очень тщательно продуманный код.

Другой альтернативой может быть создание собственных методов, которые перегружают стандартные конструкторы numpy (например, numpy.zeros, numpy.ones, numpy.empty).Это должно быть достаточно близко к тому, чтобы держать все в float32.

2 голосов
/ 23 июня 2018

Этот вопрос появился на трекере проблем NumPy. Ответ :

Нет, извините.И я боюсь, что мы вряд ли добавим такую ​​вещь [.]

1 голос
/ 01 ноября 2018

Для каждой функции вы можете перегрузить:

def array(*args, **kwargs):
    kwargs.setdefault("dtype", np.float32)
    return np.array(*args, **kwargs)

Как опубликовано njsmith на github

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