【问题标题】:Numba: How to SuppressNumba:如何抑制
【发布时间】:2014-01-18 18:54:31
【问题描述】:

我的 numba 代码中不断出现此错误:

Warning 101:0: Unused argument 'self'

我的 numba 代码如下。如何隐藏错误消息?

@autojit
def initialise_output_data(self, input_data, output_data, params ):

    # Unpack Params
    #omega = params['omega']
    #beta  = params['beta']
    #gamma = params['gamma']
    psi   = params['psi']    

    # Unpack Output Data
    mu    = output_data['mu']
    s2    = output_data['sigma2']        
    res   = output_data['residuals']
    res2  = output_data['residuals2']        

    # Initialise Garch Variables
    s2[0]   = input_data[ 'sample_var' ]
    res[0]  = psi[0] / ( 1.0-psi[1] )
    res2[0] = res[0]**2
    mu[0]   = psi[0] + psi[1]*res[0] 

【问题讨论】:

  • ...删除未使用的参数?
  • 嗯,它是一个类的一部分。
  • ...不需要的时候不要放在类里?
  • 如果 self 没有在该方法中使用,您可能应该使用 @staticmethod 装饰器......然后您也可以避免警告

标签: python-3.x numba


【解决方案1】:

您可以使用warn=False 禁止针对特定功能的所有 numba 警告。例如:

@numba.autojit(warn=False)
def f(a, b):
    return a

f 不使用 b 但 numba 不发出警告。这也适用于@numba.jit。小心点!

【讨论】:

    【解决方案2】:

    由于 autojit doesn't seem to exist anymore 和 numba.jit 不接受参数 warn,一些不完善的处理方法可能是:

    1. 禁用所有警告级别或更低级别的 Numba 消息

      import logging;
      logger = logging.getLogger("numba");
      logger.setLevel(logging.ERROR)
      
    2. 完全禁用所有警告级别或更低级别的消息

      import logging;
      logging.disable(logging.WARNING)
      

    【讨论】:

      猜你喜欢
      • 2020-12-10
      • 2016-12-05
      • 1970-01-01
      • 2021-07-31
      • 2017-04-25
      • 2015-05-20
      • 2015-03-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多