Mudanças entre as edições de "Máquina Associadora de Eventos - MAE"

De LCAD
Ir para: navegação, pesquisa
Linha 47: Linha 47:
  
  
==== Entrada e Saída ====
+
==== Entrada ====
 +
Através do comando input, é criada uma neuron_layer com nome, dimensão e saída especificadas, entretanto, um tratamento especial é dada nestas neuron_layer’s. É criada uma janela para cada input gerada que mostra o estado dos neurônios desta input, e podem ser associadas duas funções, uma para geração e outra para manipulação da input. A neron_layer criada pela input pode ser manipulada por eventos de mouse e teclado. A sintaxe para especificar uma input é mostrada abaixo:
 +
 
 +
input <nome><dimensão> with <tipo de saída> outputs [produced by <função geradora>] [controled by <função de controle>];
 +
 
 +
<nome> : Nome pelo qual a input poderá ser referenciada.
 +
 
 +
<dimensão> : Dimensão da input. Possui a mesma descrição do parâmetro <dimensão> da neuron_layer, citado anteriormente.
 +
 
 +
<tipo de saída> : Define o tipo de saída dos neurônios de uma input. Podem ser: b&w, grayscale, grayscale_float e color. Possui a mesma descrição do parâmetro <tipo de saída> da neuron_layer, citado anteriormente.
 +
 
 +
<função geradora> : O objetivo da função de geração é inicializar parâmetros da input, criar sua janela, associá-la às funções de controle de mouse, teclado, além do controle de atualização do conteúdo da janela. Podem-se passar quantos parâmetros forem necessários para a função de geração, desde que sejam constantes, expressões aritméticas ou nomes de objetos já definidos no arquivo de definição. Nesta função, normalmente é definida como a input receberá as informações de entrada, por exemplo, de um arquivo de entrada. A declaração de uma função de geração é opcional. Se não for definida, a função pré-estabelecida na biblioteca MAE será utilizada, que é a que trata de imagens estáticas. Esta função procura no diretório em que está sendo executada a aplicação MAE, um arquivo com o mesmo nome da input com extensão .in. Uma string na primeira linha deste arquivo deve informar o nome de um arquivo .bmp contendo a imagem estática a ser usada como entrada. Os valores de cada pixel deste arquivo são passados para os neurônios da input.
 +
 
 +
<função de controle> : Também é opcional. O objetivo da função de controle é fornecer o código necessário para tratar a interação da input com o usuário, por exemplo, eventos de clique de mouse sobre a janela de visualização da input. Podem-se passar quantos parâmetros quiser, desde que sejam constantes, expressões aritméticas ou nomes de objetos já definidos no arquivo de definição.
 +
 
 +
==== Saida ====
 +
Uma output é apenas uma visualização das saídas de uma neuron_layer. Através de uma output, pode-se fornecer uma interação do usuário com uma determinada neuron_layer, semelhante a input. A sintaxe para especificar uma output é mostrada abaixo:
 +
 +
output <nome><dimensão> [handled by <função manipuladora>];
 +
 
 +
<nome> : Nome pelo qual a output poderá ser referenciada.
 +
 
 +
<dimensão> : Dimensão da output. Possui a mesma descrição do parâmetro <dimensão> da neuron_layer, citado anteriormente.
 +
 
 +
<função manipuladora> : A declaração desta função é opcional. O objetivo da função manipuladora é fornecer o código necessário para tratar a interação da output, e portanto com a neuron_layer na qual está associada (vide comando output_connect), com o usuário. Podem-se passar quantos parâmetros quiser, desde que sejam constantes, expressões aritméticas ou nomes de objetos já definidos no arquivo de definição.
 +
 
 
==== Filtros ====
 
==== Filtros ====
 
==== Associações ====
 
==== Associações ====

Edição das 09h40min de 17 de setembro de 2010

Manual da MAE

Introdução

O que é a MAE?

Histórico

Instalando a MAE

No Windows

Baixando a MAE 
Dependências (bibliotecas) 
Compilando a MAE 
Compilando os Exemplos 
Gerando DLLs de Aplicações MAE 

No Linux

Baixando a MAE 
Dependências (bibliotecas) 
Compilando a MAE 
Compilando os Exemplos 

Framework MAE

Arquitetura da MAE

Network Architecture Description Language

==== Control Script Language

Tutorial

Uma Aplicação Exemplo – Reconhecimento de Faces

Base de Dados de Entrada – AR Face Database

Arquitetura da Aplicação MAE face_recog_planar

Descrição da face_recog_planar em NADL

Compilando e Rodando a face_recog_planar

Interface do Usuário com a face_recog_planar

Funções do Usuário Associadas à Aplicação face_recog_planar

Controlando a face_recog_planar via CSL

Especificação da NADL

Variáveis

Constantes

Camadas Neurais

Uma neuron_layer é, basicamente, uma matriz de neurônios que são utilizadas para implementar as camadas de neurônios (células simples, células complexas, células de MT, etc.). A sintaxe para especificar uma neuron_layer é mostrada abaixo:

neuron_layer <nome><dimensão> with <tipo de saída> outputs;

