def __init__(self, model: d5.ops.OnnxModel, device: d5.DeviceType, events: List[d5.ExecutorEvent] = None): super(TensorflowGraphExecutor, self).__init__(TensorflowNetwork(device), events) self.setup_done = False self.model = model self.sess = None visitor = TensorflowVisitor() model.accept(visitor, self.network) self.is_training = visitor.is_training
def __init__(self, model: d5.ops.OnnxModel, device_option: DeviceOption, events: List[d5.ExecutorEvent] = []): super(Caffe2GraphExecutor, self).__init__(Caffe2Network(device_option), events) self.device_option = device_option self.model = model with core.DeviceScope(self.device_option): model.accept(Caffe2Visitor(device_option), self.network)
def __init__(self, model: d5.ops.OnnxModel, device: d5.DeviceType, events: List[d5.ExecutorEvent] = []): super().__init__(model, events) self.devname = 'cuda' if device is None or device.is_gpu() else 'cpu' self.network = PyTorchNetwork(device) self.visitor = PyTorchVisitor() self.is_training = False model.accept(self.visitor, self.network) self.model = self.visitor.model.to(self.devname) self.model.eval() new_network = PyTorchNativeNetwork(self.model) new_network.outputs = self.network.outputs self.network = new_network torch.cuda.empty_cache()