微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

pytorch中是否有_keras_shape的等效项?

如何解决pytorch中是否有_keras_shape的等效项?

我正在尝试将一些代码从keras实现转换为pytorch等效。我对f_real._keras_shape = self.kernel_shape的这项工作不甚了解。如我所见,_keras_shape似乎是'self.kernel'的自动生成属性-已为其分配了kernel_shape值。在keras中,我认为内核被初始化为某种张量占位符。这是代码

from keras.layers import Layer
from keras import backend as K
class cconv(Layer):
.......
  self.kernel = self.add_weight(
        self.kernel_shape,initializer=kern_init,name='kernel',regularizer=self.kernel_regularizer,constraint=self.kernel_constraint
    )
  real = self.kernel[:,:,:self.filters]
  imag = self.kernel[:,self.filters:]

在这两行中苦苦挣扎:

  real._keras_shape = self.kernel_shape
  imag._keras_shape = self.kernel_shape

到目前为止,我得到了:

  self.kernel = nn.Parameter(
        self.kernel_shape,initializer=self.kernel_initializer,self.filters:]

是否有一个与'_keras_shape'等效的torch.nn.Parameter或任何替代方法

edit:我做了一些挖掘工作,但似乎找不到此'_keras_shape'属性起源的确切文件!有一个似乎很相关的Variable类(无法触及底部),即keras.backend.py中的一些代码-

from tensorflow.python.ops import variables as variables_module

def variable(value,dtype=None,name=None,constraint=None):

    v = variables_module.Variable(
        value,dtype=dtypes_module.as_dtype(dtype),name=name,constraint=constraint)
    if isinstance(value,np.ndarray):
        v._keras_shape = value.shape
    elif hasattr(value,'shape'):
        v._keras_shape = int_shape(value)
    track_variable(v)
    return v

variables.py file没有道理-找不到_keras_shape回到多远的位置...

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。