code: def sample_embeddings(self, num_embeddings):
      num_actions = len(self.dicts)
      embeddings = []
      num_embeddings_per_action = int(num_embeddings / num_actions)
      for action in range(num_actions):
          embeddings.append(
              self.dicts[action].sample_embeddings(
                  num_embeddings_per_action
              )
          )
      embeddings = np.vstack(embeddings)
  
      # the numbers did not divide nicely, let's just randomly sample some more embeddings
      if num_embeddings_per_action * num_actions < num_embeddings:
          action = np.random.randint(0, num_actions)
          extra_embeddings = self.dicts[action].sample_embeddings(
              num_embeddings - num_embeddings_per_action * num_actions
          )
          embeddings = np.vstack([embeddings, extra_embeddings])
      return embeddings
  
imports: import os
  import pickle
  import numpy
label_desc: Use image node_id 6 for calling the QDND obj's underlying member method code with example usage: obj.sample_embeddings(num_embeddings) and returns: embeddings