Как сказано в заголовке, я хочу конвертировать из Autograd ArrayBox в BigFloat.
Моя функция проста:
def fun(mean, variance, bin_mean, bin_variance):
first = np.float(bf.sqrt(1.0 * bin_variance / (bin_variance + variance)))
second_numerator = (bin_mean - mean)**2
second_denominator = 2*(bin_variance + variance)
second = np.float(bf.exp(-second_numerator/second_denominator))
return first * second
, и мне нужна высокая точность и, следовательно, я хочу использовать bigfloat пакет.Теперь эта функция является частью более сложной, для которой я использую функцию scipy.optimize.minimize
для нахождения минимума функции, а также autograd
для аппроксимации матриц Якоби и Гессе.Ошибка, которую я получаю, когда запускаю свой код:
TypeError: Unable to convert argument Autograd ArrayBox with value 0.01297563222656762 of type <class 'autograd.numpy.numpy_boxes.ArrayBox'> to BigFloat
Итак, мой вопрос: как конвертировать ArrayBox из Autograd в BigFloat?Как даже правильно извлечь значение внутри ArrayBox?