J'ai du mal à comprendre les nuances symboliques API de MXNet dans Julia. J'ai vu un exemple dans la documentation MXNet qui a la ligne suivante:Requêtes concernant l'API Symbolic dans MXNet dans Julia
act1 = mx.Activation(data = fc1, name=:relu1, act_type=:relu)
Pourquoi act_type
par le symbole :relu
.?
Est-ce que :relu
est un pointeur de fonction? Si non, alors où assignons-nous la valeur au symbole :relu
? Pourquoi les données ne sont-elles pas affectées d'un symbole? Pourquoi le nom est-il affecté d'un symbole plutôt que d'une chaîne?
Quand vous dites switch déclaration de style qui s'exécute en fonction du symbole passé - cela signifie-t-il que: le symbole relu peut être vérifié pour un nom. typeof (: relu) donnera le résultat -Symbol. Alors, comment pouvons-nous vérifier quel type de symbole a été passé –
oui. cela peut être quelque chose d'aussi simple que 'if name ==: relu; callrelu(); elseif name ==: expo; callexpo(); fin ». Cela dit, en regardant le code source, la bibliothèque MXNet semble être basée sur python. Des symboles sont parfois utilisés dans PyCall pour appeler les membres respectifs d'un module python. par exemple. si en python vous avez 'mx.relu', en julia cela devient habituellement' mx [: relu] '. Il est plus que probable que c'est ce qui se passe ici, et 'relu' est un membre du module python' mx' ou quelque chose du genre. –
comme je le soupçonnais, c'est la syntaxe PyCall. Regardez la documentation équivalente en python. (par exemple, installez mxnet en utilisant pip, puis en python faites 'import mxnet' puis' help (mxnet.symbol.Activation) '). Notez que (tant que le module python est installé) vous pouvez obtenir les mêmes informations via julia en utilisant 'using PyCall',' mxnet = pyimport ("mxnet"); ',' pybuiltin ("help") (mxnet [ : symbole] [: Activation]) ' –