code: def load_poses(only_rotations=True):
      """Load data from data/poses/poses.csv.
  
      Returns
      -------
      data : array-like, shape=[5, 3] or shape=[5, 6]
          Array with each row representing one sample,
          i. e. one 3D rotation or one 3D rotation + 3D translation.
      img_paths : list
          List of img paths.
      """
      data = []
      img_paths = []
      so3 = SpecialOrthogonal(n=3, point_type="vector")
  
      with open(POSES_PATH) as json_file:
          data_file = json.load(json_file)
  
          for row in data_file:
              pose_mat = gs.array(row["rot_mat"])
              pose_vec = so3.rotation_vector_from_matrix(pose_mat)
              if not only_rotations:
                  trans_vec = gs.array(row["trans_mat"])
                  pose_vec = gs.concatenate(
                      [pose_vec, trans_vec], axis=-1
                  )
              data.append(pose_vec)
              img_paths.append(row["img"])
  
      data = gs.array(data)
      return data, img_paths
  
imports: import csv
  import json
  import os
  import zipfile
  import numpy
  import pandas
  import geomstats.backend
  from geomstats.datasets._base import RemoteFileMetadata, _fetch_remote
  from geomstats.datasets.prepare_graph_data import Graph
  from geomstats.geometry.hypersphere import Hypersphere
  from geomstats.geometry.skew_symmetric_matrices import SkewSymmetricMatrices
  from geomstats.geometry.special_orthogonal import SpecialOrthogonal
label_desc: Use image node_id 4 for calling a global function with example usage: load_poses(only_rotations) and returns: data,  img_paths