python - 构建 Relu 层:TypeError:“builtin_function_or_method”对象不支持项目分配
问题描述
我正在尝试构建 Relu 层:
import numpy as np
class Relu:
def __init__(self):
self.mask = None
def forward (self,x):
self.mask = (x<=0)
out = x.copy
out[self.mask] = 0
return out
def backward(self, dout):
dout[self.mask]=0
dx = dout
return dx
activation = Relu()
out = activation.forward(np.random.rand(3,2))
print(out)
错误信息是:
5 self.mask = (x<=0)
6 out = x.copy
----> 7 out[self.mask] = 0
8 return out
9 def backward(self, dout):
TypeError: 'builtin_function_or_method' object does not support item assignment
我在教科书中使用代码。但是,我无法执行 Relu 代码。这是环境设置问题吗?
解决方案
您忘记在copy
. 现在,您只需将copy
功能分配给out
. 它只是被引用,而不是被调用。这是更正后的代码。
import numpy as np
class Relu:
def __init__(self):
self.mask = None
def forward (self,x):
self.mask = (x<=0)
out = x.copy()
out[self.mask] = 0
return out
def backward(self, dout):
dout[self.mask]=0
dx = dout
return dx
activation = Relu()
out = activation.forward(np.random.rand(3,2))
print(out)
推荐阅读
- elasticsearch - Elastisearch:只能在关键字和文本字段上使用前缀查询 - 而不是在类型为 [boolean] 的 [isXyz] 上
- javascript - 嵌套命名空间与 ES 模块
- x86 - 是否对不同的 INTEL SIMD 指令集有任何依赖关系?
- python-3.x - AttributeError:“Hundo”对象没有属性“saluti”
- javascript - 根据字符串的索引获取元素
- python - 修改 sympify 以不简化乘法
- python - python脚本过程中的日志文件
- python - 尝试将功能写入模块然后等待它时获取'AttributeError:模块'module'没有属性'function'
- reactjs - 测试reducer时如何在第一次测试后忽略一个笑话
- apache - “PermissionError:[Errno 13] 权限被拒绝:”在烧瓶应用程序中