Προς το περιεχόμενο

Ευφυές Τεχνητό Νευρωνικό Δίκτυο


qtgeo

Προτεινόμενες αναρτήσεις

Μάλλον κάτι σας μαθαίνουν πολύ λάθος: είναι καλό να είναι περήφανος και εγωιστής ένας προγραμματιστής, αλλά το να είναι ξεροκέφαλος είναι αντιπαραγωγικό.

 

Το σχόλιο για την στοίχηση ήταν επειδή είναι πολύ πρωτόλεια - δεν έχω ξαναδεί άνθρωπο να αφήνει κενά μετά τα { και μου φάνηκε περίεργο. Κάντο και one-liner... Αλλά μετά μην περιμένεις κανείς να κάτσει να ασχοληθεί. Αν είναι να κάνεις κάτι, κάντο σωστά τουλάχιστον

 

( @Lomar κυρίως: ) Υπάρχουν κάποιες συμβάσεις που επικρατούν εδώ και χρόνια και καλό θα ήταν να μην καταπατώνται. Δεν ρώτησα γιατί, αλλά εμμέσως πλην σαφώς είπα "μην το κάνεις". Άλλωστε, όταν έχεις input/output από/προς τερματικό, οι επιδόσεις δεν ενδιαφέρουν. Έκανα κάποιες ΤΕΧΝΙΚΕΣ παρατηρήσεις - που θεωρώ ότι είναι δόκιμες - και χλευάστηκα.

 

Σου παρουσίασα παράδειγμα όπου η switch..case παράγει τον ΙΔΙΟ κώδικα με τις if..else. Άρα πάει ο ισχυρισμός "το κάνω για ταχύτητα". Εν ολίγοις, όλοι (μα όλοι) οι ισχυρισμοί "το κάνω επειδή είναι καλύτερο" απλώς δεν στέκουν.

 

Δεν ξέρεις τι σπουδές έχω κάνει, με τι ασχολούμαι, ποιος είναι ο τομέας μου και συνεχίζεις να με αποκαλείς "μάπα", "χαζό", να με προτείνεις να το βουλώσω και ότι είμαι σε μια "ηλίθια σχολή" με τα εκατομμύρια του "μπαμπά μου". Ψάξε να δεις πρώτα με τι ασχολούμαι και που είμαι μπλεγμένος και μετά κρίνε, ή μην κρίνεις καθόλου.

 

Το ότι έχεις δημοσιεύσει ένα paper σε κάποιο συνέδριο δε σε κάνει αυτόματα και ικανό να κρίνεις τους άλλους ή να τους προσβάλλεις. Και άλλοι έχουν κάνει 10άδες και είναι πολύ πιο συγκρατημένοι στις προβλέψεις τους σε αυτό που ετοιμάζουν.

 

Προς τους moderators: Δηλώνω ήδη ενοχλημένος, και όχι μόνον επειδή εξυβρίστηκα αναίτια, αλλά και επειδή ο λόγος της εξύβρισης είναι επειδή έδωσα κάποια good programming style (and manners) guidelines. Θα εκτιμούσα μια σχετική προειδοποίηση.

 

ΥΓ: το paper δεν είναι IEEE published paper, το IWSSIP'05 δεν είναι IEEE, είναι Co-Sponsorship/In Cooperation conference. Και επιπλέον είναι σε άλλον τομέα, οπότε δεν σε κάνει a priori ΚΑΙ ειδικό των ΤΝΔ.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • Απαντ. 104
  • Δημ.
  • Τελ. απάντηση

urezin δέν είναι δικό μου θέμα τα posts...υπαρχουν moderators και κάνουν αυτό που πρέπει να κάνουν.

Εγώ παρουσίαση κάνω αλλά το θέμα πήρε άλλη τροπή για τους παραπάνω λόγους.

 

Κάποιοι πρέπει να καταλαβαίνουν απο μόνοι τους πότε πρέπει να μιλούν ή οχι.

Δέν είμαι εγώ ο δάσκαλος που δεν τα έμαθε στο δημοτικό.

Αυτό δείχνει και το επίπεδο στην Ελλάδα.

Δεν παραξενεύομαι πλέον που κανείς στην Ελλάδα δεν πάει μπροστά με τέτοια αντίδραση.

Σε στήνουν στον τοίχο για το τίποτα χωρίς όμως να σε έχουν ρωτήσει γιατί και πώς.

Βιάζονται...δέν έχουν καταλάβει ότι πρώτα πρέπει να ξεκαθαρίζουν και όχι να δημιουργούν εσφαλμένες αντιλήψεις.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ευχαριστώ για την υπενθήμιση αλλά δέν είναι η πρώτη φορά ξέρεις.

Έχω ήδη ένα ΙΕΕΕ paper published: http://www.inderscience.com/books/index.php?action=record&rec_id=135&chapNum=9&journalID=1002&year=2005

 

Sorry vre qtgeo, alla den einai IEEE to conference. Den einai kan conference... workshop einai!

 

Peran aftou, isws na prepei na dokimaseis ton algori8mo sou me gnwsta datasets poy yparxoun online kai me algori8mous pou xrhsimopoiounte kata koron, gia na dei3eis oti einai kalytero. Katalavainw oti eisai akoma undergraduate foithths, omws an vreis xrono prospa8hse kai sygkrine ton algori8mo me tous Online backprop, batch backprop, RPROP, GRPROP etc gia na doume pws paei.

 

Alh8eia den anhsyxeis oti mporei kapoios erevnhths na vrei ton algori8mo sou, kai an einai kalos na ton dhmosieysei se paper prin apo sena?

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

dop στην παράφραση είσαι μανούλα ε?

 

1) Ποιός σου είπε ότι αναφέρθηκα στο πρωσοπό σου?

