系统信息
OS Platform and Distribution : Windows 10 Pro
TensorFlow installed from (source or binary): Source and Binary (tried both)
TensorFlow version: 1.12
Python version: 3.6.6
Installed using virtualenv? pip? conda?: pip and conda (tried both)
Bazel version (if compiling from source): 0.16.1
CUDA/cuDNN version: Cudnn - 7.4.2 , CUDA- 10.0
GPU model and memory: GeForce RTX 2070
我是生物学的博士研究生,所以我不是Python,tensorflow或深度神经网络方面的专家。我目前正在尝试使用去年(https://github.com/talmo/leap)发布的深度学习算法来分析小鼠的行为。到目前为止,我已经使用了Quadro P400,并且在CUDA 9.0上运行良好。但是,我购买了RTX 2070,因为我需要更多的计算能力。 由于RTX卡仅与CUDA 10.0兼容,因此我尝试执行全新安装(计算机与以前不同,这是一台全新的计算机),但是几天来我一直遇到此问题,到目前为止我还无法完成找到解决方法。我尝试了https://github.com/tensorflow/tensorflow/issues/24828中提到的不同解决方案。我还尝试通过遵循https://www.pytorials.com/how-to-install-tensorflow-gpu-with-cuda-10-0-for-python-on-windows/来编译自己的tensorflow并成功,但是尝试运行该算法时遇到了相同的错误。
我尝试了不同版本的Cdunn,基本上是cuda 10.0的所有版本,Python的其他版本(3.7.1、3.6.4)和Tensorflow(1.13.1,每晚构建)。
我不知道下一步该怎么做,所以我请求您的帮助。
提供在遇到问题之前执行的命令/步骤的确切顺序
其他任何信息/日志
总参数:592,066 可训练的参数:592,066 不可训练的参数:0
创建的文件夹:C:\ Users \ dieudon \ Downloads \ models \ 190512_222333-n = 17 时代1/15 追溯(最近一次通话): _do_call中的文件“ C:\ Users \ dieudon \ Anaconda3 \ lib \ site-packages \ tensorflow \ python \ client \ session.py”,行1334 返回fn(* args) _run_fn中的文件“ C:\ Users \ dieudon \ Anaconda3 \ lib \ site-packages \ tensorflow \ python \ client \ session.py”,行1319 选项,feed_dict,fetch_list,target_list,run_metadata) _call_tf_sessionrun中的文件“ C:\ Users \ dieudon \ Anaconda3 \ lib \ site-packages \ tensorflow \ python \ client \ session.py”,行1407 run_metadata) tensorflow.python.framework.errors_impl.UnknownError:无法获取卷积算法。这可能是因为cuDNN初始化失败,所以请尝试查看上面是否打印了警告日志消息。 [[{{node conv2d_1 / convolution}} = Conv2D [T = DT_FLOAT,_class = [“ loc:@ training / Adam / gradients / conv2d_1 / convolution_grad / Conv2DBackpropFilter”],data_format =“ NCHW”,膨胀= [1、1 ,1、1],padding =“ SAME”,步幅= [1、1、1、1],use_cudnn_on_gpu = true,_device =“ / job:localhost /副本:0 / task:0 / device:GPU:0” ](培训/ Adam / gradients / conv2d_1 / convolution_grad / Conv2DBackpropFilter-0-TransposeNHWCToNCHW-LayoutOptimizer,conv2d_1 /内核/读取)]] [[{{node loss / mul / _287}} = _Recvclient_terminated = false,recv_device =“ / job:localhost /副本0 / task:0 / device:CPU:0”,send_device =“ / job:localhost /副本: 0 /任务:0 /设备:GPU:0“,send_device_incarnation = 1,tensor_name =” edge_1575_loss / mul“,tensor_type = DT_FLOAT,_device =” /作业:localhost /副本:0 /任务:0 /设备:CPU:0 “]]
在处理上述异常期间,发生了另一个异常:
回溯(最近通话最近): 文件“ C:\ Users \ dieudon \ Desktop \ Matlab \ leap-master \ leap \ training.py”,行276,在 clize.run(火车) 在调用中的文件“ C:\ Users \ dieudon \ Anaconda3 \ lib \ site-packages \ sigtools \ modifiers.py”,第158行 返回self.func(* args,** kwargs) 运行中的文件“ C:\ Users \ dieudon \ Anaconda3 \ lib \ site-packages \ clize \ runner.py”,行360 ret = cli(* args) 调用中的文件“ C:\ Users \ dieudon \ Anaconda3 \ lib \ site-packages \ clize \ runner.py”,第220行 return func(* posargs,** kwargs) 火车上的“ C:\ Users \ dieudon \ Desktop \ Matlab \ leap-master \ leap \ training.py”文件,第255行 viz_grid_callback 包装中的文件“ C:\ Users \ dieudon \ Anaconda3 \ lib \ site-packages \ keras \ legacy \ interfaces.py”,行91 return func(* args,** kwargs) 在fit_generator中的文件“ C:\ Users \ dieudon \ Anaconda3 \ lib \ site-packages \ keras \ engine \ training.py”,第2230行 class_weight = class_weight) 在train_on_batch中的第1883行中,文件“ C:\ Users \ dieudon \ Anaconda3 \ lib \ site-packages \ keras \ engine \ training.py” 输出= self.train_function(ins) 在调用中的文件“ C:\ Users \ dieudon \ Anaconda3 \ lib \ site-packages \ keras \ backend \ tensorflow_backend.py”,第2482行 ** self.session_kwargs) 运行中的文件“ C:\ Users \ dieudon \ Anaconda3 \ lib \ site-packages \ tensorflow \ python \ client \ session.py”,第929行 run_metadata_ptr) _run中的文件“ C:\ Users \ dieudon \ Anaconda3 \ lib \ site-packages \ tensorflow \ python \ client \ session.py”,行1152 feed_dict_tensor,选项,run_metadata) _do_run中的文件“ C:\ Users \ dieudon \ Anaconda3 \ lib \ site-packages \ tensorflow \ python \ client \ session.py”,行1328 run_metadata) _do_call中的文件“ C:\ Users \ dieudon \ Anaconda3 \ lib \ site-packages \ tensorflow \ python \ client \ session.py”,行1348 提高类型(e)(node_def,op,消息) tensorflow.python.framework.errors_impl.UnknownError:无法获取卷积算法。这可能是因为cuDNN初始化失败,所以请尝试查看上面是否打印了警告日志消息。 [[节点conv2d_1 /卷积(定义在C:\ Users \ dieudon \ Anaconda3 \ lib \ site-packages \ keras \ backend \ tensorflow_backend.py:3341)= Conv2D [T = DT_FLOAT,_class = [“ loc:@ training / Adam / gradients / conv2d_1 / convolution_grad / Conv2DBackpropFilter“],data_format =” NCHW“,膨胀= [1,1,1,1],padding =” SAME“,步幅= [1,1,1,1],use_cudnn_on_gpu = true,_device =“ / job:localhost / replica:0 / task:0 / device:GPU:0”](培训/ Adam / gradients / conv2d_1 / convolution_grad / Conv2DBackpropFilter-0-TransposeNHWCToNCHW-LayoutOptimizer,conv2d_1 /内核/读取) ]] [[{{node loss / mul / _287}} = _Recvclient_terminated = false,recv_device =“ / job:localhost /副本0 / task:0 / device:CPU:0”,send_device =“ / job:localhost /副本: 0 /任务:0 /设备:GPU:0“,send_device_incarnation = 1,tensor_name =” edge_1575_loss / mul“,tensor_type = DT_FLOAT,_device =” /作业:localhost /副本:0 /任务:0 /设备:CPU:0 “]]
由操作“ conv2d_1 / convolution”引起,定义为: 文件“ C:\ Users \ dieudon \ Desktop \ Matlab \ leap-master \ leap \ training.py”,行276,在 clize.run(火车) 在调用中的文件“ C:\ Users \ dieudon \ Anaconda3 \ lib \ site-packages \ sigtools \ modifiers.py”,第158行 返回self.func(* args,** kwargs) 运行中的文件“ C:\ Users \ dieudon \ Anaconda3 \ lib \ site-packages \ clize \ runner.py”,行360 ret = cli(* args) 调用中的文件“ C:\ Users \ dieudon \ Anaconda3 \ lib \ site-packages \ clize \ runner.py”,第220行 return func(* posargs,** kwargs) 火车上的第191行的文件“ C:\ Users \ dieudon \ Desktop \ Matlab \ leap-master \ leap \ training.py” 模型= create_model(net_name,img_size,num_output_channels,filters = filters,amsgrad = amsgrad,upsampling_layers = upsampling_layers,summary = True) 在create_model中的第104行中的文件“ C:\ Users \ dieudon \ Desktop \ Matlab \ leap-master \ leap \ training.py” 返回compile_model(img_size,output_channels,** kwargs) 文件“ c:\ users \ dieudon \ desktop \ matlab \ leap-master \ leap \ models.py”,第23行,jump_cnn x1 = Conv2D(过滤器,kernel_size = 3,padding =“ same”,Activation =“ relu”)(x_in) 在调用中的文件“ C:\ Users \ dieudon \ Anaconda3 \ lib \ site-packages \ keras \ engine \ topology.py”,第619行 输出= self.call(输入,** kwargs) 呼叫中的文件“ C:\ Users \ dieudon \ Anaconda3 \ lib \ site-packages \ keras \ layers \ convolutional.py”,行168 dilation_rate = self.dilation_rate) 在conv2d中的文件“ C:\ Users \ dieudon \ Anaconda3 \ lib \ site-packages \ keras \ backend \ tensorflow_backend.py”,行3341 data_format = tf_data_format) 卷起的文件“ C:\ Users \ dieudon \ Anaconda3 \ lib \ site-packages \ tensorflow \ python \ ops \ nn_ops.py”,第780行 返回op(输入,过滤器) 在调用中的文件“ C:\ Users \ dieudon \ Anaconda3 \ lib \ site-packages \ tensorflow \ python \ ops \ nn_ops.py”,行868 返回self.conv_op(inp,filter) 在调用中的文件“ C:\ Users \ dieudon \ Anaconda3 \ lib \ site-packages \ tensorflow \ python \ ops \ nn_ops.py”,第520行 返回self.call(inp,filter) 在调用中的文件“ C:\ Users \ dieudon \ Anaconda3 \ lib \ site-packages \ tensorflow \ python \ ops \ nn_ops.py”,第204行 名称= self.name) 在conv2d中的文件“ C:\ Users \ dieudon \ Anaconda3 \ lib \ site-packages \ tensorflow \ python \ ops \ gen_nn_ops.py”,行1044 data_format = data_format,dilations = dilations,name = name) _apply_op_helper中的文件“ C:\ Users \ dieudon \ Anaconda3 \ lib \ site-packages \ tensorflow \ python \ framework \ op_def_library.py”,行787 op_def = op_def) 文件“ C:\ Users \ dieudon \ Anaconda3 \ lib \ site-packages \ tensorflow \ python \ util \ deprecation.py”,行488,在new_func中 return func(* args,** kwargs) 在create_op中的文件“ C:\ Users \ dieudon \ Anaconda3 \ lib \ site-packages \ tensorflow \ python \ framework \ ops.py”,行3274 op_def = op_def) init 中的文件“ C:\ Users \ dieudon \ Anaconda3 \ lib \ site-packages \ tensorflow \ python \ framework \ ops.py”,行1770 self._traceback = tf_stack.extract_stack()
UnknownError(请参阅上面的回溯):无法获取卷积算法。这可能是因为cuDNN初始化失败,所以请尝试查看上面是否打印了警告日志消息。 [[节点conv2d_1 /卷积(定义在C:\ Users \ dieudon \ Anaconda3 \ lib \ site-packages \ keras \ backend \ tensorflow_backend.py:3341)= Conv2D [T = DT_FLOAT,_class = [“ loc:@ training / Adam / gradients / conv2d_1 / convolution_grad / Conv2DBackpropFilter“],data_format =” NCHW“,膨胀= [1,1,1,1],padding =” SAME“,步幅= [1,1,1,1],use_cudnn_on_gpu = true,_device =“ / job:localhost / replica:0 / task:0 / device:GPU:0”](培训/ Adam / gradients / conv2d_1 / convolution_grad / Conv2DBackpropFilter-0-TransposeNHWCToNCHW-LayoutOptimizer,conv2d_1 /内核/读取) ]] [[{{node loss / mul / _287}} = _Recvclient_terminated = false,recv_device =“ / job:localhost /副本0 / task:0 / device:CPU:0”,send_device =“ / job:localhost /副本: 0 /任务:0 /设备:GPU:0“,send_device_incarnation = 1,tensor_name =” edge_1575_loss / mul“,tensor_type = DT_FLOAT,_device =” /作业:localhost /副本:0 /任务:0 /设备:CPU:0 “]]
非常感谢您的帮助!
答案 0 :(得分:0)
您所要做的就是在代码的开头添加以下行:
from tensorflow.compat.v1 import ConfigProto
from tensorflow.compat.v1 import InteractiveSession
config = ConfigProto()
config.gpu_options.allow_growth = True
session = InteractiveSession(config=config)