code: def test_cuda_available_model_cpu(self, model, is_available_mock):
      is_available_mock.return_value = True
      model.device = "cpu"
  
      with pytest.warns(
          UserWarning,
          match=re.escape(
              "CUDA available but model device is set to CPU - is this desired?"
          ),
      ):
          device = _get_evaluate_in_batches_device(model=model)
  
      assert device == "cpu"
  
imports: import copy
  from functools import partial
  import re
  from unittest import mock
  import numpy
  import pytest
  from sklearn.metrics import roc_auc_score
  import torch
  import torchmetrics
  from collie.metrics import _get_evaluate_in_batches_device, _get_labels, _get_user_item_pairs, auc, evaluate_in_batches, explicit_evaluate_in_batches, get_preds, mapk, mrr
label_desc: Use image node_id 1 for calling the TestEvaluateInBatchesDevice obj's underlying member method code with example usage: obj.test_cuda_available_model_cpu(model, is_available_mock) without return types