AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Stress mit Pointer

Ein Thema von braingrenade · begonnen am 29. Aug 2003 · letzter Beitrag vom 30. Aug 2003
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von braingrenade
braingrenade

Registriert seit: 30. Okt 2002
Ort: Neufra
274 Beiträge
 
Delphi 6 Personal
 
#1

Stress mit Pointer

  Alt 29. Aug 2003, 22:50
Moin Leute!

hab wie oben schon geschrieben ein problem mit pointern :

diese zeile :
Delphi-Quellcode:
    
 synapse[i3].front[0].input := @neuron[i].output;
verlässt der compiler mit dieser meldung :

Access Violation at Address 0044E2BC ... Read of Address FFFFFFFF


hier noch die typen :
Delphi-Quellcode:
type Preal = ^real;

type Tcable = record
      input : Preal;
      output : real;
      conductivity : real;
    end;

type Tsynapse = class
       front : array of Tcable;
       back : array of Tcable ;
       ...
   end;

Type Tneuron = class
    output : real;
    ...
 end;
Weiß jemand was hier falsch ist ?
Let the sun beat down upon my face
Stars fill my dream
I am a traveller of both time and space
To be where I have been ________________ Such A Surge
  Mit Zitat antworten Zitat
Benutzerbild von Flogo
Flogo

Registriert seit: 24. Mär 2003
Ort: Freiburg im Breisgau
317 Beiträge
 
Delphi 7 Professional
 
#2

Re: Stress mit Pointer

  Alt 29. Aug 2003, 22:56
Hast du mit setlength() alle dynamischen arrays auf die richtige Länge gebracht bevor du drauf zugreifst?
If one coincidence can occur, then another coincidence can occur. And if one coincidence happens to occur just after another coincidence, then that is just a coincidence.
DNA

www.Anyxist.de
  Mit Zitat antworten Zitat
Benutzerbild von braingrenade
braingrenade

Registriert seit: 30. Okt 2002
Ort: Neufra
274 Beiträge
 
Delphi 6 Personal
 
#3

Re: Stress mit Pointer

  Alt 29. Aug 2003, 23:00
jo , hab ich ...
Let the sun beat down upon my face
Stars fill my dream
I am a traveller of both time and space
To be where I have been ________________ Such A Surge
  Mit Zitat antworten Zitat
Benutzerbild von Leuselator
Leuselator

Registriert seit: 18. Mär 2003
Ort: Berlin
589 Beiträge
 
Delphi 8 Architect
 
#4

Re: Stress mit Pointer

  Alt 29. Aug 2003, 23:09
für mich nicht ersichtlich ist, warum Du neuron indizierst
@neuron[i]
um was dazu sagen zu können, müßtest Du das erklären...
greets
Tim Leuschner
  Mit Zitat antworten Zitat
Benutzerbild von braingrenade
braingrenade

Registriert seit: 30. Okt 2002
Ort: Neufra
274 Beiträge
 
Delphi 6 Personal
 
#5

Re: Stress mit Pointer

  Alt 29. Aug 2003, 23:16
AAAAlsooo....

Ich hab vor ein Neuronales Netz zu programmieren ,
das besteht aus Neuronen und Synapsen , jetzt muss ich von der Synapse aus an den Output des Neurons kommen und vom Neuron aus an den Output
der synapse und das ganze natürlich während der Laufzeit ,
der teil den ich gepostet habe betrifft die Initialisierung des NN
und dort muss ich eben mit Pointern (wüsste nicht wie ich anders parameter übergeben könnte) die neuronen und die synapsen verknüpfen.

Hoffentlich ists verständlich was ich mein!

ich kann auch mal den Code posten!
Let the sun beat down upon my face
Stars fill my dream
I am a traveller of both time and space
To be where I have been ________________ Such A Surge
  Mit Zitat antworten Zitat
Benutzerbild von Leuselator
Leuselator

Registriert seit: 18. Mär 2003
Ort: Berlin
589 Beiträge
 
Delphi 8 Architect
 
#6

Re: Stress mit Pointer

  Alt 29. Aug 2003, 23:20
nein - nicht klar - meine Frage bezog sich nicht auf das Problem, das Du am Ende mit dem Programm lösen möchtest, sondern darauf, wieso Du deine class neuron indizierst - geht aus dem Teil den Du gepostet hat nicht hervor...
Tim Leuschner
  Mit Zitat antworten Zitat
