Looks like some layers of the model lives on GPU and others live on CPU. Is this intentional? DataParallel does not support mixed CPU-GPU model, all layers of the same model need to live on the same GPU.
If you have multi-GPU model, e.g., some layers live on cuda:0 and others live on cuda:1, you can try DistributedDataParallel. Check out this 659.