<nome> : Nome pelo qual a neuron_layer poderá ser referenciada. <dimensão> : Dimensão da neuron_layer. Definida entre colchetes. Exemplo da dimensão de uma neuron_layer bidimensional 10x10 com um total de 100 neurônios: [10][10].

<tipo de saída> : Define o tipo de saída dos neurônios de uma neuron_layer. Pode ser: b&w, grayscale, grayscale_float e color. Quando as saídas são definidas como b&w elas podem assumir os valores 0 ou 1 apenas, representando, o preto e o branco. Quando as saídas são definidas como grayscale elas podem assumir valores inteiros de 0 à 255, representando uma escala de cinza com 256 valores. Quando as saídas são definidas como grayscale_float elas podem assumir qualquer valor de ponto flutuante, entretanto para a visualização, é selecionado o maior valor em módulo (|s_max|) da saída dos neurônios desta neuron_layer, e este valor é utilizado para realizar uma discretização na visualização: a parte positiva, definida pelo intervalo [0, |s_max|], é discretizada e visualizada como 256 níveis de verde, enquanto que a parte negativa, definida pelo intervalo [-|s_max|, 0[, é discretizada e visualizada como 256 níveis de vermelho. Caso só possua valores positivos, a visualização é feita em escala de cinza. Quando as saídas são definidas como color, elas podem assumir um valor RGB de 24 bits, com 8 bits por cor.


Entrada

Através do comando input, é criada uma neuron_layer com nome, dimensão e saída especificadas, entretanto, um tratamento especial é dada nestas neuron_layer’s. É criada uma janela para cada input gerada que mostra o estado dos neurônios desta input, e podem ser associadas duas funções, uma para geração e outra para manipulação da input. A neron_layer criada pela input pode ser manipulada por eventos de mouse e teclado. A sintaxe para especificar uma input é mostrada abaixo:

input <nome><dimensão> with <tipo de saída> outputs [produced by <função geradora>] [controled by <função de controle>];

<nome> : Nome pelo qual a input poderá ser referenciada.

<dimensão> : Dimensão da input. Possui a mesma descrição do parâmetro <dimensão> da neuron_layer, citado anteriormente.

<tipo de saída> : Define o tipo de saída dos neurônios de uma input. Podem ser: b&w, grayscale, grayscale_float e color. Possui a mesma descrição do parâmetro <tipo de saída> da neuron_layer, citado anteriormente.

<função geradora> : O objetivo da função de geração é inicializar parâmetros da input, criar sua janela, associá-la às funções de controle de mouse, teclado, além do controle de atualização do conteúdo da janela. Podem-se passar quantos parâmetros forem necessários para a função de geração, desde que sejam constantes, expressões aritméticas ou nomes de objetos já definidos no arquivo de definição. Nesta função, normalmente é definida como a input receberá as informações de entrada, por exemplo, de um arquivo de entrada. A declaração de uma função de geração é opcional. Se não for definida, a função pré-estabelecida na biblioteca MAE será utilizada, que é a que trata de imagens estáticas. Esta função procura no diretório em que está sendo executada a aplicação MAE, um arquivo com o mesmo nome da input com extensão .in. Uma string na primeira linha deste arquivo deve informar o nome de um arquivo .bmp contendo a imagem estática a ser usada como entrada. Os valores de cada pixel deste arquivo são passados para os neurônios da input.

<função de controle> : Também é opcional. O objetivo da função de controle é fornecer o código necessário para tratar a interação da input com o usuário, por exemplo, eventos de clique de mouse sobre a janela de visualização da input. Podem-se passar quantos parâmetros quiser, desde que sejam constantes, expressões aritméticas ou nomes de objetos já definidos no arquivo de definição.

Saida

Uma output é apenas uma visualização das saídas de uma neuron_layer. Através de uma output, pode-se fornecer uma interação do usuário com uma determinada neuron_layer, semelhante a input. A sintaxe para especificar uma output é mostrada abaixo:

output <nome><dimensão> [handled by <função manipuladora>];

<nome> : Nome pelo qual a output poderá ser referenciada.

<dimensão> : Dimensão da output. Possui a mesma descrição do parâmetro <dimensão> da neuron_layer, citado anteriormente.

<função manipuladora> : A declaração desta função é opcional. O objetivo da função manipuladora é fornecer o código necessário para tratar a interação da output, e portanto com a neuron_layer na qual está associada (vide comando output_connect), com o usuário. Podem-se passar quantos parâmetros quiser, desde que sejam constantes, expressões aritméticas ou nomes de objetos já definidos no arquivo de definição.

Filtros

Associações

Conexão entre Camadas Neurais

Conexão com Saídas

Funções do Usuário

Especificação da CSL

Tipos

Variáveis

Constantes

Expressões e Atribuições

Controles de Fluxo de Execução

Funções do Usuário

Funções do Usuário

Especificação dos diretórios

Função Init()

Função InputGenerator() e InputController()

Função OutputHandler()

Filtros

Funções do Usuário Invocadas Via CSL

Implementação da MAE

Netcompiler

Estruturas de Dados Principais

LibNet

DLLs de Aplicações MAE