def process_images(label_file, one_hot, num_classes=10): if util.getFileName(label_file) == 'train.txt': images = numpy.empty((50000, 3072)) labels = numpy.empty(50000) if util.getFileName(label_file) == 'test.txt': images = numpy.empty((10000, 3072)) labels = numpy.empty(10000) lines = util.readLines(label_file) label_record = util.getLabel(lines) file_name_length = len(util.getFileName(label_file)) image_dir = label_file[:-1 * file_name_length] print(len(label_record)) index = 0 for name in label_record: image = Image.open(image_dir + str(label_record[name]) + '\\' + name) if index % 100 == 0: print("processing %d: " % index + image_dir + str(label_record[name]) + '\\' + name) img_ndarray = numpy.asarray(image, dtype='float32') images[index] = numpy.ndarray.flatten(img_ndarray) labels[index] = numpy.int(label_record[name]) index = index + 1 print("done: %d" % index) num_images = index rows = 32 cols = 32 if one_hot: return images.reshape(num_images, rows, cols, 3), dense_to_one_hot(numpy.array(labels, dtype=numpy.uint8), num_classes) return images.reshape(num_images, rows, cols, 3), numpy.array(labels, dtype=numpy.uint8)
def editTextProperty(self, controlId, name): control = self.getControlById(controlId) textValue = util.getLabel(control) keyboard = xbmc.Keyboard() keyboard.setHeading(util.localize(32132) % name) keyboard.setDefault(textValue) keyboard.doModal() if keyboard.isConfirmed(): textValue = keyboard.getText() util.setLabel(textValue, control) return textValue
def main(args=None): logging.basicConfig(format='%(levelname)s:%(message)s', level=logging.DEBUG) logging.info('Arquitetura AlexNet') parser = argparse.ArgumentParser() parser.add_argument('--num_classes', help='Num. de classes.', type=int, default=1000) parser.add_argument('--pretrained', help='Serão utilizados pesos pré-treinados.', type=bool, default=True) parser.add_argument('--model_url', help='Caminho para os pesos.', default="./pesos/alexnet-owt-4df8aa71.pth") opt = parser.parse_args(args) # Dados proc = Preprocessador() imagem_url = "./imagens/raposa.jpg" imagem = Image.open(imagem_url) imagem = proc.executa(imagem) #https://jhui.github.io/2018/02/09/PyTorch-Basic-operations/ imagem = imagem.unsqueeze(0) # Instancia do modelo model = AlexNet(opt.num_classes) model.eval() # Caso deseje utilizar os pesos pré-treinados if opt.pretrained: checkpoint = torch.load(opt.model_url) model.load_state_dict(checkpoint) # Utiliza a GPU se existir no computador if torch.cuda.is_available(): model.to('cuda') with torch.no_grad(): saida = model(imagem) # Obtem o indice melhor ranqueado index = np.argmax(saida[0]).item() acuracia = torch.max(saida).item() print(getLabel(index), acuracia)
def editTextProperty(self, controlId, name): control = self.getControlById(controlId) textValue = util.getLabel(control) keyboard = xbmc.Keyboard() keyboard.setHeading(util.localize(32132) % name) keyboard.setDefault(textValue) keyboard.doModal() if (keyboard.isConfirmed()): textValue = keyboard.getText() util.setLabel(textValue, control) return textValue
def editPathWithFileMask(self, controlId, enterString, controlIdFilemask): dialog = xbmcgui.Dialog() #get new value pathValue = dialog.browse(0, enterString, 'files') control = self.getControlById(controlId) util.setLabel(pathValue, control) control = self.getControlById(controlIdFilemask) filemask = util.getLabel(control) pathComplete = os.path.join(pathValue, filemask.strip()) return pathComplete
def editFilemask(self, controlId, enterString, pathComplete): control = self.getControlById(controlId) filemask = util.getLabel(control) keyboard = xbmc.Keyboard() keyboard.setHeading(util.localize(32132) % enterString) keyboard.setDefault(filemask) keyboard.doModal() if keyboard.isConfirmed(): filemask = keyboard.getText() util.setLabel(filemask, control) pathParts = os.path.split(pathComplete) path = pathParts[0] pathComplete = os.path.join(path, filemask.strip()) return pathComplete
def editFilemask(self, controlId, enterString, pathComplete): control = self.getControlById(controlId) filemask = util.getLabel(control) keyboard = xbmc.Keyboard() keyboard.setHeading(util.localize(32132) % enterString) keyboard.setDefault(filemask) keyboard.doModal() if (keyboard.isConfirmed()): filemask = keyboard.getText() util.setLabel(filemask, control) pathParts = os.path.split(pathComplete) path = pathParts[0] pathComplete = os.path.join(path, filemask.strip()) return pathComplete