code: def test_implicit_cnn_dilation_synthetic(
      num_layers, dilation, expected_mrr
  ):
      random_state = np.random.RandomState(RANDOM_SEED)
      train, test = _get_synthetic_data(
          randomness=1e-03,
          num_interactions=20000,
          random_state=random_state,
      )
  
      model = ImplicitSequenceModel(
          loss=LOSS,
          representation=CNNNet(
              train.num_items,
              embedding_dim=EMBEDDING_DIM,
              kernel_width=3,
              dilation=dilation,
              num_layers=num_layers,
          ),
          batch_size=BATCH_SIZE,
          learning_rate=1e-2,
          l2=0.0,
          n_iter=NUM_EPOCHS * 5 * num_layers,
          random_state=random_state,
          use_cuda=CUDA,
      )
  
      model.fit(train, verbose=VERBOSE)
  
      mrr = _evaluate(model, test)
  
      assert mrr.mean() > expected_mrr
  
imports: import os
  import numpy
  import pytest
  from spotlight.cross_validation import user_based_train_test_split
  from spotlight.datasets import synthetic
  from spotlight.evaluation import sequence_mrr_score
  from spotlight.layers import BloomEmbedding
  from spotlight.sequence.implicit import ImplicitSequenceModel
  from spotlight.sequence.representations import CNNNet, LSTMNet, PoolNet
label_desc: Use image node_id 6 for calling a global function with example usage: test_implicit_cnn_dilation_synthetic(num_layers, dilation, expected_mrr) without return types