2) ΓΙα το input/output είπα σε ποιά περίπτωση είναι χρήσιμο αυτό που κάνω...διαβασέ το!

3) "Σου παρουσίασα παράδειγμα όπου η switch..case παράγει τον ΙΔΙΟ κώδικα με τις if..else. Άρα πάει ο ισχυρισμός "το κάνω για ταχύτητα". Εν ολίγοις, όλοι (μα όλοι) οι ισχυρισμοί "το κάνω επειδή είναι καλύτερο" απλώς δεν στέκουν."

Ξαναδιάβασε καλά αυτα που έγραψα!

4) "ΥΓ: το paper δεν είναι IEEE published paper, το IWSSIP'05 δεν είναι IEEE, είναι Co-Sponsorship/In Cooperation conference. Και επιπλέον είναι σε άλλον τομέα, οπότε δεν σε κάνει a priori ΚΑΙ ειδικό των ΤΝΔ."

Ενωείται, ποιος είπε ότι είμαι ειδικός.

 

Και όλα αυτά επειδή θύχτικες?

Απο ποιόν?

Σε κατονόμασα?

 

Τώρα ποιός είναι περίεργος....

 

Dionisos έχω GPL άδεια και οπως καταλαβαίνεις με κατοχυρώνει ώς προς το code και ότι συνέπειες έχει μέσα απο αυτό.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

...και για να ολοκληρώσω.....οι θεατές τα βλέπουν....

Τι έλεγα....τώρα μας φταίει το wokshop ή conference ή οτιδήποτε άλλο.

Με άλλα λόγια σαν να μου λέτε...

Εντάξει ρε μεγάλοι και τι κάνατε? Εκεί πάει και η κουτσή Μαρία...

Εδώ δές επίπεδο απο μορφωμένα άτομα...μήπως να σας κάνουμε και προθυπουργούς?

 

Και εγώ ρωτάω...ΕΣΕΙΣ ΤΟ ΚΑΝΑΤΕ?

 

Μπορείται απλά να σωπάσεται...Γιατί δέν σας πέρνει.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ελληνικά ξέρω, δόξα τω Θεώ, και μπορώ να καταλάβω σε ΠΟΙΟΝ αναφέρεσαι.

 

Εσύ μίλησες για IEEE - δεν ΕΙΝΑΙ IEEE. Δεν είπαμε τι πήγες και τι έκανες - εσύ θέλεις να παρανοείς και να διαστρεβλώνεις, μάλλον κάποιο χόμπι είναι.

 

Επιπλέον, έχω δει πολλά μη-optimized κομμάτια κώδικα.

 

Αντιγράφω (ο κώδικας προέρχεται από το project GANN, καλύπτεται από την άδεια χρήσης GPL - έχω αφαιρέσει πολλά κενά):

gdmloader.cpp

>
   for (i=0;i<Inputs;i++)
   {
       for (j=0;j<5;j++)
       {
           fscanf(FileToOpen,"%f\n",&Val);
           if (j==0)
           {
               InSocket.SetST(int(Val));
           }
           else if (j==1)
           {
               InSocket.SetPT(i,int(Val));
           }
           else if (j==2)
           {
               InSocket.SetPS(i,int(Val));
           }
           else if (j==3)
           {
               if (InSocket.GetPT(i)==0)
                   InSocket.SetPV(i,Val,0.0);
               else
                   InSocket.SetPV(i,Val,Val+1);
               Tmp=Val;
           }
           else
           {
               InSocket.SetPV(i,Tmp,Val);
           }
       }
  }