Benutzerbild von braingrenade
braingrenade

Registriert seit: 30. Okt 2002
Ort: Neufra
274 Beiträge
 
Delphi 6 Personal
 
#7

Re: Stress mit Pointer

  Alt 29. Aug 2003, 23:29
aso ...

hier ist mal der code .
Angehängte Dateien
Dateityp: zip nn.zip (4,2 KB, 9x aufgerufen)
Let the sun beat down upon my face
Stars fill my dream
I am a traveller of both time and space
To be where I have been ________________ Such A Surge
  Mit Zitat antworten Zitat
Benutzerbild von Leuselator
Leuselator

Registriert seit: 18. Mär 2003
Ort: Berlin
589 Beiträge
 
Delphi 8 Architect
 
#8

Re: Stress mit Pointer

  Alt 30. Aug 2003, 01:01
ich weiss zwar nich, was ich da tue, aber zum warm machen
war's ganz nett.

Also so (siehe Anhang) sollte es funzen...

Wenn Du partout mit Arrays arbeiten willst (z.B. weil Du "classes" nicht drin haben magst), dann stell es halt wieder um,
ansonsten ist TList.Add und TList.Last handlicher.

Der Geck ist, dass ich nun nur noch Zeiger verwende.
Und mir war so, als ob Du das @ - Problem deshalb bekommst, weil Du auf ein Feld einer Klasse zugreifen wolltest. Dös geht aber glaub ich so nicht.
egal
schönen Gruß
Angehängte Dateien
Dateityp: pas nn.pas (4,7 KB, 6x aufgerufen)
Tim Leuschner
  Mit Zitat antworten Zitat
Benutzerbild von braingrenade
braingrenade

Registriert seit: 30. Okt 2002
Ort: Neufra
274 Beiträge
 
Delphi 6 Personal
 
#9

Re: Stress mit Pointer

  Alt 30. Aug 2003, 14:26
Hossa !

Danke , es funzt weitgehend aber leider gibts trotzdem noch ne access violation an der gleichen addresse und ich hab nach wie vor kein plan warum!

Ich arbeite so viel mit arrays weil ich bisher noch nichts von der Tlist wusste , bin nähmlich erst mit delphi 6 umgestiegen , davor hab ich nur good ol' Turbo Pascal geproggt sieht man meinem stil wohl an

edit : Hab noch die unit mit angehängt , awr nähmlich noch n' kleiner fehler drin , hab ich aber behoben.
Angehängte Dateien
Dateityp: pas nn_211.pas (4,7 KB, 7x aufgerufen)
Let the sun beat down upon my face
Stars fill my dream
I am a traveller of both time and space
To be where I have been ________________ Such A Surge
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#10

Re: Stress mit Pointer

  Alt 30. Aug 2003, 15:23
Ich habe mir mal deinen Source angeschaut. Normalerweise arbeitet man bei NN's ohne jegliche Indirekte Indizierungen, sprich Pointer auf Reals bzw. Input's usw. Dies ist garnicht nötig, nicht bei der Aktivierunge eines Netzes und auch nicht beim Training. Man erzeugt für jeden Layer einfach ein Array[] of TNeuron wobei TNeuron eigentlich ein simpler Record ist. Dann geht man einfach sequentiell über diese Layer-Arrays um den Zustand des Netzes bis hin zu den Outputs zu berechnen. Man macht die weil solche Netze ziemlich groß werden und enorm viele Floatingpoints enthalten. Eine Verlinkung mit Pointern würde bedeuten das man jeden Layer mehrfach berechnet was aber ineffizient wäre. Normaelweise wird bei der Berechnung des Layers 1 auch schon teilweise der Layer 2 usw. berechnet.

Bei der spärteren Optimierung würden nun arrays[] of Records dieser Optimierung entgegenkommen, z.B. Assembler/SSE2 usw.

Ich persönlich habe ein NN mit Speed-Backpropagtion + Delta Training + Backtracking gecodet. Dann noch ein RCC = Recurrent Cascade Correlation Netzwerk mit Speed-Backpropagation und Delta Trainung.

Gruß Hagen

Achso, bei NN's spielt erstmal eine schnelle Speicherverwaltung keinerlei Rolle. Wichtiger bei einem NN ist dessen Übersichtlichkeit, das der benutzte Algorithmus gut ist und das das NN zugeschnitten auf das zu lösende Problem ist. Erst dann sind effiziente Datenstrukturen wichtig.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:10 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz