Exemplo n.º 1
0
def teste(arquivo):
    with open('BLSTM.pkl', 'rb') as pkl_file:
        layer2, layer1, image = dill.load(pkl_file)

    audio = retorna_logfbank(arquivo)
    dados_carregado = cd.Carrega()

    chars = utils.mapeamento_palavra()

    printer = utils.Printer(chars)

    data_x = []
    _, sinal = aux.deslocamento_amostra(audio, larg=largura)
    sinal = np.concatenate(sinal)
    probs = dados_carregado.treinar(sinal)

    data_x.append(np.asarray(probs.T, dtype=th.config.floatX))

    ntwk = neuralNetTest(layer2, layer1, image)

    x = data_x[0]
    saida_obtida, _ = ntwk.tester(x)
    rotulo_pred, retornado2 = printer.rotulo_(saida_obtida)

    resultado = verificar(retornado2)

    print("Palavra encontrada:", resultado)
    return resultado
Exemplo n.º 2
0
def testar(ntwk, rodada, dados_carregado, largura):
    with open('base_BF_rod' + str(rodada) + '.pkl', 'rb') as f:
        base = dill.load(f)

    lista, y_train = base[0], base[2]

    args = utils.read_args('configs/default.ast')
    num_epochs, nnet_args = args['num_epochs'], args['nnet_args']
    chars = utils.mapeamento_palavra()
    num_classes = len(chars)

    num_samples = len(lista)
    printer = utils.Printer(chars)

    data_x, data_y = formata_padrao_entrada_saida(num_classes, y_train,
                                                  dados_carregado, lista,
                                                  largura)

    img_ht = data_x[0].shape[0]

    acertos = 0
    erros = 0
    quantidade_total = len(lista)

    for c in range(1):
        for i in range(len(lista)):
            # print(lista[i])
            x = data_x[i]
            y = data_y[i]

            _, esperado = printer.yprint2(y)
            saida_obtida, _ = ntwk.tester(x)
            rotulo_pred, retornado2 = printer.rotulo_(saida_obtida)

            resultado = verificar(retornado2)

            if (esperado == resultado):
                acertos += 1
            else:
                erros += 1

    return acertos, erros
Exemplo n.º 3
0
    output_fname = output_fname.replace('.ast', '').replace('/', '').replace('configs', '')
else:
    output_fname = "default"
network_fname = '{}.pkl'.format(output_fname)
output_fname += '_' + dt.now().strftime('%y%m%d_%H%M') + '.txt'
distances, wts = [], []
print("Output will be written to: ", output_fname)

# Initialize Language
lang.select_labeler(args['labeler'])
alphabet_size = len(lang.symbols)

# Initialize Scriber
scribe_args['dtype'] = th.config.floatX
scriber = Scribe(lang, **scribe_args)
printer = utils.Printer(lang.symbols)

sys.setrecursionlimit(1000000)

# Initialize the Neural Network
if os.path.exists(network_fname):
    print('Loading existing network file')
    with open(network_fname, 'rb') as fh:
        ntwk = pickle.load(fh)
else:
    print('Building the Network')
    ntwk = nn.NeuralNet(scriber.height, alphabet_size, **nnet_args)
    with open(network_fname, 'wb') as fh:
        pickle.dump(ntwk, fh)

Exemplo n.º 4
0
################################### Main Script ###########################
print('Loading the dataset.')
with open(sys.argv[1], 'rb') as pkl_file:
    data = pickle.load(pkl_file)

args = utils.read_args(sys.argv[2:])
num_epochs, train_on_fraction = args['num_epochs'], args['train_on_fraction']
scribe_args, nnet_args, = args['scribe_args'], args['nnet_args'],

chars = data['chars']
num_classes = len(chars)
img_ht = len(data['x'][0])
num_samples = len(data['x'])
nTrainSamples = int(num_samples * train_on_fraction)
printer = utils.Printer(chars)

print('\nInput Dim: {}'
      '\nNum Classes: {}'
      '\nNum Samples: {}'
      '\nNum Epochs: {}'
      '\nFloatX: {}'
      '\n'.format(img_ht, num_classes, num_samples, num_epochs,
                  th.config.floatX))

################################
print('Preparing the Data')
try:
    conv_sz = nnet_args['midlayerargs']['conv_sz']
except KeyError:
    conv_sz = 1
Exemplo n.º 5
0
import nnet.neuralnet as nn
from scribe.scribe import Scribe

################################ Initialize
args = utils.read_args(sys.argv[1:])
num_samples, num_epochs = args['num_samples'], args['num_epochs']
scribe_args, nnet_args = args['scribe_args'], args['nnet_args']

print('\nArguments:'
      '\nFloatX         : {}'
      '\nNum Epochs     : {}'
      '\nNum Samples    : {}'
      '\n'.format(th.config.floatX, num_epochs, num_samples))

scriber = Scribe(**scribe_args)
printer = utils.Printer(scriber.alphabet.chars)
print(scriber)

print('Building the Network')
ntwk = nn.NeuralNet(scriber.nDims, scriber.nClasses, **nnet_args)
print(ntwk)

################################
print('Training the Network')

for epoch in range(num_epochs):
    ntwk.update_learning_rate(epoch)

    for samp in range(num_samples):
        x, y1 = scriber.get_sample()
        if len(y1) < 2: