Skip to main content
 首页 » 编程设计

python之Tensorflow 中的 Sigmoid 运算实现

2024年09月07日25qq78292959

出于学习目的,我有一项任务是在 tensorflow 中进行线性和 sigmoid 运算。 我设法做了线性运算:

def linear_op_forward(X, W): 
''' linear operation''' 
return np.dot(X, W.T) 
 
def linear_op_backward(op, grads): 
    ''' Linear gradient realization ''' 
    X = op.inputs[0]   
    W = op.inputs[1]   
    dX = tf.multiply(grads, W) 
    dW = tf.reduce_sum(tf.multiply(X, grads), 
                       axis = 0, 
                       keep_dims = True) 
    return dX, dW 

但我坚持使用 sigmoid 操作:

对吗?

def sigmoid_op_forward(X): 
    return 1 / (1 + np.exp(-X)) 

而且我很难理解 sigmoid 梯度

def sigmoid_op_backward(op, grads): 
    ??? 

有人可以帮忙吗?

请您参考如下方法:

试试这个:

def sigmoid_op_backward(op, grads): 
  sigmoid = op.outputs[0] 
  return sigmoid * (1 - sigmoid) * grads