Как динамически изменять точность с плавающей запятой для вычислений в пакете?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как динамически изменять точность с плавающей запятой для вычислений в пакете?

Сообщение Anonymous »

Я пишу пакет на Python, который выполняет множество операций с массивами с различными библиотеками (, numexp, pyfftw). Он состоит из нескольких служебных сценариев и сценария моделирования, который анализирует файл .ini и запускает определенное моделирование. Я хотел бы выбрать точность (в файле .ini), которая будет применяться для всех вычислений для данного запуска моделирования.
Я хотел бы знать, так ли это можно реализовать по следующей логике (код не рабочий):

Код: Выделить всё

config.py:
DTYPE = 'float64'

Код: Выделить всё

utility.py:
import numpy as np
from config import DTYPE

def create_array():
print(DTYPE)
arr = np.ones(10, dtype=DTYPE)
return arr

Код: Выделить всё

simulation.py

Код: Выделить всё

from config import DTYPE
from utility import create_array

if __name__ == '__main__':
print(DTYPE)
precision = get_precision(ini_file)
DTYPE = precision
create_array()
Если точность равна «float32», я хотел бы видеть следующий результат:

Код: Выделить всё

'float64'
'float32'
Я видел эту проблему. Это хороший обходной путь, но поскольку я использую несколько библиотек, исправление обезьян (

Код: Выделить всё

np.array -> np.array(..., dtype=DTYPE)
) кажется не идеальным, и я хочу менять точность от моделирования к моделированию.
Я понимаю, что мой код не работает, поскольку константа DTYPE загружается при импорте время и изменяется во время выполнения.

Подробнее здесь: https://stackoverflow.com/questions/791 ... s-in-the-p
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»