Exemplo n.º 1
0
 def _update_with_movers(self, feed_dict, feed_map):
   # If a tensor handle that is fed to a device incompatible placeholder,
   # we move the tensor to the right device, generate a new tensor handle,
   # and update `feed_dict` to use the new handle.
   handle_movers = []
   for feed_name, val in feed_map.items():
     mover = session_ops._get_handle_mover(self.graph, *val)
     if mover:
       handle_movers.append((feed_name, val[1], mover))
   # Transfer a tensor to the right device if needed.
   if not handle_movers:
     return []
   else:
     feeds = {}
     fetches = []
     for _, handle, mover in handle_movers:
       feeds[mover[0]] = handle
       fetches.append(mover[1])
     handles = self.run(fetches, feed_dict=feeds)
     for handle_mover, handle in zip(handle_movers, handles):
       np_val = np.array(handle.handle, dtype=np.object)
       feed_dict[handle_mover[0]] = np_val
     return handles
Exemplo n.º 2
0
 def _update_with_movers(self, feed_dict, feed_map):
   # If a tensor handle that is fed to a device incompatible placeholder,
   # we move the tensor to the right device, generate a new tensor handle,
   # and update `feed_dict` to use the new handle.
   handle_movers = []
   for feed_name, val in feed_map.items():
     mover = session_ops._get_handle_mover(self.graph, *val)
     if mover:
       handle_movers.append((feed_name, val[1], mover))
   # Transfer a tensor to the right device if needed.
   if not handle_movers:
     return []
   else:
     feeds = {}
     fetches = []
     for _, handle, mover in handle_movers:
       feeds[mover[0]] = handle
       fetches.append(mover[1])
     handles = self.run(fetches, feed_dict=feeds)
     for handle_mover, handle in zip(handle_movers, handles):
       np_val = np.array(handle.handle, dtype=np.object)
       feed_dict[handle_mover[0]] = np_val
     return handles