小编Ana*_*ais的帖子

具有Tensorflow概率的非线性优化

我正在尝试使用TensorFlow概率的Nelder-Mead优化器实现高斯拟合:tfp.optimizer.nelder_mead_minimize()。它不会收敛,同时scipy.optimizer.minimize()可以在不到1秒的计算时间内提供良好的结果。我可能做错了什么,但我不知道是什么?有人可以帮我吗?

我在用 :

python                    3.7.3
tensorflow-probability    0.8
tensorflow                2.0
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

import tensorflow as tf
import tensorflow_probability as tfp
import numpy as np
import matplotlib as plt

# Define the gaussian model : y = 1/(sigma * sqrt(2 pi)) * exp(- (x-mu)²/(2*sigma²))
pi = np.pi
def model(x, theta):
    y = 1/(theta[1]*tf.sqrt(2*pi)) * tf.exp(-(x-theta[0])**2 /(2*theta[1]**2))
    return y


# Define the loss (least mean square)
def loss_function(theta, y, x, callback=False, n_iterations=1):
    global n_epochs_cb
    loss = tf.losses.mean_squared_error(y, model(x, theta))
    if …
Run Code Online (Sandbox Code Playgroud)

python tensorflow-probability

6
推荐指数
0
解决办法
168
查看次数

标签 统计

python ×1

tensorflow-probability ×1