def accept(self): hdf = guessHdfType(self._file) dmodel = ClfDataModel(self.classifier_name.currentText()) try: name = hdf[dmodel.path].attrs[dmodel.NAME] except KeyError: return lib = hdf[dmodel.path].attrs[dmodel.LIB] # switch classifier before loading idx = self.parent().classifiers.findText(name) if idx < 0: QMessageBox.critical(self, "Error", "Classifier %s not supported" % name) return self.parent().classifiers.setCurrentIndex(idx) clf = self.parent().currentClassifier() model = self.parent().model self.parent().removeAll() self.parent().clearItems() if lib in (dmodel.OneClassSvm,): self._loadSingle(model, hdf, dmodel) elif lib in (dmodel.SupportVectorClassifier,): self._loadMultiClass(model, hdf, dmodel) elif lib in (dmodel.ManualClassifier,): self._loadMultiClass(model, hdf, dmodel) self.parent().setClassifierState(True, True) self.parent().onPredict() else: msg = "Classifier %s not supported" % lib QMessageBox.critical(self, "Error", msg) params = dict(hdf[dmodel.classdef].attrs) for k, v in params.items(): if v == "None": params[k] = None self.parent().setClassifierParameters(params) hdf.close() super(LoadClassifierDialog, self).accept()
def accept(self): hdf = guessHdfType(self._file) dmodel = ClfDataModel(self.classifier_name.currentText()) try: name = hdf[dmodel.path].attrs[dmodel.NAME] except KeyError: return lib = hdf[dmodel.path].attrs[dmodel.LIB] # switch classifier before loading idx = self.parent().classifiers.findText(name) if idx < 0: QMessageBox.critical(self, "Error", "Classifier %s not supported" % name) return self.parent().classifiers.setCurrentIndex(idx) clf = self.parent().currentClassifier() model = self.parent().model self.parent().removeAll() self.parent().clearItems() if lib in (dmodel.OneClassSvm, ): self._loadSingle(model, hdf, dmodel) elif lib in (dmodel.SupportVectorClassifier, ): self._loadMultiClass(model, hdf, dmodel) else: msg = "Classifier %s not supported" % lib QMessageBox.critical(self, "Error", msg) params = dict(hdf[dmodel.classdef].attrs) for k, v in params.items(): if v == 'None': params[k] = None self.parent().setClassifierParameters(params) hdf.close() super(LoadClassifierDialog, self).accept()
def openFile(self, file_): self.close() self._h5f = guessHdfType(file_) self.fileOpened.emit(self._h5f.fileinfo)