与张量流集成

时间:2019-09-09 17:36:48

标签: python tensorflow

我想针对输入计算深度神经网络的积分并将其用于我的损失函数。

我尝试了两种不同的方案。 首先,我使用tf.gradients解决了这个问题。 (此方法导致噪声函数近似) 其次,我使用了tf.integral,但这不是我想要的。

x_ph = tf.placeholder(tf.float32, [None,1])
y_ph = tf.placeholder(tf.float32, [None,1])
y_pred = mlp(x_ph)

def multilayer_perceptron(x,weights, biases):
    # *********************** Hidden layer 1 ***********************#
    layer_1 = tf.add(tf.matmul(x, weights['h1']), biases['b1'])


    return tf.reshape(tf.convert_to_tensor(tf.gradients(layer_1, y)),(-1,1)), layer_1
# I want to have my ouput as return layer_1, integral(layer_1,x)

def cost(x, y, z):
    jx, fx = multilayer_perceptron(x,weights, biases, kp)
    fx = tf.reshape(fx, (-1,1))
    jx =  tf.reshape(jx, (-1,1))
    cost_ = tf.reduce_mean(tf.abs(fx-y)) + tf.reduce_mean(tf.abs(jx-z))


    return cost_ 

1 个答案:

答案 0 :(得分:0)

这是我的解决方案。我定义了一个额外的占位符t,并用它来计算x处的积分值。

https://github.com/moradza/Practice-and-Test/blob/master/Anti%20derivative%20calculator%20of%20Tensorflow%20network%201D%20input.ipynb查看代码。