code: def get_net_tasks(self, net_str_list, net_configs, run_configs):
      net_val_list = [-1] * len(net_str_list)
  
      to_run = {}
      for _i, net_str in enumerate(net_str_list):
          net_val, net_folder = self.net_pool.get_net_val(net_str)
          if net_val is None:
              if net_folder in to_run:
                  to_run[net_folder] += [_i]
              else:
                  to_run[net_folder] = [_i]
                  self.prepare_folder_for_valid(
                      net_str,
                      net_configs[_i],
                      run_configs[_i],
                      net_folder,
                  )
          else:
              net_val_list[_i] = net_val
  
      task_list = [
          [net_folder, to_run[net_folder]] for net_folder in to_run
      ]
      return task_list
      # distributed.run(task_list)
      """episode_total_running_time = 0
  		for net_folder, idx, net_val in task_list:
  			net_str = net_str_list[idx[0]]
  			net_val, running_time = net_val
  			episode_total_running_time += running_time
  			self.net_pool.on_running_finished(net_str, net_folder, net_val)
  			for _id in idx:
  				net_val_list[_id] = net_val
  		self.log_nets(net_str_list, episode_total_running_time)
  		self.net_pool.save()
  		return net_val_list"""
  
imports: import os
  import subprocess
  import json
  import pickle
  import numpy
  from ..data_providers.utils import get_data_provider_by_name
  from .expdir_monitor import ExpdirMonitor
  from ..expdir_monitor import distributed
label_desc: Use image node_id 8 for calling the ArchManager obj's underlying member method code with example usage: obj.get_net_tasks(net_str_list, net_configs, run_configs) and returns: task_list