笔记本电脑规格: 操作系统:Mac OS Mojave Python:3.7
在拟合rnn模型时,出现以下错误:
InvalidArgumentError:没有使用这些attrs注册任何OpKernel来支持Op'CudnnRNN'。注册设备:[CPU],注册内核:
> [[node cu_dnnlstm/CudnnRNN (defined at <ipython-input-15->580eb6f63222>:3) = CudnnRNN[T=DT_FLOAT, direction="unidirectional", >dropout=0, input_mode="linear_input", is_training=true, rnn_mode="lstm", >seed=0, seed2=0](cu_dnnlstm/transpose, cu_dnnlstm/ExpandDims, >cu_dnnlstm/ExpandDims_1, cu_dnnlstm/concat)]]
由操作“ cu_dnnlstm / CudnnRNN”引起,定义为: > _run_module_as_main中的文件“ /anaconda3/lib/python3.7/runpy.py”,第193行 “ 主要”,mod_spec) _run_code中的文件“ /anaconda3/lib/python3.7/runpy.py”,第85行 exec(代码,run_globals) 在第16行的“ /anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py”文件中 app.launch_new_instance() 在launch_instance中,文件“ /anaconda3/lib/python3.7/site->packages/traitlets/config/application.py”,行658 app.start() 在开始的文件“ /anaconda3/lib/python3.7/site-packages/ipykernel/kernelapp.py”,第497行 self.io_loop.start() 在开始的文件“ /anaconda3/lib/python3.7/site->packages/tornado/platform/asyncio.py”,第132行 self.asyncio_loop.run_forever() > run_forever中的第523行的文件“ /anaconda3/lib/python3.7/asyncio/base_events.py” self._run_once() > _run_once中的文件“ /anaconda3/lib/python3.7/asyncio/base_events.py”,行1758 handle._run() _run中的文件“ /anaconda3/lib/python3.7/asyncio/events.py”,第88行 self._context.run(self._callback,* self._args) _run_callback中的文件“ /anaconda3/lib/python3.7/site-packages/tornado/ioloop.py”,行> 758 ret = callback() 在null_wrapper中的文件“ /anaconda3/lib/python3.7/site-packages/tornado/stack_context.py”,第300行 返回fn(* args,** kwargs) 文件“ /anaconda3/lib/python3.7/site->packages/zmq/eventloop/zmqstream.py”,第536行,位于 self.io_loop.add_callback(lambda:self._handle_events(self.socket,0)) _handle_events中第450行的文件“ /anaconda3/lib/python3.7/site-> packages / zmq / eventloop / zmqstream.py” self._handle_recv() _handle_recv中的第480行的文件“ /anaconda3/lib/python3.7/site->packages/zmq/eventloop/zmqstream.py” self._run_callback(回调,味精) _run_callback中的文件“ /anaconda3/lib/python3.7/site->packages/zmq/eventloop/zmqstream.py”,第432行 回调(* args,** kwargs) 文件“ /anaconda3/lib/python3.7/site-packages/tornado/stack_context.py”, 第300行,在null_wrapper中 返回fn(* args,** kwargs) 调度程序中的文件“ /anaconda3/lib/python3.7/site-packages/ipykernel/kernelbase.py”,第283行 返回self.dispatch_shell(stream,msg) 文件“ /anaconda3/lib/python3.7/site-packages/ipykernel/kernelbase.py”,行233,位于dispatch_shell中 处理程序(流,标识,味精) 在execute_request中,文件“ /anaconda3/lib/python3.7/site-packages/ipykernel/kernelbase.py”,行399 user_expressions,allow_stdin) 在do_execute中,文件“ /anaconda3/lib/python3.7/site-packages/ipykernel/ipkernel.py”,第208行 res = shell.run_cell(代码,store_history = store_history,silent =静音) 在run_cell中的文件“ /anaconda3/lib/python3.7/site-packages/ipykernel/zmqshell.py”,行537 返回super(ZMQInteractiveShell,self).run_cell(* args,** kwargs) 在run_cell中的文件“ /anaconda3/lib/python3.7/site-packages/IPython/core/interactiveshell.py”,行2662 raw_cell,store_history,silent,shell_futures) _run_cell中的文件“ /anaconda3/lib/python3.7/site-packages/IPython/core/interactiveshell.py”,行2785 交互性=交互性,编译器=编译器,结果=结果) 在run_ast_nodes中的文件“ /anaconda3/lib/python3.7/site-packages/IPython/core/interactiveshell.py”,行2901 如果self.run_code(代码,结果): 在run_code中的文件“ /anaconda3/lib/python3.7/site-packages/IPython/core/interactiveshell.py”,第2961行 exec(code_obj,self.user_global_ns,self.user_ns) 文件“”,第3行,在 model.add(CuDNNLSTM(128,input_shape =(x_train.shape [1:]),return_sequences = True))) _method_wrapper中的第474行的文件“ /anaconda3/lib/python3.7/site-packages/tensorflow/python/training/checkpointable/base.py” 方法(自己,* args,** kwargs) 在文件“ /anaconda3/lib/python3.7/site-packages/tensorflow/python/keras/engine/sequential.py”中添加第159行 层(x) 在调用中的文件“ /anaconda3/lib/python3.7/site-packages/tensorflow/python/keras/layers/recurrent.py”,第619行 返回超级(RNN,自我)。调用(输入,** kwargs) 调用中的文件“ /anaconda3/lib/python3.7/site-packages/tensorflow/python/keras/engine/base_layer.py”,行757 输出= self.call(输入,* args,** kwargs) 通话中的第109行“ /anaconda3/lib/python3.7/site-packages/tensorflow/python/keras/layers/cudnn_recurrent.py” 输出,状态= self._process_batch(输入,initial_state) _process_batch中的第493行“ /anaconda3/lib/python3.7/site-packages/tensorflow/python/keras/layers/cudnn_recurrent.py”文件 is_training = True) 文件“ /anaconda3/lib/python3.7/site-packages/tensorflow/python/ops/gen_cudnn_rnn_ops.py”,行116,位于cudnn_rnn中 is_training = is_training,名称=名称) _apply_op_helper中的文件“ /anaconda3/lib/python3.7/site-packages/tensorflow/python/framework/op_def_library.py”,行787 op_def = op_def) 在new_func中的文件“ /anaconda3/lib/python3.7/site-packages/tensorflow/python/util/deprecation.py”,第488行 return func(* args,** kwargs) 在create_op中,文件“ /anaconda3/lib/python3.7/site-packages/tensorflow/python/framework/ops.py”,行3274 op_def = op_def) init 中的文件“ /anaconda3/lib/python3.7/site-packages/tensorflow/python/framework/ops.py”,行1770 self._traceback = tf_stack.extract_stack()
InvalidArgumentError(请参阅上面的回溯):没有使用这些attrs注册任何OpKernel支持Op'CudnnRNN'。注册设备:[CPU],注册内核:
[[node cu_dnnlstm/CudnnRNN (defined at <ipython-input-15-580eb6f63222>:3) = CudnnRNN[T=DT_FLOAT, direction="unidirectional", dropout=0, input_mode="linear_input", is_training=true, rnn_mode="lstm", seed=0, seed2=0](cu_dnnlstm/transpose, cu_dnnlstm/ExpandDims, cu_dnnlstm/ExpandDims_1, cu_dnnlstm/concat)]]
答案 0 :(得分:0)
您确定Mac确实具有Nvidia GPU吗?此外,它支持CuDNN吗?
答案 1 :(得分:0)
您正在CPU上运行基于CuDNN的层(最有可能是CuDNNLSTM),因为CuDNN实现仅适用于具有CUDA的NVIDIA GPU,因此将无法工作。
解决方案是将CuDNNLSTM层替换为普通的LSTM层。