// snipped some code

   //Clean Up
   system("touch GIOD GMap");
   system("rm GIOD GMap");

Αυτό είναι δείγμα optimized κώδικα; ΤΙ ΣΤΟ ΔΙΑΒΟΛΟ ΕΙΝΑΙ ΑΥΤΑ;

 

gexit.cpp

>
void GExit(int ExitCode,char *ExitMsg)
{
   printf("%s\n",ExitMsg);
   printf("G.A.N.N Terminated (Code:%i)\n",ExitCode);
   exit(ExitCode);
}

Το default error stream είναι cerr ή stderr.

 

Αντίστοιχα περίεργα κομμάτια κώδικα, εκτός συνηθισμένης πρακτικής και άλλα τινά βλέπω παντού. Αυτό είναι προϊόν εργασίας 6+ μηνών; Και μάλιστα που έχει πολλούς συνεργάτες;

 

Και επιπλέον, από πότε το να δέχεσαι συμβουλές προς το καλύτερο σε καθιστά χαζό - γιατί μάλλον αυτήν την εντύπωση έχεις.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Eo! o Linus* κάποτε ανέβασε την πτυχιακή του εργασία και ζήτησε τα σχόλια αγνώστων του χρηστών για να τη βελτιώση της.

 

Τα σχόλια που του έκαναν τα ενσωμάτωσε και αυτό το έκανε για κανα-δύο μήνες, όταν πια το ίντερνετ μιλούσε για έναν τύπο που έφτιαξε κάτι ιδιοφυιώς απλό, ο τύπος είχε πια και την αναγνώριση και τα @@ να απορρίπτει και προτάσεις, αλλά πια οι χρήστες του αναγνώριζαν ότι τους άνοιξε το δρόμο.

 

Αγαπητέ εσύ χλευάζεις κάποιους που ασχολήθηκαν με τον κώδικα σου, τον διάβασαν, τον δούλεψαν και είπαν την άποψη τους.

 

Αν νομίζεις πως οι απόψεις τους είναι λανθασμένες εξήγησε τεκμηριωμένα τη δικιά σου. Επομένως και τον κώδικα σου να βελτιώσεις και τους υπόλοιπους να βοηθήσεις να γίνουν καλύτεροι.

 

Σημείωση, είμαι χρήστης νευρωνικών δικτύων και ως χρήστης πάντα ενθουσιάζομαι με κάτι που κάνει τη δουλειά μου ευκολότερα και γρηγορότερα.

Αυτό που μας μοιράζεις, προσωπικά το αντιλαμβάνομαι ως μία αρχική προσπάθεια, που προσπαθεις να βελτιώσεις. Η δομή που έχεις αναπτύξει τον κώδικα σου, θυμίζει δικά μου προγράμματα που έχω σπουδάσει κάτι τελείως άσχετο προς τον προγραμματισμό.

 

Και μία φιλική συμβουλή, είναι καλύτερα να "μιλούν" τα προγράμματα σου.

 

*Με κάθε σεβασμό προς το πρόσωπο του.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Με σεβασμό προς όλες τις πλευρές , προτείνω να ηρεμήσουμε όλοι και να συνεχισθεί η παρούσα συζήτηση όταν θα υπάρχουν νεότερες εξελίξεις δηλαδή νέα έκδοση, πλήρες documentation ή κάποιο άλλο σημαντικό γεγονός ή όταν μπορούν να δοθούν απαντήσεις, διαφορετικά πολύ φοβάμαι ότι το θέμα θα «φάει λουκέτο» (θα είναι κρίμα για πολλούς λόγους).

 

Σε τελική ανάλυση ας τον αφήσουμε απερίσπαστο να δούμε τι θα πετύχει..

 

Ως δήγμα καλής θέλησης και κατακλείδας στο παρόν θέμα (όπως καταλαβαίνεις δεν θα εμπλακώ σε περαιτέρω συζήτηση μαζί σου γιατί στο λέω ανοικτά: «δεν μου αρέσει ο τρόπος σου» το attitude σου αν θες) σου εφιστώ την προσοχή στις εξόδους των functions σου διότι ορισμένες φορές δεν απελευθερώνεις δεσμευμένη μνήμη.

 

. -

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

