当前位置:网站首页>深度学习 段错误(Segment Core/ Exit code 139)情况记录
深度学习 段错误(Segment Core/ Exit code 139)情况记录
2022-07-25 09:23:00 【Tobi_Obito】
前言
使用python搞深度学习经常会遇到抽风的段错误,但一直未找到原因在哪,都是玄学发生,玄学修复,现在终于发现了一些“线索”,发布此文用于记录积累导致段错误的原因及解决方法。
线索发现
>>> import tensorflow as tf
>>> tf.ones([3,4]).numpy() # 测试tensorflow是否正确安装,成功执行并得到正确结果
>>> exit() # 距离上一行之间无任何执行代码,按理说应该正常退出,但Segment Core(即段错误exit code 139)注:个人的环境中几个主要的库是tensorflow-gpu 2.3.0 numpy scikit-learn
分析
深度学习往往涉及相关库(numpy、scikit-learn、tensorflow等)较多,并且每个库又有各种版本,我在很早前就了解到这些库有时看上去是顺利安装了,但实际上仍存在一定的“兼容”问题,比如曾遇到sklearn的import必须在tensorflow之前,否则就会报错退出-_-||。
通过短短3行代码分析,想到这样一点:虽然没有显式import numpy,但是tensorflow一定依赖numpy吧?(毕竟.numpy()都出来了= =)。那么是不是跟上面提到的情况类似?难道也是因为库之间的依赖兼容性的问题?于是我做了如下尝试:
>>> import numpy as np
>>> import tensorflow as tf
>>> tf.ones([3,4]).numpy()
>>> exit() # exit with code 0,成功结束了!果不其然,在显式import numpy之后段错误就消失了。似乎是这个原因,然后再联想到之前在项目中遇到的创建keras自带的EarlyStop callback时报段错误的问题:首先,我之前是顺利使用过Early Stop callback的;第二,import时并未报错。那么就可能是在创建callback时“隐式涉及”到相关库,从而因为上述原因出现段错误。
思考
这一点确实很可能是段错误的很大一部分原因,因为正是由于这种复杂的“隐式”的库间关联,才导致发生段错误的“玄学”性。
边栏推荐
- Definition of cell
- 从鱼眼到环视到多任务王炸——盘点Valeo视觉深度估计经典文章(从FisheyeDistanceNet到OmniDet)(下)
- 单目深度估计自监督模型Featdepth解读(上)——论文理解和核心源码分析
- Some skills to reduce the complexity of program space
- Chmod and chown invalidate the files of the mounted partition
- 【数据挖掘】第四章 分类任务(决策树)
- Kotlin 实现文件下载
- Segmentation-based deep-learning approach for surface-defectdetection(基于分割的表面缺陷深度学习检测方法)
- First knowledge of opencv4.x --- image histogram equalization
- Prim minimum spanning tree (diagram)
猜你喜欢

@1-1 CCF 2021-04-1 gray histogram

How to add other PHP versions to MAMP

初识Opencv4.X----图像模板匹配

¥ 1-3 SWUST OJ 942: reverse sequence table

First knowledge of opencv4.x --- image histogram matching

*6-2 CCF 2015-03-3 Festival

Swift创作天气APP

Esp8266的Flash读写操作以及Flash上传文件

About C and OC

First acquaintance with opencv4.x --- ROI interception
随机推荐
Object initialization
【降维打击】希尔伯特曲线
从鱼眼到环视到多任务王炸——盘点Valeo视觉深度估计经典文章(从FisheyeDistanceNet到OmniDet)(下)
Save pdf2image PDF file as JPG nodejs implementation
kotlin基础知识点
Flutter rive multi state example
【深度学习】卷积神经网络
Mixed supervision for surface-defect detection: from weakly to fully supervised learning:表面缺陷检测的混合监督
cf #785(div2) C. Palindrome Basis
基于PackNet的演进——丰田研究院(TRI)深度估计文章盘点(上)
Prim minimum spanning tree (diagram)
[code source] National Railway
MLOps专栏介绍
Evolution based on packnet -- review of depth estimation articles of Toyota Research Institute (TRI) (Part 2)
[dimension reduction strike] Hilbert curve
Chmod and chown invalidate the files of the mounted partition
初识Opencv4.X----图像模板匹配
Customize dialog to realize the pop-up box of privacy clause statement imitating Netease cloud music
@3-1 CCF 2020-09-1 scale detection point query
chmod和chown对挂载的分区的文件失效