K4RRA 2022-10-03 14:28 采纳率: 100%
浏览 18
已结题

使用Python建立ReLU层时遇到的问题

在学习Python建立ReLU层时,看到书上的一串代码,大意是设置一个mask作为判断输入的numpy.array中的值是否大于0的标志,若大于0则mask为False,小于等于0则mask为True,并将所有mask为True的输出值置0。代码如下:

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
        return dout

re = ReLU()
x = np.array([[-1, 1], [3, -2]])
output = re.forward(x)
print(output)

但是运行之后的报错信息如下:

Traceback (most recent call last):
  File "路径", line 20, in <module>
    output = re.forward(x)
  File "路径", line 11, in forward
    out[self.mask] = 0
TypeError: 'builtin_function_or_method' object does not support item assignment

Process finished with exit code 1

请教一下如何解决问题

  • 写回答

1条回答 默认 最新

  • Elwin Wong 2022-10-03 23:48
    关注

    out = x.copy这一句copy后面少了小括号,应该是out = x.copy()

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月13日
  • 已采纳回答 10月5日
  • 修改了问题 10月3日
  • 创建了问题 10月3日

悬赏问题

  • ¥20 易康econgnition精度验证
  • ¥15 线程问题判断多次进入
  • ¥15 msix packaging tool打包问题
  • ¥28 微信小程序开发页面布局没问题,真机调试的时候页面布局就乱了
  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致