finished with exit code -1073740791 (0xC0000409)解决方案
1.在用keras框架跑NER的train时,而且只是在用了keras_contrib.layers的CRF时出现问题:
遇到无错跳出finished with exit code -1073740791 (0xC0000409),
(有其他博主说的减小batchsize的 我试过把batchsize减小为2,但是没有用)
2.查出是显卡内存不足的问题,解决如下(对个人有效):
import os
os.environ["CUDA_VISIBLE_DEVICES"] = "-1"
(本人pc上并未安装cuda等GPU所需要的包,猜想这句话应该是默认用cpu)
----------------------------------------------------------------------------------------------------------------
3.<原理参考>:
keras在使用GPU的时候有个特点,就是默认全部占满显存。这样如果有多个模型都需要使用GPU跑的话,那么限制是很大的,而且对于GPU也是一种浪费。因此在使用keras时需要有意识的设置运行时使用那块显卡,需要使用多少容量。
这方面的设置一般有三种情况:
1.指定显卡 2.限制GPU用量 3.即指定显卡又限制GPU用量
一、指定显卡
import os os.environ["CUDA_VISIBLE_DEVICES"] = ""
这里指定了使用编号为2的GPU,大家可以根据需要和实际情况来指定使用的GPU
二、限制GPU用量
1、设置使用GPU的百分比
import tensorflow as tf import keras.backend.tensorflow_backend as KTF #进行配置,使用30%的GPU config = tf.ConfigProto() config.gpu_options.per_process_gpu_memory_fraction = 0.3 session = tf.Session(config=config) # 设置session KTF.set_session(session )
需要注意的是,虽然代码或配置层面设置了对显存占用百分比阈值,但在实际运行中如果达到了这个阈值,程序有需要的话还是会突破这个阈值。换而言之如果跑在一个大数据集上还是会用到更多的显存。以上的显存限制仅仅为了在跑小数据集时避免对显存的浪费而已。
2、GPU按需使用
import tensorflow as tf import keras.backend.tensorflow_backend as KTF config = tf.ConfigProto() config.gpu_options.allow_growth=True #不全部占满显存, 按需分配 session = tf.Session(config=config) # 设置session KTF.set_session(sess)
三、指定GPU并且限制GPU用量
这个比较简单,就是讲上面两种情况连上即可。。
import os import tensorflow as tf import keras.backend.tensorflow_backend as KTF # 指定第一块GPU可用 os.environ["CUDA_VISIBLE_DEVICES"] = "0" config = tf.ConfigProto() config.gpu_options.allow_growth=True #不全部占满显存, 按需分配 sess = tf.Session(config=config) KTF.set_session(sess)
参考链接:
https://blog.csdn.net/u010801994/article/details/81121078
https://blog.csdn.net/Jdk_yxs/article/details/84061824
finished with exit code -1073740791 (0xC0000409)解决方案的更多相关文章
- pycharm调试bug Process finished with exit code -1073740791 (0xC0000409)
我经常py代码出错 控制台只提示这个 Process finished with exit code -1073740791 (0xC0000409) 但是根本没有报错原因 首先我们应该改一下pych ...
- python跑机器学习时报错:Process finished with exit code -1073740791 (0xC0000409)
emmm...第二次遇到这个错误了,好好的好好的卷积神经网络突然就跑不起了.就弹出一堆信息也不报那行代码错了... 记录一下: 两次解决方法相同,删h5py包 Process finished wit ...
- cordova Process finished with exit code -1
安装完cordova之后,创建一个测试项目后,运行报Process finished with exit code -1,经过查找原因,是因为gradle没有安装,在http://www.androi ...
- [idea] - 项目启动报错Process finished with exit code 1
今天运行项目发现一个bug, "C:\Program Files\Java\jdk1.8.0_191\bin\java.exe" -XX:TieredStopAtLevel=1 - ...
- pycharm Process finished with exit code (0xC0000005)
pycharm Process finished with exit code (0xC0000005)解决办法 上次报过这个错误,是在安装浏览器时发现的,报过同样的错误.按当时的方法,以为切地解 ...
- pycharm 出现Process finished with exit code 0 或 Process finished with exit code -1
Process finished with exit code 0 意味着你的程序正常执行完毕并退出. 可以科普一下exit code,在大部分编程语言中都适用: exit code 0 表示程序执行 ...
- Android-AndroidStudio-AVD启动不了-emulator: Process finished with exit code 1
注意:解决此错误目前只针对Windows系统的电脑: 1.AndroidStudio-->AVDManager(Create Virtual Device): 2.提示AVD启动不了,同时Eve ...
- spring boot 运行提示:Process finished with exit code 1
spring boot 运行提示:Process finished with exit code 1 经检查发现是由于在application.properties配置文件中将某些自定义配置项移除了, ...
- tensorflow Process finished with exit code 137 (interrupted by signal 9: SIGKILL) 错误
Process finished with exit code 137 (interrupted by signal 9: SIGKILL) 在使用tensorflow自带的数据集做手写数字识别的时候 ...
随机推荐
- js的内存泄漏场景、监控以及分析
内存泄漏 Q:什么是内存泄漏? 字面上的意思,申请的内存没有及时回收掉,被泄漏了 Q:为什么会发生内存泄漏? 虽然前端有垃圾回收机制,但当某块无用的内存,却无法被垃圾回收机制认为是垃圾时,也就发生内存 ...
- Spring Boot2 系列教程(二十一) | 自动配置原理
微信公众号:一个优秀的废人.如有问题,请后台留言,反正我也不会听. 前言 这个月过去两天了,这篇文章才跟大家见面,最近比较累,大家见谅下.下班后闲着无聊看了下 SpringBoot 中的自动配置,把我 ...
- 洛谷 UVA11021 Tribles
UVA11021 Tribles 题意翻译 题目大意 一开始有kk种生物,这种生物只能活1天,死的时候有p_ipi的概率产生ii只这种生物(也只能活一天),询问m天内所有生物都死的概率(包括m天前死 ...
- Scrum.站立会议介绍
项目任务分解完毕之后,整个项目要完成的任务也都已经确定,每个人负责的任务也确定.这时候就进入到每天的迭代过程.项目经理的一个职责就是每天负责召开 站立会议. 具体的形式如下: 每天固定时间召开. 项目 ...
- Vue 组件 传值
注意 Vue模板只能有一个对象,要想用多个对象时用div包裹 一.父组件->子组件 通过props 1.子组件: 声明:proprs =[‘xx’],xx是在父组件中引用子组件,子组件的属性(t ...
- 创建自定义的RouteBase实现(Creating a Custom RouteBase Implementation) |定制路由系统 |
- quick-cocos2d-x项目《狂点小怪兽》总结
最近找了个公司实习,领导让我把公司的<狂点小怪兽>C++游戏用Lua重写.大概用了一个星期完成. 第一次使用quick-cocos2d-x,磕磕碰碰的也算是走了一遍流程. 1. quick ...
- c# 三种计算程序运行时间的方法
三种计算c#程序运行时间的方法第一种:利用 System.DateTime.Now // example1: System.DateTime.Now method DateTime dt1 = Sys ...
- postman发送请求的简单操作
发送请求常用的是post和get 两者的区别是: 1.post比get安全,因为参数直接暴露在url中,不能用来传递敏感信息 2.get参数通过url传递,post放在request body中 3. ...
- Electron使用electron-packager打包记录
1.使用 JavaScript, HTML 和 CSS 构建跨平台的桌面应用 2.下载https://github.com/electron/electron-quick-start中的示例 3.在示 ...