class_docstr: The HybridXC module computes XC energy by summing XC energy computed
  from libxc(any conventional DFT functional) and the trainable neural
  network with tunable weights.
  This layer constructs a hybrid functional based on the user's choice
  of what model is to be used to train the functional. (Currently, we only
  support an LDA based model). This hybrid functional is a combination of
  the xc that is trained by a neural network, and a conventional DFT
  functional.
  
  Examples
  --------
  >>> from deepchem.models.dft.nnxc import HybridXC
  >>> import torch
  >>> import torch.nn as nn
  >>> n_input, n_hidden = 2, 1
  >>> nnmodel = (nn.Linear(n_input, n_hidden))
  >>> output = HybridXC("lda_x", nnmodel, aweight0=0.0)
class_docstr_tok: ["The","HybridXC","module","computes","XC","energy","by","summing","XC","energy","computed","from","libxc","(","any","conventional","DFT","functional",")","and","the","trainable","neural","network","with","tunable","weights",".","This","layer","constructs","a","hybrid","functional","based","on","the","user","'s","choice","of","what","model","is","to","be","used","to","train","the","functional",".","(","Currently",",","we","only","support","an","LDA","based","model",")",".","This","hybrid","functional","is","a","combination","of","the","xc","that","is","trained","by","a","neural","network",",","and","a","conventional","DFT","functional",".","Examples","--","--","--","--",">",">",">","from","deepchem.models.dft.nnxc","import","HybridXC",">",">",">","import","torch",">",">",">","import","torch.nn","as","nn",">",">",">","n_input",",","n_hidden","=","2",",","1",">",">",">","nnmodel","=","(","nn.Linear","(","n_input",",","n_hidden",")",")",">",">",">","output","=","HybridXC","(","``","lda_x","''",",","nnmodel",",","aweight0=0.0",")"]
docstr: This method determines the type of model to be used, to train the
  neural network. Currently we only support an LDA based model and will
  implement more in subsequent iterations.
  Returns
  -------
  xc.family
docstr_tok: ["This","method","determines","the","type","of","model","to","be","used",",","to","train","the","neural","network",".","Currently","we","only","support","an","LDA","based","model","and","will","implement","more","in","subsequent","iterations",".","Returns","--","--","--","-","xc.family"]
code: def family(self) -> int:
      """
      This method determines the type of model to be used, to train the
      neural network. Currently we only support an LDA based model and will
      implement more in subsequent iterations.
      Returns
      -------
      xc.family
      """
      return self.xc.family
  
imports: from abc import abstractmethod
  from typing import Union, List
  import torch
  from dqc.utils.datastruct import ValGrad
  from deepchem.utils.dftutils import SpinParam
  from dqc.api.getxc import get_xc
  from dqc.xc.base_xc import BaseXC
  from dqc.utils.safeops import safenorm, safepow
label_desc: Use image node_id 2 for calling the HybridXC obj's underlying member method code with example usage: obj.family() and returns: self