Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 11241|Απάντηση: 0

Εισαγωγή στο πλαίσιο Darknet

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 30/1/2019 12:51:44 μ.μ. | | | |
Για επανεκπαίδευση συστημάτων από άκρο σε άκρο για εκφράσεις προσώπου


Προσάρτημα 1:

Ανάλυση πηγαίου κώδικα Darknet Deep Learning Framework: Λεπτομερής κινεζικός σχολιασμός, που καλύπτει τις αρχές του πλαισίου και την ανάλυση σύνταξης υλοποίησης

https://github.com/hgpvision/darknet

Το darknet είναι ένα σχετικά ελαφρύ πλαίσιο βαθιάς μάθησης ανοιχτού κώδικα που βασίζεται εξ ολοκλήρου σε C και CUDA, τα κύρια χαρακτηριστικά του είναι εύκολα στην εγκατάσταση, χωρίς εξαρτήσεις (μπορεί να χρησιμοποιηθεί το OpenCV), πολύ φορητό και υποστηρίζει υπολογιστικές μεθόδους CPU και GPU.



Σε σύγκριση με το TensorFlow, το darknet δεν είναι τόσο ισχυρό, αλλά αυτό είναι επίσης ένα πλεονέκτημα του darknet:

  • Το darknet υλοποιείται πλήρως σε γλώσσα C, χωρίς εξαρτήσεις, φυσικά μπορείτε να χρησιμοποιήσετε το OpenCV, αλλά να το χρησιμοποιήσετε μόνο για την εμφάνιση εικόνων, για καλύτερη οπτικοποίηση.
  • Το darknet υποστηρίζει CPU (οπότε δεν έχει σημασία αν δεν έχετε GPU) και GPU (CUDA/cuDNN, φυσικά είναι καλύτερο να χρησιμοποιείτε GPU).
  • Είναι ακριβώς επειδή είναι σχετικά ελαφρύ και δεν έχει ισχυρό API όπως το TensorFlow, οπότε πιστεύω ότι έχει μια άλλη γεύση ευελιξίας, η οποία είναι κατάλληλη για τη μελέτη του υποκείμενου και μπορεί να βελτιωθεί και να επεκταθεί από το κάτω μέρος πιο άνετα.
  • Υπάρχουν ομοιότητες μεταξύ της εφαρμογής του darknet και της εφαρμογής του caffe, και είμαι εξοικειωμένος με το darknet και πιστεύω ότι είναι χρήσιμο να ξεκινήσετε με το caffe.





Προσάρτημα 2:

Συγγραφέας: Χρήστης Zhihu
Σύνδεση:https://www.zhihu.com/question/51747665/answer/145607615
Πηγή: Zhihu
Τα πνευματικά δικαιώματα ανήκουν στον συγγραφέα. Για εμπορικές ανατυπώσεις, επικοινωνήστε με τον συγγραφέα για εξουσιοδότηση και για μη εμπορικές ανατυπώσεις, αναφέρετε την πηγή.

Οι τρεις πιο σημαντικοί ορισμοί δομών στο Darknet είναι network_state, δίκτυο και επίπεδο. Η νέα έκδοση network_state έχει ενσωματωθεί στο δίκτυο.

Ο κώδικας μπορεί να αγνοήσει πρώτα το τμήμα GPU και διαφορετικοί τύποι επιπέδων δικτύου ορίζουν τους κανόνες εκτέλεσης αυτού του τύπου μέσω των δεικτών συνάρτησης προς τα εμπρός προς τα πίσω και ενημερώνονται στο επίπεδο. Για παράδειγμα, υπάρχουν τρεις μέθοδοι για συνδεδεμένα στρώματα, όπως forward_connected_layer backward_connected_layer update_connected_layer στρώμα gru κ.λπ.

Οι ατομικές λειτουργίες είναι μόνο στο blas.c και στο gemm.c, οι λειτουργίες δικτύου είναι στο network.c και οι πιο σημαντικές είναι οι train_network_datum, train_networks, train_network_batch και network_predict.

train_network_datum είναι το float_pair που χρησιμοποιείται για τα δεδομένα εισόδου, δηλαδή τα ζεύγη float *x και float *y.

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

Ένα σημείο, το darknet είναι single-threaded σε λειτουργία CPU και σε λειτουργία γραφικών πολλαπλών GPU, υποστηρίζει train_networks εκτέλεση πολλαπλών καρτών και αυτή είναι επίσης η είσοδος για τον μετασχηματισμό της λειτουργίας darknet πολλαπλών κεντρικών υπολογιστών διανομής, όπου μπορείτε να δείτε τα δεδομένα εκπαιδευμένου βάρους να συγχωνεύονται και να κλιμακώνονται.

train_network_datum Εκτελέστε forward_network { layerwise forward network } backward_network { layerwise reverse network } και εκτελέστε ένα update_network ( ,,, rate, momentum, decay κάτω από τον αριθμό των φορών (*net.seen %subdivisions) ικανοποιείται.

Για την επεξεργασία προφίλ δικτύου που ορίζεται από το χρήστη στο parse_network_cfg, τα αποτελέσματα της εκπαίδευσης διαβάζονται load_weights

Αυτή είναι η ραχοκοκαλιά.

Εάν πρέπει να ασχοληθείτε με πηγές δεδομένων με ειδικές ανάγκες, πρέπει να ανατρέξετε στο data.c για να ξεκινήσετε.

Για το προφίλ CFG, η ρύθμιση εστίασης (φυσικά, όλες οι παράμετροι είναι σημαντικές, μπορεί να χρειαστεί προσαρμογή) και η καθολική παράμετρος της εστίασης κατά τη διάρκεια της προπόνησης: ορμή διάσπασης learning_rate Αυτά τα τρία σχετίζονται με την ταχύτητα σύγκλισης. Η πολιτική είναι η πολιτική βαρών, οι έξοδοι παρτίδας εισόδων (και οι σχετικές υποδιαιρέσεις) σχετίζονται με τη διάσταση απόδοσης δεδομένων και η τελευταία έκδοση φαίνεται να έχει διορθώσεις εδώ στα Ouputs.







Προηγούμενος:mockjs απλό σεμινάριο
Επόμενος:Το .net core FileProvider διαβάζει αρχεία καταλόγου
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com