insomniaK θα ακολουθήσω την συμβουή σου γιατί όπως βλέπεις δεν βάζουν μυαλό κάπιοι και λένε τα ίδια και τα ίδια αναμασημένα....

Και όλα τους πειράζουν χωρίς όμως να δείνουν τις βέλτιστες καταυτούς λύσεις.

 

Οπότε κύροι απλά παρακολουθείστε την πορεία όσοι ενδιαφέρεστε και δείτε...

 

dop συγνώμη αλλά σε αυτό άν νομίζεις ότι το κάνεις πιο απλά (gdmloader.cpp) κάντο.

 

Και όσο για το error να σου θυμίσω ότι το πρόγραμμα δέν έχει πάρει τελίκή μορφή.

Πάντως σωστή η παρατήρηση.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Καταλαβαίνεις τουλάχιστον που είναι το πρόβλημα στο gdmloader.cpp; Έχεις την παραμικρή υποψία τι ΔΕΝ είναι βέλτιστο στο παραπάνω snippet;

 

Πρόσεξε τώρα το δόλωμα:

1) αν μου πεις ότι δεν ξέρεις πιο θα ήταν το βέλτιστο, σημαίνει ότι δεν μπορείς να γράψεις βέλτιστο κώδικα, άρα οποιαδήποτε νήξη ότι η λύση σου είναι βέλτιστη μάλλον είναι χωρίς αντίκρισμα.

2) αν μου πεις ότι ξέρεις (και το αποδείξεις βέβαια), τότε τι ζητά αυτό το κομμάτι (και πολλά άλλα παρόμοια) σε ένα βέλτιστο κομμάτι software στο οποίο συνεργάζεται και ο στρατός;

 

Έχω υποδείξει αρκετά κάποια κομμάτια που χρίζουν άμεσης βελτίωσης - η απάντηση που παίρνω μονίμως είναι "κάντο εσύ". Διάθεση ή σημάδια βελτίωσης του project δεν βλέπω...

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ειλικρινά δεν νομίζω ότι υπάρχει μία πιο καλή λύση.

Τι θα μου προτείνεις πάλι...μια σειρά απο switch?

Πάω στοίχημα ότι επειδή είσαι εγωιστής δεν κατάλαβες πλήρως το τί κάνει ο κώδικας αυτός και θα μου την έλεγες για τα if...

 

Τι κρίμα που κάνεις λάθος....

 

Φιλάκια......αχαχαχαχα.

 

Δεν ξανά απαντάω λέμε.

 

 

Έχουμε και δουλειές!!!

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Μια χαρά κατάλαβα τι κάνει - μακάρι να μην καταλάβαινα. Εγώ βλέπω μία for και μερικές if που δεν έχουν λόγο ύπαρξης.

 

Επιπλέον βλέπω κλήσεις στο OS με system().

 

Και τέλος, μάλλον βλέπω κάποιον ο οποίος επειδή έχει κάνει μια δημοσίευση, νομίζει είναι η αρχή και το τέλος της θεωρίας των ΤΝΔ.

 

Και να είχες την καλύτερη λύση, η στάση σου την εκμηδενίζει. Είσαι ο χειρότερος πρεσβευτής για το ίδρυμά σου (ΤΕΙ Λαμίας) και ειλικρινά λυπάμαι.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Η στάση μου είναι αυτή που πρέπει και εάν είχες έστω και λίγη απο την νουμοσύνη μου θα μπορούσες να μάθεις να αποδέχεσαι τους άλλους όταν αυτοί κάνουν κάτι καλό...

 

Αυτό που έχω κάνει είναι ολόσωστο και δέν δουλευει εάν φύγουν τα if και η εσωτερική for εάν αυτό εννοείς.

Ή μήπως νομίζεις ότι θα δείς την ΑΠΙΣΤΕΥΤΗ διαφορά εάν γεμίσεις την for με scanf...Να σου θυμίσω ότι θα γίνουν πιο πολλά τα strings στο εκτελέσιμο αρχείο και τότε θα γίνει μεγαλύτερο...

For what?

 

Ξαφνικά θα μας πείς ότι εσύ είσαι και ο κατασκευαστής του και δεν ξέρουμε τι λέμε.

Έλα τώρα που πήρες και φόρα θα μου την πείς και για την βάση δεδομένων που έφτιαξα αποκλειτικά για το Ε.Τ.Ν.Δ.....

 

Οι κλήσεις OS το ανέφερα ξανά πως θα αλλάξουν και πρωσορινά δεν με ενδιαφέρουν.

 

