Delphi - red neuronal

 
Vista:

red neuronal

Publicado por Delia (1 intervención) el 29/11/2005 21:07:33
hola!

estoy haciendo una investigacion sobre como funciona un red neuronal hecha en Delphi, pero la verdad no se nada de este lenguaje de programacion, necesito que me expliquen como funciona esta parte de codigo, por favor, gracias.

procedure TNeuroNetForm.AddSample;
var
x,y,z:Integer;
i,o:TStringList;
begin
NextBitBtn.Enabled:=false;
try
i:=TStringList.Create;
o:=TStringList.Create;
try
for z:=0 to 26 do
begin
for y:=0 to 7 do
begin
for x:=0 to 7 do
begin
with SamplePaintBox,Canvas do
begin
if Pixels[x+z*10+1,y+1]=clBlack then
begin
BigPaintBox.Canvas.Brush.Color:=clBlack;
i.Add('1')
end
else
begin
BigPaintBox.Canvas.Brush.Color:=clSilver;
i.Add('0')
end;
BigPaintBox.Canvas.Rectangle(x*10,y*10,(x+1)*10,(y+1)*10);
end;
end;
ProgressBar.Position:=Round(z/26.0*100);
end;
for x:=0 to 26 do
begin
if x=z then
o.Add('1')
else
o.Add('0');
end;
BackPropNet.Samples.Add(i,o);
i.Clear;
o.Clear;
Sleep(100);
end;
finally
i.Free;
o.Free;
end;
finally
NextBitBtn.Enabled:=true;
end;
end;
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:red neuronal

Publicado por Martin_Artaza (72 intervenciones) el 30/11/2005 17:28:44
procedure TNeuroNetForm.AddSample;
var
x,y,z:Integer;
i,o:TStringList; ///declaro variable del tipo lista (lista de string (cadena))
begin
NextBitBtn.Enabled:=false; ////desabilito un boton (creo)
try //// try te produce excepcion en caso de errores hasta $%&/
i:=TStringList.Create; //// i = lista que creo , lo mismo con o
o:=TStringList.Create;
try /////// se habre otro bloke de exceciones hasta *$*$
for z:=0 to 26 do //// si esta viendo esto espero debes saber lo que es el for
begin
for y:=0 to 7 do
begin
for x:=0 to 7 do
begin
with SamplePaintBox,Canvas do /// de aca en hasta *** todo lleva
/// primero SamplePaintBox
begin
if Pixels[x+z*10+1,y+1]=clBlack then ////// pregunta si el pixel
/// x+z*10+1, y+1 es de color Black
begin //// si lo es hace
BigPaintBox.Canvas.Brush.Color:=clBlack; /// al pixel = color blck
i.Add('1') ////// y agrega en la lista i la cadena de texto "1"
end
else //////// en caso de no ser black
begin
BigPaintBox.Canvas.Brush.Color:=clSilver; //le da otro colo
i.Add('0') /// y agrega la cadeno "0" a i
end;
BigPaintBox.Canvas.Rectangle(x*10,y*10,(x+1)*10,(y+1)*10); /// pinta un
/// rectangulo de dichas cordenadas
end; //////// hasta aca ***
end;
ProgressBar.Position:=Round(z/26.0*100); /// y muestra una barra de pro
///greso
end;
for x:=0 to 26 do
begin
if x=z then
o.Add('1')
else
o.Add('0');
end;
BackPropNet.Samples.Add(i,o); ///// no se que es BackPropNet fijate a que
//// clase corresponde
i.Clear; /// borra todos los elementos de la lista de cadena i, lo mismo para o
o.Clear;
Sleep(100); /////////// hace mas lenta la maquina para alguna animacion
end;
finally //////////// *$*$
i.Free; //// libera de memoria el objeto i tambien lo mismo para o
o.Free;
end;
finally hasta $%&/
NextBitBtn.Enabled:=true; ////habilita el boton
end;
end;


espero que te sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar