code: def test_memmap_neighbor_loader(tmp_path):
      path = osp.join(tmp_path, "x.npy")
      x = np.memmap(path, dtype=np.float32, mode="w+", shape=(100, 32))
      x[:] = np.random.randn(100, 32)
  
      data = Data()
      data.x = np.memmap(
          path, dtype=np.float32, mode="r", shape=(100, 32)
      )
      data.edge_index = get_random_edge_index(100, 100, 500)
  
      assert str(data) == "Data(x=[100, 32], edge_index=[2, 500])"
      assert data.num_nodes == 100
  
      loader = NeighborLoader(
          data, num_neighbors=[5] * 2, batch_size=20, num_workers=2
      )
      batch = next(iter(loader))
      assert batch.num_nodes <= 100
      assert isinstance(batch.x, torch.Tensor)
      assert batch.x.size() == (batch.num_nodes, 32)
  
imports: import os.path
  import numpy
  import pytest
  import torch
  import torch_geometric.typing
  from torch_geometric import EdgeIndex
  from torch_geometric.data import Data, HeteroData
  from torch_geometric.loader import NeighborLoader
  from torch_geometric.nn import GraphConv, to_hetero
  from torch_geometric.sampler.base import SubgraphType
  from torch_geometric.testing import MyFeatureStore, MyGraphStore, get_random_edge_index, get_random_tensor_frame, onlyLinux, onlyNeighborSampler, onlyOnline, withCUDA, withPackage
  from torch_geometric.typing import WITH_EDGE_TIME_NEIGHBOR_SAMPLE, WITH_PYG_LIB, WITH_TORCH_SPARSE, WITH_WEIGHTED_NEIGHBOR_SAMPLE, TensorFrame
  from torch_geometric.utils import is_undirected, sort_edge_index, to_torch_csr_tensor, to_undirected
label_desc: Use image node_id 12 for calling a global function with example usage: test_memmap_neighbor_loader(tmp_path) without return types