ruguo1000 2023-03-15 17:32 采纳率: 0%
浏览 40
已结题

自定义函数报错does not have an evaluate method

img


想在Maxcomputer里自定义可生成随机数的函数,上图是在业务流程里新建的Python资源内容,然后根据资源新建了函数rand_func,但是使用这个函数的时候报错:class rand.NumRand for user defined function rand_func does not have an evaluate method
这是我参考的官方帮助文档:
https://help.aliyun.com/document_detail/154431.html
请问是哪错了,应该咋改呀?

  • 写回答

3条回答 默认 最新

  • 「已注销」 2023-03-15 18:02
    关注

    参考GPT和自己的思路:

    根据你提供的信息,很可能是函数定义中缺少了 evaluate 方法导致报错。evaluate 方法是函数计算平台要求的必须实现的方法,用于评估函数的输入和输出。在你的 Python 代码中,你需要在 NumRand 类中定义 evaluate 方法,以实现函数的逻辑操作。你可以按照以下方式实现 evaluate 方法:

    class NumRand:
        def __init__(self, low, high, size):
            self.low = low
            self.high = high
            self.size = size
    
        def evaluate(self, x):
            import numpy as np
            return np.random.randint(self.low, self.high, size=self.size)
    

    然后在你的 Python 代码中,你可以直接使用 NumRand 类实例化一个对象,并调用 evaluate 方法获取函数执行结果。例如:

    def rand_func(**kwargs):
        rand_instance = NumRand(0, 100, 10)
        return rand_instance.evaluate(None)
    

    重新运行代码试试看能否正常执行了。希望这些信息对你有所帮助!

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月16日
  • 修改了问题 3月15日
  • 创建了问题 3月15日

悬赏问题

  • ¥30 模拟电路 logisim
  • ¥15 PVE8.2.7无法成功使用a5000的vGPU,什么原因
  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音
  • ¥30 Pytorch深度学习服务器跑不通问题解决?
  • ¥15 部分客户订单定位有误的问题
  • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
  • ¥15 Bug traq 数据包 大概什么价