解决python numpy RuntimeWarning: overflow encountered in exp的较好方法

这篇具有很好参考价值的文章主要介绍了解决python numpy RuntimeWarning: overflow encountered in exp的较好方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在自定义神经网络中,使用sigmoid函数时,报数据溢出overflow错误。

def sigmoid(self, x):
    return 1.0 / (1 + np.exp(-x))

RuntimeWarning: overflow encountered in exp

根据测试(测试代码如下),是因为指数出现极大的数据,导致np.exp运算溢出

def sigmoid(self, x):
    print(x.min())
    return 1.0 / (1 + np.exp(-x))

解决python numpy RuntimeWarning: overflow encountered in exp的较好方法

网上一般的做法为如下,但是对x为数组却不能执行。

def sigmoid(x):
    if x>=0: #对sigmoid函数优化,避免出现极大的数据溢出
        return 1.0 / (1 + np.exp(-x))
    else:
        return np.exp(x)/(1+np.exp(x))

在我的Python中运行上述代码,x为数组时报错如下:

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

x的值不止一个,需要对所有的x都进行判断。

因此本人提出的较好的修改方案如下:如有疑问欢迎评论指出。

def sigmoid(self, x):
    y = x.copy()      # 对sigmoid函数优化,避免出现极大的数据溢出
    y[x >= 0] = 1.0 / (1 + np.exp(-x[x >= 0]))
    y[x < 0] = np.exp(x[x < 0]) / (1 + np.exp(x[x < 0]))
    return y

如果这篇文章大家觉得有意义的话请多多点赞、收藏支持,也可以在下面点击“打赏”按钮打赏支持我哟~文章来源地址https://www.toymoban.com/news/detail-503932.html

到了这里,关于解决python numpy RuntimeWarning: overflow encountered in exp的较好方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 解决Python中导入numpy出现ImportError错误的问题

    解决Python中导入numpy出现ImportError错误的问题 当我们在Python中使用numpy库时,有时会遇到以下错误: 这种错误通常是由于系统环境变量或者numpy库的版本问题引起的。解决方法如下: 第一步:检查系统环境变量 打开CMD或者PowerShell,输入以下命令: 如果输出结果中没有Python的

    2024年02月06日
    浏览(52)
  • python编写EXP/POC速成小记

    0x01:概念 漏洞刚被批漏之后,有时候现有的工具里面是没有相应的EXP的,那我们可以根据原理写出对应的EXP代码,验证漏洞是否存在。 在信息安全里,POC为漏洞验证程序,功能为检测漏洞是否存在。POC和EXP(全称Exploit)的区别就是,POC是漏洞验证程序,EXP是漏洞利用程序。针

    2024年02月10日
    浏览(38)
  • Encountered an improper argument.问题解决办法

            在使用MDK进行DAP调试时,退出调试时出现如下异常          此时我们点击确定,是无法关闭 MDK 的,只能到电脑的任务管理器里面强制 结束 MDK,才可以将其关闭,比较麻烦。         这是由于 MDK5.23 以后对中文支持不是很好。 解决办法: 1、仿真结束前

    2024年02月15日
    浏览(33)
  • 解决Python中module ‘numpy‘ has no attribute ‘bool‘错误

    解决Python中module ‘numpy’ has no attribute \\\'bool’错误 在使用Python进行科学计算和数据处理时,NumPy是一个常用的库。它提供了高性能的数组操作和数学函数。然而,有时你可能会遇到一个错误,即\\\"module ‘numpy’ has no attribute ‘bool’\\\"。本文将详细解释这个错误的原因,并提供解

    2024年02月08日
    浏览(26)
  • 运行python代码时遇到module ‘numpy‘ has no attribute ‘float‘解决方法

    运行python代码时遇到如下问题 出现这种解决方法的原因,主要是因为 np.float 从版本 1.24 起被删除。但是这里所用的代码是基于旧版本的 Numpy 。 查看当前的 numpy 版本: (利用安装指令查看当前的 numpy 版本) 所以有两种解决方法: 一种是更新当前所用的python代码,使其不使

    2024年02月12日
    浏览(44)
  • Python Numpy loaded morethan1 DLL from .libs 报错解决方案

    装Pytorch环境的时候遇到两个错误记录一下. 核心问题是 UserWarning; loaded morethan1 DLL from .libs: 重装 numpy 包 找到 Python 路径下的 Libsite-packagesnumpy.libs 如果你发现 2 个或更多库则删除多余的库 Numpy User Warning: Loaded more than 1 DLL

    2024年02月12日
    浏览(46)
  • 解决:net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: “=“ “=“

    Caused by: net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: \\\"=\\\" \\\"=\\\"     at line 3, column 22. Was expecting one of: 网上看了很多,说是因为MyBatis_Plus框架中,有多租户的功能,MP会进行数据权限的过滤,但是都试了试发现并不生效,记着之前遇到过这个问题,是因为那个包的版本原因

    2024年02月10日
    浏览(32)
  • 【Python】成功解决TypeError: object of type ‘numpy.float64‘ has no len()

    【Python】成功解决TypeError: object of type ‘numpy.float64’ has no len() 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程👈 希望得到您的订阅和支持~ 💡 创作高质量博文(平均质量分92+),分享更多关于

    2024年04月17日
    浏览(38)
  • 解决Python中导入NumPy出现的“ImportError: DLL load failed: 找不到指定的模块“错误

    解决Python中导入NumPy出现的\\\"ImportError: DLL load failed: 找不到指定的模块\\\"错误 当在Python中尝试导入NumPy库时,有时可能会遇到\\\"ImportError: DLL load failed: 找不到指定的模块\\\"的错误。这个错误通常发生在Windows操作系统上,表示Python无法找到所需的DLL文件。在本文中,我将为您提供一些

    2024年02月06日
    浏览(36)
  • 已解决Encountered error while trying to install package.> lxml

    已解决(pip安装第三方模块lxml模块报错)Building wheels for collected packages: lxml Building wheel for lxml (setup.py) … error error: subprocess-exited-with-error python setup.py bdist_wheel did not run successfully. note: This error originates from a subprocess,and is likely not a problem with pip. ERROR: Failed building wheel for lxml n

    2024年02月07日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包