PaddlePaddle / PaddleVideo

Awesome video understanding toolkits based on PaddlePaddle. It supports video data annotation tools, lightweight RGB and skeleton based action recognition model, practical applications for video tagging and sport action detection.
Apache License 2.0
1.52k stars 378 forks source link

訓練 LSTM 的問題 #602

Open i923002 opened 1 year ago

i923002 commented 1 year ago

在訓練 LSTM 時,python main.py --validate -c applications/FootballAction/train_proposal/configs/lstm_football.yaml -o output_dir=applications/FootballAction/checkpoints/LSTM 請問各位大神下列要如何解決?搞了好久了都沒結果

W0322 08:23:56.238795 4752 gpu_resources.cc:61] Please NOTE: device: 0, GPU Compute Capability: 8.9, Driver API Version: 12.0, Runtime API Version: 11.7 W0322 08:23:56.240795 4752 gpu_resources.cc:91] device: 0, cuDNN Version: 8.4. [03/22 08:23:56] Training in fp32 mode. Traceback (most recent call last): File "main.py", line 142, in main() File "main.py", line 138, in main profiler_options=args.profiler_options) File "D:\Paddle\PaddleVideo\paddlevideo\tasks\train.py", line 237, in train_model outputs = model(data, mode='train') File "C:\Users\Lee\anaconda3\envs\paddlevideo\lib\site-packages\paddle\fluid\dygraph\layers.py", line 1012, in call return self.forward(*inputs, kwargs) File "D:\Paddle\PaddleVideo\paddlevideo\modeling\framework\recognizers\base.py", line 49, in forward return self.train_step(data_batch) File "D:\Paddle\PaddleVideo\paddlevideo\modeling\framework\recognizers\recognizer1d.py", line 83, in train_step output_logit, output_iou = self.forward_net(imgs) File "D:\Paddle\PaddleVideo\paddlevideo\modeling\framework\recognizers\recognizer1d.py", line 72, in forward_net lstm_logit, lstm_output = self.head(imgs) File "C:\Users\Lee\anaconda3\envs\paddlevideo\lib\site-packages\paddle\fluid\dygraph\layers.py", line 1012, in call return self.forward(*inputs, *kwargs) File "D:\Paddle\PaddleVideo\paddlevideo\modeling\heads\attention_lstm_head.py", line 232, in forward lstmout, = m(inputs=inputs[i][0], sequence_length=inputs[i][1]) File "C:\Users\Lee\anaconda3\envs\paddlevideo\lib\site-packages\paddle\fluid\dygraph\layers.py", line 1012, in call return self.forward(inputs, kwargs) File "C:\Users\Lee\anaconda3\envs\paddlevideo\lib\site-packages\paddle\nn\layer\rnn.py", line 1073, in forward for _ in range(self.statecomponents) File "C:\Users\Lee\anaconda3\envs\paddlevideo\lib\site-packages\paddle\nn\layer\rnn.py", line 1073, in for in range(self.state_components) File "C:\Users\Lee\anaconda3\envs\paddlevideo\lib\site-packages\paddle\fluid\layers\tensor.py", line 909, in fill_constant_batch_size_like input_dim_idx, output_dim_idx, place) NotImplementedError: (Unimplemented) Unsupported backend Undefined when casting it to paddle place type. (at ..\paddle\phi\core\compat\convert_utils.cc:103)

yangming915 commented 1 year ago

也是碰到这个问题,我一行行代码查下去,最后输入tensor.py中的fill_constant_batch_size_like(input, shape, dtype, value, input_dim_idx=0, output_dim_idx=0, force_cpu=False):函数的几个变量的类型和shape如下: input:<class 'paddle.Tensor'> [64, 200, 2048] dtype:f32 shape:(2, -1, 2048) value:<class 'int'> 0 place:<class 'paddle.fluid.libpaddle.CUDAPlace'>,实在看不出哪里不对,看起来都没错。若是有疑问的,这个函数的input参数为什么使用了关键字input,就是和input一样的。

Danvae commented 1 year ago

也是碰到这个问题,我一行行代码查下去,最后输入tensor.py中的fill_constant_batch_size_like(input, shape, dtype, value, input_dim_idx=0, output_dim_idx=0, force_cpu=False):函数的几个变量的类型和shape如下: input:<class 'paddle.Tensor'> [64, 200, 2048] dtype:f32 shape:(2, -1, 2048) value:<class 'int'> 0 place:<class 'paddle.fluid.libpaddle.CUDAPlace'>,实在看不出哪里不对,看起来都没错。若是有疑问的,这个函数的input参数为什么使用了关键字input,就是和input一样的。

同样遇到这个问题,请问你解决了吗?