首页 > 其他分享 >numba cannot be imported and numba functions are disabled. Probably the execution is slow.

numba cannot be imported and numba functions are disabled. Probably the execution is slow.

时间:2024-01-22 12:25:50浏览次数:22  
标签:functions slow bus create pp numba import net

问题描述

运行代码会出现警告信息

numba cannot be imported and numba functions are disabled.
Probably the execution is slow.
Please install numba to gain a massive speedup.
(or if you prefer slow execution, set the flag numba=False to avoid this warning!)

即使把numba的import注释掉也还是会有这个警告、卸载numba也还是有,安装之后import还有警告。

python 3.10.11 numba-0.58.1 numpy-1.26.3 pandapower-2.13.1

复现步骤

上述环境运行以下代码

"""
https://discourse.jupyter.org/t/numba-module-cannot-be-imported-properly/19353

numba cannot be imported and numba functions are disabled.
Probably the execution is slow.
Please install numba to gain a massive speedup.
(or if you prefer slow execution, set the flag numba=False to avoid this warning!)
"""
import pandapower as pp
import numba 
net = pp.create_empty_network() 
b1 = pp.create_bus(net, vn_kv=20.)
b2 = pp.create_bus(net, vn_kv=20.)
pp.create_line(net, from_bus=b1, to_bus=b2, length_km=2.5, std_type="NAYY 4x50 SE")   
pp.create_ext_grid(net, bus=b1)
pp.create_load(net, bus=b2, p_mw=1.)
pp.runpp(net)	# 警告诞生处

排查过程

  1. 单纯使用numpy和pandapower不会有numba警告,为了测试这个,可以用以下代码证明
import numpy as np
import pandapower as pp
import pandapower.networks as networks
from numpy.linalg import matrix_power
from pandapower import runpp

np.random.seed(42)
np.ones(5)
# Define a 2x2 matrix
A = np.array([[2, 3], [4, 5]])

# Define the power of the matrix (in this case, A^2)
A_power_2 = matrix_power(A, 2)
print("Original matrix A:")
print(A)

print("\nMatrix A raised to the power of 2:")
print(A_power_2)


# create empty net
net = pp.create_empty_network()

# create buses
b1 = pp.create_bus(net, vn_kv=20., name="Bus 1")
b2 = pp.create_bus(net, vn_kv=.4, name="Bus 2")
b3 = pp.create_bus(net, vn_kv=.4, name="Bus 3")

# create bus elements
pp.create_ext_grid(net, bus=b1, vm_pu=1.02, name="Grid Connection")
pp.create_load(net, bus=b3, p_kw=100, p_mw=80, q_kvar=50, name="Load")

# create branch elements
tid = pp.create_transformer(net, hv_bus=b1, lv_bus=b2, std_type="0.4 MVA 20/0.4 kV", name="Trafo")
pp.create_line(net, from_bus=b2, to_bus=b3, length_km=.1, name="Line", std_type="NAYY 4x50 SE")


# Load a pre-defined power grid network
net = networks.case33bw()# io_utils.py:509: FutureWarning
print("Loaded network data:")
print(net)
  1. 版本兼容性问题

尝试安装 numbda 0.58.1 后取消注释还是会报警告,确认可以import;尝试 numba-0.58.0 numpy-1.25.2 后也是报警告;numba-0.57.0 numpy-1.24.4 也报警告;numba-0.56.0 numpy-1.22.4 则不报警告

结论

版本兼任问题,pandapower-2.13.1 和numba的0.57-0.58.1有,前者issue注意到了后者version接口变更了,待后续修复,现在可先用 numba-0.56.0

标签:functions,slow,bus,create,pp,numba,import,net
From: https://www.cnblogs.com/guilinmifen/p/17979778

