提交 5d3bc7b5 authored 作者: Arnaud Bergeron's avatar Arnaud Bergeron

Since there seemed to be problems in the comparison of GpuCorrMM switch it to __props__.

上级 44c045c2
...@@ -516,6 +516,7 @@ class BaseGpuCorrMM(GpuOp): ...@@ -516,6 +516,7 @@ class BaseGpuCorrMM(GpuOp):
""" """
check_broadcast = False check_broadcast = False
__props__ ('border_mode', 'subsample')
def __init__(self, border_mode="valid", subsample=(1, 1), pad=(0, 0)): def __init__(self, border_mode="valid", subsample=(1, 1), pad=(0, 0)):
if pad != (0, 0): if pad != (0, 0):
...@@ -547,16 +548,6 @@ class BaseGpuCorrMM(GpuOp): ...@@ -547,16 +548,6 @@ class BaseGpuCorrMM(GpuOp):
return self.border_mode return self.border_mode
return (0, 0) return (0, 0)
def __eq__(self, other):
return type(self) == type(other) \
and self.border_mode == other.border_mode \
and self.subsample == other.subsample
def __hash__(self):
return hash(type(self)) \
^ hash(self.border_mode) \
^ hash(self.subsample)
def __str__(self): def __str__(self):
return '%s{%s, %s}' % ( return '%s{%s, %s}' % (
self.__class__.__name__, self.__class__.__name__,
...@@ -988,6 +979,7 @@ class GpuCorrMM_gradInputs(BaseGpuCorrMM): ...@@ -988,6 +979,7 @@ class GpuCorrMM_gradInputs(BaseGpuCorrMM):
class BaseGpuCorr3dMM(GpuOp): class BaseGpuCorr3dMM(GpuOp):
"""Base class for `GpuCorr3dMM`, `GpuCorr3dMM_gradWeights` and """Base class for `GpuCorr3dMM`, `GpuCorr3dMM_gradWeights` and
`GpuCorr3dMM_gradInputs`. Cannot be used directly.""" `GpuCorr3dMM_gradInputs`. Cannot be used directly."""
__props__ = ('border_mode', 'subsample', 'pad')
def __init__(self, border_mode="valid", def __init__(self, border_mode="valid",
subsample=(1, 1, 1), subsample=(1, 1, 1),
...@@ -1002,18 +994,6 @@ class BaseGpuCorr3dMM(GpuOp): ...@@ -1002,18 +994,6 @@ class BaseGpuCorr3dMM(GpuOp):
raise ValueError("pad must be 'half', 'full', or have three elements") raise ValueError("pad must be 'half', 'full', or have three elements")
self.pad = pad self.pad = pad
def __eq__(self, other):
return type(self) == type(other) \
and self.border_mode == other.border_mode \
and self.subsample == other.subsample \
and self.pad == other.pad
def __hash__(self):
return hash(type(self)) \
^ hash(self.border_mode) \
^ hash(self.subsample) \
^ hash(self.pad)
def __str__(self): def __str__(self):
return '%s{%s, %s, pad=%r}' % ( return '%s{%s, %s, pad=%r}' % (
self.__class__.__name__, self.__class__.__name__,
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论