          if self.plaid is not None:
              self.active_devices = self.plaid.active_devices
          else:
              devices = os.environ.get("CUDA_VISIBLE_DEVICES", None)
              if self.device_count == 0:
                  self.active_devices = list()
              elif devices is not None:
                  self.active_devices = [int(i) for i in devices.split(",") if devices]
              else:
                  self.active_devices = list(range(self.device_count))
              if self.logger:
 
</s> remove                 self.active_devices = [int(i) for i in devices.split(",") if devices]
 </s> add                 self._active_devices = [int(i) for i in devices.split(",") if devices] </s> remove                 self.active_devices = list(range(self.device_count))
            if self.logger:
                self.logger.debug("Active GPU Devices: %s", self.active_devices)

    def get_handles(self):
        """ Return all listed Nvidia handles """
        if self.plaid is not None:
            self.handles = self.plaid.devices
 </s> add                 self._active_devices = list(range(self._device_count))
            self._log("debug", "Active GPU Devices: {}".format(self._active_devices))

    def _get_handles(self):
        """ Obtain the internal handle identifiers for the system GPUs and allocate to
        :attr:`_handles`. """
        if self._is_plaidml:
            self._handles = self._plaid.devices </s> remove                 self.device_count = 0
        if self.logger:
            self.logger.debug("GPU Device count: %s", self.device_count)

    def get_active_devices(self):
        """ Return list of active Nvidia devices """
        if self.plaid is not None:
            self.active_devices = self.plaid.active_devices
 </s> add                 self._device_count = 0
        self._log("debug", "GPU Device count: {}".format(self._device_count))

    def _get_active_devices(self):
        """ Obtain the indices of active GPUs (those that have not been explicitly excluded by
        CUDA_VISIBLE_DEVICES or plaidML) and allocate to :attr:`_active_devices`. """
        if self._is_plaidml:
            self._active_devices = self._plaid.active_devices </s> remove         if self.plaid is not None:
            names = self.plaid.names
 </s> add         if self._is_plaidml:
            names = self._plaid.names </s> remove             self.device_count = pynvx.cudaDeviceGetCount(ignore=True)
 </s> add             self._device_count = pynvx.cudaDeviceGetCount(ignore=True)
            if self._device_count == 0:
                self._active_devices = list()
          if self.plaid is not None:
              self.active_devices = self.plaid.active_devices
          else:
              devices = os.environ.get("CUDA_VISIBLE_DEVICES", None)
            if self._device_count == 0:
                self._active_devices = list()
            if self._device_count == 0:
                self._active_devices = list()
              elif devices is not None:
                  self.active_devices = [int(i) for i in devices.split(",") if devices]
              else:
                  self.active_devices = list(range(self.device_count))
              if self.logger:
keep keep keep keep replace replace keep keep keep keep keep
 Core Updates (#1015)

- Remove lib.utils.keras_backend_quiet and replace with get_backend() where relevant
- Document lib.gpu_stats and lib.sys_info
- Remove call to GPUStats.is_plaidml from convert and replace with get_backend()
- lib.gui.menu - typofix 
lib/gpu_stats.py