code: def test_embedding_scalar_weight_error(self, device):
      indices = torch.rand(2, 2, device=device).long()
      weights = [
          torch.tensor(1.0, device=device),
          torch.tensor(1.0, device=device).reshape(1, 1, 1),
      ]
  
      for weight in weights:
          with self.assertRaisesRegex(
              RuntimeError, "'weight' must be 2-D"
          ):
              torch.nn.functional.embedding(indices, weight)
  
imports: import unittest
  import random
  import itertools
  from itertools import product
  import torch
  from torch.testing._internal.common_utils import run_tests, set_default_dtype, skipIfTorchDynamo, instantiate_parametrized_tests, parametrize, _assertGradAndGradgradChecks, IS_JETSON
  from torch.testing._internal.common_cuda import TEST_CUDA
  from torch.testing._internal.common_nn import NNTestCase
  from torch.testing._internal.common_device_type import onlyNativeDeviceTypes, dtypes, instantiate_device_type_tests, dtypesIfCUDA, onlyCUDA, TEST_WITH_ROCM, skipCUDAIf, skipMeta
  import torch.nn.functional
  import torch.nn
  from torch.testing._internal.common_utils import dtype2prec_DONTUSE
label_desc: Use image node_id 2 for calling the TestEmbeddingNNDeviceType obj's underlying member method code with example usage: obj.test_embedding_scalar_weight_error(device) without return types