相关文章

  • 无涯教程-SQL Numeric Functions函数
    SQL数字函数主要用于数字操作和/或数学计算。下表详细介绍了数字函数-Sr.No.Function&描述1ABS()返回数值表达式的绝对值。2ACOS()返回数值表达式的反余弦值。如果该值不在-1到1之间,则返回NULL。3ASIN()返回数字表达式的反正弦值。如果值不在-1到1的范围内,则返......
  • 无涯教程-Redis - SLOWLOG 命令函数
    RedisSlowLog是一个用于记录超过指定执行时间的查询的系统,执行时间不包括与客户端交谈,发送答复等之类的I/O操作,而是实际执行命令所需的时间。您可以使用以下两个参数配置慢速日志:slowloglog-slower-than告诉Redis执行命令的时间(以微秒为单位)要超过多少秒才能被记录下来。请......
  • 神奇的 SQL ,高级处理之 Window Functions → 打破我们的局限!
    开心一刻今天儿子跟老婆聊天儿子:妈妈,我为什么没有两个爸爸呀老婆:每个人都只有一个爸爸呀,你看谁有两个爸爸了儿子一脸真诚的看着老婆:那你为什么就有两个爸爸呢老婆一脸疑惑的望向儿子:我哪有两个爸爸了?儿子有点不服气,温柔地说道:你管爷爷叫爸爸,你管姥爷还叫爸......
  • 神奇的 SQL ,高级处理之 Window Functions → 打破我们的局限!
    开心一刻今天儿子跟老婆聊天儿子:妈妈,我为什么没有两个爸爸呀老婆:每个人都只有一个爸爸呀,你看谁有两个爸爸了儿子一脸真诚的看着老婆:那你为什么就有两个爸爸呢老婆一脸疑惑的望向儿子:我哪有两个爸爸了?儿子有点不服气,温柔地说道:你管爷爷叫爸爸,你管姥爷还叫爸......
  • 无涯教程-PostgreSQL - Functions(函数)
    PostgreSQL函数,也称为存储过程,使您能够执行通常会在数据库中的单个函数中进行多个查询和往返的操作,函数允许数据库重用,因为其他应用程序可以直接与您的存储过程进行交互,而无需中间层或重复代码。Functions-语法创建函数的基本语法如下-CREATE[ORREPLACE]FUNCTIONfuncti......
  • 无涯教程-PL/SQL - 函数(Functions)
    在本章中,无涯教程将讨论PL/SQL中的函数,函数与过程相同,只不过它返回一个值,因此,上一章的所有讨论也适用于函数。创建函数使用CREATEFUNCTION语句创建一个函数。CREATEORREPLACEPROCEDURE语句的简化语法如下-CREATE[ORREPLACE]FUNCTIONfunction_name[(parameter_n......
  • Sum of XOR Functions 题解
    题意给定一个数\(n\)和一个包含\(n\)个数的序列\(a\),求出以下式子模\(998244353\)的值:\(\sum_{i=1}^{n}\sum_{j=i}^{n}f(i,j)\times(j-i+1)\)。其中\(f(i,j)\)的值为\(a_{i}\oplusa_{i+1}\oplusa_{i+2}\oplus...\oplusa_{j}\)。思路首先我们可以考虑这道题的......
  • 神奇的 SQL 高级处理之 Window Functions → 打破我们的局限
    什么是窗口函数 WindowFunction 也称为 OLAP(OnlineAnalyticalProcessing)函数 对数据库数据进行实时分析处理,例如市场分析、财务报表等,是标准的SQL功能中文翻译过来,叫 窗口函数 ,或者 开窗函数 ,在 Oracle 中也称 分析函数 与 聚合函数 一样......
  • New Type Functions/Utilities for Dealing with Ranges in C++20
    GenericTypesofRanges  类型萃取从字面意思上来说其实就是帮助我们挑选某个对象的类型,筛选特定的对象来做特定的事。可以先来回顾一下以前的写法。#include<vector>#include<iterator>intmain(){std::vectorv{1,2,3};usingiterator_type=std::vecto......
  • 无涯教程-MySQL String Functions函数
    Sr.No.Name&Description1ASCII()返回最左边字符的数值2BIN()返回参数的字符串表示形式3BIT_LENGTH()返回参数的长度(以位为单位)4CHAR_LENGTH()返回参数中的字符数5CHAR()返回传递的每个整数的字符6CHARACTER_LENGTH()CHAR_LENGTH()的同义词7......