...και το Πολυτεχνείο να έχεις τελειώσει με τέτοιες αντιλήψεις σε κόβω να κόβεις λαχνούς στην Ομόνοια.

 

Άντε γεια τώρα αρκετα ασχοληθήκαμε και με την παρανοιά σου.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Για να δούμε πόσα απίδια βάνει ο σάκος:

 

Ο κώδικας:

>
   for (i=0;i<Inputs;i++)
   {
       for (j=0;j<5;j++)
       {
           fscanf(FileToOpen,"%f\n",&Val);
           if (j==0)
           {
               InSocket.SetST(int(Val));
           }
           else if (j==1)
           {
               InSocket.SetPT(i,int(Val));
           }
           else if (j==2)
           {
               InSocket.SetPS(i,int(Val));
           }
           else if (j==3)
           {
               if (InSocket.GetPT(i)==0)
                   InSocket.SetPV(i,Val,0.0);
               else
                   InSocket.SetPV(i,Val,Val+1);
               Tmp=Val;
           }
           else
           {
               InSocket.SetPV(i,Tmp,Val);
           }
       }
  }

και ο βέλτιστος (δεδομένων των συνθηκών και της "χαλαρής" λογικής που διακατέχει την υλοποίηση, είναι το καλύτερο που μπορώ να κάνω):

>
   for (i=0;i<Inputs;i++)
   {
       fscanf(FileToOpen,"%f\n",&Val0);
       fscanf(FileToOpen,"%f\n",&Val1);
       fscanf(FileToOpen,"%f\n",&Val2);
       fscanf(FileToOpen,"%f\n",&Val3);
       fscanf(FileToOpen,"%f\n",&Val4);

       InSocket.SetST(int(Val0));
       InSocket.SetPT(1,int(Val1));
       InSocket.SetPS(2,int(Val2));
       if (InSocket.GetPT(3)==0)
       {
          InSocket.SetPV(3, Val3, 0.0);
       }
       else
       {
          InSocket.SetPV(3, Val3, Val3+1);
       }
       InSocket.SetPV(i,Val3,Val4);
  }

Αποτέλεσμα: πάνε οι if, πάει και η for, το έκανα με τον τρόπο που θα το έκανε και ένας πρωτοετής φοιτητής.

 

Ευτυχώς δεν χρειάζομαι καθόλου την νοημοσύνη σου - έχω και δικιά μου. Αν θυμάσαι, εγώ εξ αρχής υποστήριξα "Δεν ξέρω ποιος είναι ο qtgeo ή τι έχει κάνει παλαιότερα και δεν με νοιάζει. Αν έχει κάνει κάτι καλό, θέλω να το δω." που μάλλον φανερώνει θετικά διακείμενο άνθρωπο.

 

Μάλλον διαλέγεις σε λάθος ανθρώπους να εξασκήσεις τα κόμπλεξ σου. Και από όσο βλέπεις, σου φέρομαι με το γάντι - ελπίζω να μην έχεις κάτι να πεις και για αυτό.

 

Ξεκινάω να πάω να πουλήσω λαχνούς.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Α δηλαδή εσύ αυτό το λές επιτυχία?

 

Πάμε με την σειρά:

 

1) Μου ορίζεις 5 αχρηστες μεταβλητές. Χρειαζόμαστε μόνο 2.

 

2) Θα μπορούσες να δώσεις ένα πίνακα τέλος πάντων, αλλά δεν με ενδιαφέρει τόσο πολύ.

 

3) Ανέβασες κατά πολύ το μέγεθος του εκτελέσιμου.

 

4) Μη μου πείς ότι βρήκες και διαφορά στην ταχύτητα ε?

 

"Μάλλον διαλέγεις σε λάθος ανθρώπους να εξασκήσεις τα κόμπλεξ σου. Και από όσο βλέπεις, σου φέρομαι με το γάντι - ελπίζω να μην έχεις κάτι να πεις και για αυτό."

 

Χμμ...κοίτα όσο και αν το παίζεις ήρεμος και μορφωμένος εμένα δεν με πείθεις. Έχεις μεγάλο πρόβλημα σαν τον billpepas που νομίζεται ότι έχετε εξηγήσει το σύμπαν.

 

Το γάντι σου λοιπόν βρωμάει και εσύ μπορεί να μου λές ότι δεν έχω καλούς τρόπους αλλά θα το ξαναπώ για ακόμα μια φορά...

 

Φέρομαι όπως μου φέρονται.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

Επισκέπτης
Αυτό το θέμα είναι πλέον κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...