在Python中使用Numpy实现Relu导数

我正在尝试实现一个函数,用于计算矩阵中每个元素的Relu导数,并将结果返回为一个矩阵。我使用的是Python和Numpy。

根据其他Cross Validation帖子,x的Relu导数在x > 0时为1,在x < 0时为0,当x == 0时为未定义或0。

目前,我已经有了以下代码:

def reluDerivative(self, x):    return np.array([self.reluDerivativeSingleElement(xi) for xi in x])def reluDerivativeSingleElement(self, xi):    if xi > 0:        return 1    elif xi <= 0:        return 0

不幸的是,xi是一个数组,因为x是一个矩阵。reluDerivativeSingleElement函数无法在数组上工作。所以我想知道是否有办法使用numpy将矩阵中的值映射到另一个矩阵,就像numpy中的exp函数那样?

非常感谢您的帮助。


回答:

我想这就是您要找的:

>>> def reluDerivative(x):...     x[x<=0] = 0...     x[x>0] = 1...     return x>>> z = np.random.uniform(-1, 1, (3,3))>>> zarray([[ 0.41287266, -0.73082379,  0.78215209],       [ 0.76983443,  0.46052273,  0.4283139 ],       [-0.18905708,  0.57197116,  0.53226954]])>>> reluDerivative(z)array([[ 1.,  0.,  1.],       [ 1.,  1.,  1.],       [ 0.,  1.,  1.]])

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注