Example #1
0
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)
Example #2
0
    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
Example #3
0
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)
Example #4
0
	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
Example #5
0
    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
Example #6
0
	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
Example #7
0
    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
Example #8
0
	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