python-3.x - 使用 Numba nopython 模式时出现 TypeError
问题描述
我是 Numba 的新手,并尝试使用 nopython 模式进行 jit 编译代码。但它正在回归
TypeError: compile_kernel() got an unexpected keyword argument 'nopython'
.
包含所有代码的 colab 笔记本可以在https://colab.research.google.com/drive/1MZje-NTmdltZzYmg1b4WDu1Hd5C_nVzR找到
我在哪里弄错了?请建议。
解决方案
我认为您的问题是您numba.jit
对numba.cuda.jit
. 如果您查看numba.cuda.jit
此处的文档,您会发现 nopython 实际上不是参数。
这里的区别是包内的numba.jit
函数,而包的模块内的函数。jit
numba
numba.cuda.jit
jit
cuda
numba
想想看,你不能在 GPU 上运行 python,所以无论如何它都需要是 nopython (因此不需要那个参数)。
我做的一件事你可能会觉得有帮助,那就是numba.jit
在尝试编译 nopython 代码时不要使用(尽可能)。而是使用numba.njit
,它总是强制使用 nopython 模式(并且可以在大多数情况下使用)。
推荐阅读
- c# - 在 C# ASP.NET Core MVC 中使用 AJAX 将数据从视图传递到控制器
- ios - 确定自定义 iOS 视图是否重叠
- sql - SQL WHERE LIKE 查询不返回正确的记录
- vb.net - 从txt文件中提取并保存相关数据
- java - 如何使用 jar 执行登录到控制台或文件以获取不同的配置文件?
- c - mmap 函数总是返回 MAP_FAILED
- boolean - 如何将产生布尔值的 cond 语句转换为仅涉及非和和或的表达式
- android - Android 存储访问框架返回“原始”路径
- powershell - 如何为 ffmpeg 创建 powershell 脚本/或 windows .bat 文件
- python - 从 webscraper 清理数据