def testEmptyDevicescopeBasic(self): self.assertEquals(scope.CurrentDeviceScope(), None) dsc = core.DeviceOption(workspace.GpuDeviceType, 9) with scope.DeviceScope(dsc): self.assertEquals(scope.CurrentDeviceScope(), dsc) with scope.EmptyDeviceScope(): self.assertEquals(scope.CurrentDeviceScope(), None) self.assertEquals(scope.CurrentDeviceScope(), dsc) self.assertEquals(scope.CurrentDeviceScope(), None)
def testEmptyDevicescopeBasic(self): self.assertEquals(scope.CurrentDeviceScope(), None) dsc = core.DeviceOption(_gpu_device_type(), 9) with scope.DeviceScope(dsc): self.assertEquals(scope.CurrentDeviceScope(), dsc) with scope.EmptyDeviceScope(): self.assertEquals(scope.CurrentDeviceScope(), None) self.assertEquals(scope.CurrentDeviceScope(), dsc) self.assertEquals(scope.CurrentDeviceScope(), None)
def testEmptyDevicescopeBasic(self): self.assertEquals(scope.CurrentDeviceScope(), None) dsc = core.DeviceOption(caffe2_pb2.CUDA, 9) with scope.DeviceScope(dsc): self.assertEquals(scope.CurrentDeviceScope(), dsc) with scope.EmptyDeviceScope(): self.assertEquals(scope.CurrentDeviceScope(), None) self.assertEquals(scope.CurrentDeviceScope(), dsc) self.assertEquals(scope.CurrentDeviceScope(), None)
def zero_fill(blob): shape = predictor_export_meta.shapes.get(blob) if shape is None: if blob not in ws.blobs: raise Exception( "{} not in workspace but needed for shape: {}".format( blob, ws.blobs)) shape = ws.blobs[blob].fetch().shape # Explicitly null-out the scope so users (e.g. PredictorGPU) # can control (at a Net-global level) the DeviceOption of # these filling operators. with scope.EmptyDeviceScope(): net.ConstantFill([], blob, shape=shape, value=0.0)