Получить частную производную в 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

0 ответов

Другие вопросы по тегам