0

Je partage des paramètres d'un réseau et je souhaite appliquer certaines opérations pour passer aux éléments du vecteur de paramètres. Je ne peux pas effectuer ces opérations directement sur le tenseur des paramètres, car elles vont certainement modifier la référence du vecteur de paramètres et les ruptures de partage. Donc : clone() le vecteur de paramètres partagés et d'appliquer les modifications que je veux sur le nouveau vecteur et utilisez la fonction : copy() pour remplacer les éléments dans le vecteur de paramètres d'origine. Je pensais que la fonction tensor: copy() ne modifie pas la référence vector/tensor mais il semble que cela se fasse puisque le partage des paramètres s'effondre peu de temps après l'application. Je me demande donc si quelqu'un peut corriger le code ci-dessous et suggérer un moyen de changer les éléments du vecteur de paramètres sans casser le partage?Comment appliquer des modifications aux éléments d'un tenseur/vecteur sans changer sa référence?

tempParam = parameters:clone() 
Do some operations on the tempParam vector 
parameters:copy(tempParam) -- Do the replacement (the copy() function breaks the sharing) 

L'une des opérations que je suis intéressé à faire est de serrage, mais la fonction de serrage() rompt également le partage si elle est appliquée directement kon le vecteur de paramètres.

Répondre