keras Sequential()使内核崩溃

polkgigr  于 2023-01-26  发布在  其他
关注(0)|答案(1)|浏览(301)

只需运行几行keras Sequential()崩溃jupyter笔记本内核.首先是GPU内存达到所有容量(无论它是3090与24 GB).然后我采取了一些precauses像

config = tf.compat.v1.ConfigProto()
config.gpu_options.allow_growth = True
session = tf.compat.v1.Session(config=config)

并且VRAM停止推动极限。但是内核仍然崩溃。下面是代码:

import numpy as np  
import pandas as pd  
from keras.models import Sequential
from keras.layers import LSTM,Dense
cl=np.random.rand(200).reshape(-1, 1)
def processData(data,lb):
    X,Y = [],[]
    for i in range(len(data)-lb-1):
        X.append(data[i:(i+lb),0])
        Y.append(data[(i+lb),0])
    return np.array(X),np.array(Y)
X,y = processData(cl,7)
X_train,X_test = X[:int(X.shape[0]*0.80)],X[int(X.shape[0]*0.80):]
y_train,y_test = y[:int(y.shape[0]*0.80)],y[int(y.shape[0]*0.80):]
model = Sequential()
model.add(LSTM(64,input_shape=(7,1)))

在最后一行内核死了。我不知道是什么问题。我的keras和tenserflow版本:2.4.3和“2.5.0-设备20210312”。Cuda规范:

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Wed_Oct_23_19:32:27_Pacific_Daylight_Time_2019
Cuda compilation tools, release 10.2, V10.2.89

我猜是3000 x卡和它们与Cuda和nn库的兼容性问题。不过我对yolov 5库没有任何问题。

68bkxrlz

68bkxrlz1#

我尝试在anaconda提示符中使用相同的代码运行.py文件,并得到“无法加载动态库”cudart64_110.dll“;目录错误:找不到cudart64_110.dll“,因此我卸载了CUDA 10.2(这是3080卡的唯一方法)并安装11. 3(在某些地方,这确实被建议作为3000 x系列的唯一选择),令人惊讶的是,它与3090配合得很好。而且.py和JN现在运行都没有错误或VRAM超出限制。所以对我来说,解决办法是将CUDA更新到11。3版本

相关问题