Получить частную производную в pytorch
coords[i]
список, содержащий 3 элемента x,y,z
и я хочу получить производную G[i]
по каждому из x,y,z
частично то есть
d(G[I])/ д (XI)
в какой-то функциональной форме, такой как f(x)
чтобы я мог пройти скаляр x
в f()
,
Это одна из функций, которые я использую как один из моих входов в нейронную сеть, и я хочу найти частную производную от моего NN
по отношению к x
, Поэтому я пытаюсь найти
d(NN)/ d(G1[i]). d(G1[i])/ (x_{i})
import pytorch
def sym1(coords):
global avg
global eeta
global Rs
global e
R_avg=Rc
G1=[]
for i,m in enumerate(coords):
G1.append(0)
Ri=np.array(coords[i])
for j in range(i,len(coords)):
if(i!=j):
Rj=np.array(coords[j])
Rij=Ri-Rj
Rij_norm=np.linalg.norm(Rij)
sum1=e**(-eeta*((Rij_norm-Rs)**2))
sum2=cutoff(Rij_norm)
summation=sum1*sum2
G1[i]=G1[i]+summation
return G1