code: def test_deep_embedding_forward_backward(self):
      column_info = ColumnFeatureInfo(
          embed_cols=["userId", "itemId"],
          embed_in_dims=[100, 100],
          embed_out_dims=[20, 20],
      )
      model = WideAndDeep(5, column_info, "deep")
      model.summary()
      input = np.random.randint(1, 100, size=(10, 2))
      self.assert_forward_backward(model, input)
  
file_path: analytics-zoo/pyzoo/test/zoo/models/recommendation/test_wideanddeep.py
imports: import pytest
  from pyspark.sql.functions import col, udf
  from zoo.models.recommendation import *
  from zoo.models.recommendation.utils import *
  from zoo.common.nncontext import *
  from test.zoo.pipeline.utils.test_utils import ZooTestCase
label_desc: Use image node_id 4 for calling the TestWideAndDeep obj's underlying member method code with example usage: obj.test_deep_embedding_forward_backward() without return types