python - 尝试官方 TVM 教程时出现“找不到目标=opencl -device=intel_graphics -model=unknown,workload=”错误的配置
问题描述
我正在尝试在TVM中运行第一个示例,但一开始我就遇到了这些错误。我已经在LLVM ON和OpenCL On的情况下构建了 tvm (为 opencl 应用程序安装了 Intel sdk - opencl 2.1)。构建过程顺利进行,所以我想一切都准备就绪。
但是,当我尝试运行此示例中的此代码段时出现这些错误:编译深度学习模型的快速入门教程:
opt_level = 3
target = tvm.target.intel_graphics()
with relay.build_config(opt_level=opt_level):
graph, lib, params = relay.build_module.build(
mod, target, params=params)
Cannot find config for target=opencl -device=intel_graphics -model=unknown, workload=('conv2d', (1, 3, 224, 224, 'float32'), (64, 3, 7, 7, 'float32'), (2, 2), (3, 3), (1, 1), 'NCHW', 'float32'). A fallback configuration is used, which may bring great performance regression.
Cannot find config for target=opencl -device=intel_graphics -model=unknown, workload=('conv2d', (1, 64, 56, 56, 'float32'), (64, 64, 3, 3, 'float32'), (1, 1), (1, 1), (1, 1), 'NCHW', 'float32'). A fallback configuration is used, which may bring great performance regression.
Cannot find config for target=opencl -device=intel_graphics -model=unknown, workload=('conv2d', (1, 64, 56, 56, 'float32'), (64, 64, 1, 1, 'float32'), (1, 1), (0, 0), (1, 1), 'NCHW', 'float32'). A fallback configuration is used, which may bring great performance regression.
Cannot find config for target=opencl -device=intel_graphics -model=unknown, workload=('conv2d', (1, 64, 56, 56, 'float32'), (128, 64, 3, 3, 'float32'), (2, 2), (1, 1), (1, 1), 'NCHW', 'float32'). A fallback configuration is used, which may bring great performance regression.
Cannot find config for target=opencl -device=intel_graphics -model=unknown, workload=('conv2d', (1, 128, 28, 28, 'float32'), (128, 128, 3, 3, 'float32'), (1, 1), (1, 1), (1, 1), 'NCHW', 'float32'). A fallback configuration is used, which may bring great performance regression.
Cannot find config for target=opencl -device=intel_graphics -model=unknown, workload=('conv2d', (1, 64, 56, 56, 'float32'), (128, 64, 1, 1, 'float32'), (2, 2), (0, 0), (1, 1), 'NCHW', 'float32'). A fallback configuration is used, which may bring great performance regression.
Cannot find config for target=opencl -device=intel_graphics -model=unknown, workload=('conv2d', (1, 128, 28, 28, 'float32'), (256, 128, 3, 3, 'float32'), (2, 2), (1, 1), (1, 1), 'NCHW', 'float32'). A fallback configuration is used, which may bring great performance regression.
Cannot find config for target=opencl -device=intel_graphics -model=unknown, workload=('conv2d', (1, 256, 14, 14, 'float32'), (256, 256, 3, 3, 'float32'), (1, 1), (1, 1), (1, 1), 'NCHW', 'float32'). A fallback configuration is used, which may bring great performance regression.
Cannot find config for target=opencl -device=intel_graphics -model=unknown, workload=('conv2d', (1, 128, 28, 28, 'float32'), (256, 128, 1, 1, 'float32'), (2, 2), (0, 0), (1, 1), 'NCHW', 'float32'). A fallback configuration is used, which may bring great performance regression.
Cannot find config for target=opencl -device=intel_graphics -model=unknown, workload=('conv2d', (1, 256, 14, 14, 'float32'), (512, 256, 3, 3, 'float32'), (2, 2), (1, 1), (1, 1), 'NCHW', 'float32'). A fallback configuration is used, which may bring great performance regression.
Cannot find config for target=opencl -device=intel_graphics -model=unknown, workload=('conv2d', (1, 512, 7, 7, 'float32'), (512, 512, 3, 3, 'float32'), (1, 1), (1, 1), (1, 1), 'NCHW', 'float32'). A fallback configuration is used, which may bring great performance regression.
Cannot find config for target=opencl -device=intel_graphics -model=unknown, workload=('conv2d', (1, 256, 14, 14, 'float32'), (512, 256, 1, 1, 'float32'), (2, 2), (0, 0), (1, 1), 'NCHW', 'float32'). A fallback configuration is used, which may bring great performance regression.
Cannot find config for target=opencl -device=intel_graphics -model=unknown, workload=('dense', (1, 512, 'float32'), (1000, 512, 'float32'), 0, 'float32'). A fallback configuration is used, which may bring great performance regression.
我也试过发送图形模型看看是不是这个原因,但无济于事!我仍然收到相同的错误消息,这次是我提供的模型,即:
opt_level = 3
target = tvm.target.intel_graphics(model='Intel(R) Iris(R) Pro Graphics 580')
with relay.build_config(opt_level=opt_level):
graph, lib, params = relay.build_module.build(
mod, target, params=params)
Cannot find config for target=opencl -device=intel_graphics -model=Intel(R) Iris(R) Pro Graphics 580, workload=('conv2d', (1, 3, 224, 224, 'float32'), (64, 3, 7, 7, 'float32'), (2, 2), (3, 3), (1, 1), 'NCHW', 'float32'). A fallback configuration is used, which may bring great performance regression.
Cannot find config for target=opencl -device=intel_graphics -model=Intel(R) Iris(R) Pro Graphics 580, workload=('conv2d', (1, 64, 56, 56, 'float32'), (64, 64, 3, 3, 'float32'), (1, 1), (1, 1), (1, 1), 'NCHW', 'float32'). A fallback configuration is used, which may bring great performance regression.
Cannot find config for target=opencl -device=intel_graphics -model=Intel(R) Iris(R) Pro Graphics 580, workload=('conv2d', (1, 64, 56, 56, 'float32'), (64, 64, 1, 1, 'float32'), (1, 1), (0, 0), (1, 1), 'NCHW', 'float32'). A fallback configuration is used, which may bring great performance regression.
Cannot find config for target=opencl -device=intel_graphics -model=Intel(R) Iris(R) Pro Graphics 580, workload=('conv2d', (1, 64, 56, 56, 'float32'), (128, 64, 3, 3, 'float32'), (2, 2), (1, 1), (1, 1), 'NCHW', 'float32'). A fallback configuration is used, which may bring great performance regression.
Cannot find config for target=opencl -device=intel_graphics -model=Intel(R) Iris(R) Pro Graphics 580, workload=('conv2d', (1, 128, 28, 28, 'float32'), (128, 128, 3, 3, 'float32'), (1, 1), (1, 1), (1, 1), 'NCHW', 'float32'). A fallback configuration is used, which may bring great performance regression.
Cannot find config for target=opencl -device=intel_graphics -model=Intel(R) Iris(R) Pro Graphics 580, workload=('conv2d', (1, 64, 56, 56, 'float32'), (128, 64, 1, 1, 'float32'), (2, 2), (0, 0), (1, 1), 'NCHW', 'float32'). A fallback configuration is used, which may bring great performance regression.
Cannot find config for target=opencl -device=intel_graphics -model=Intel(R) Iris(R) Pro Graphics 580, workload=('conv2d', (1, 128, 28, 28, 'float32'), (256, 128, 3, 3, 'float32'), (2, 2), (1, 1), (1, 1), 'NCHW', 'float32'). A fallback configuration is used, which may bring great performance regression.
Cannot find config for target=opencl -device=intel_graphics -model=Intel(R) Iris(R) Pro Graphics 580, workload=('conv2d', (1, 256, 14, 14, 'float32'), (256, 256, 3, 3, 'float32'), (1, 1), (1, 1), (1, 1), 'NCHW', 'float32'). A fallback configuration is used, which may bring great performance regression.
Cannot find config for target=opencl -device=intel_graphics -model=Intel(R) Iris(R) Pro Graphics 580, workload=('conv2d', (1, 128, 28, 28, 'float32'), (256, 128, 1, 1, 'float32'), (2, 2), (0, 0), (1, 1), 'NCHW', 'float32'). A fallback configuration is used, which may bring great performance regression.
Cannot find config for target=opencl -device=intel_graphics -model=Intel(R) Iris(R) Pro Graphics 580, workload=('conv2d', (1, 256, 14, 14, 'float32'), (512, 256, 3, 3, 'float32'), (2, 2), (1, 1), (1, 1), 'NCHW', 'float32'). A fallback configuration is used, which may bring great performance regression.
Cannot find config for target=opencl -device=intel_graphics -model=Intel(R) Iris(R) Pro Graphics 580, workload=('conv2d', (1, 512, 7, 7, 'float32'), (512, 512, 3, 3, 'float32'), (1, 1), (1, 1), (1, 1), 'NCHW', 'float32'). A fallback configuration is used, which may bring great performance regression.
Cannot find config for target=opencl -device=intel_graphics -model=Intel(R) Iris(R) Pro Graphics 580, workload=('conv2d', (1, 256, 14, 14, 'float32'), (512, 256, 1, 1, 'float32'), (2, 2), (0, 0), (1, 1), 'NCHW', 'float32'). A fallback configuration is used, which may bring great performance regression.
Cannot find config for target=opencl -device=intel_graphics -model=Intel(R) Iris(R) Pro Graphics 580, workload=('dense', (1, 512, 'float32'), (1000, 512, 'float32'), 0, 'float32'). A fallback configuration is used, which may bring great performance regression.
我什至尝试更改 op_level,这没有任何影响。我应该怎么做才能摆脱这个问题?
解决方案
您看到的不是错误,而是警告。因为 TVM 找不到包含优化计划的日志文件,它只会使用默认(回退)计划。
要消除警告,您需要使用 AutoTVM(如本例所示)来查找优化的时间表。之后,您可以继续编译。
推荐阅读
- android - 在 Firebase 中接收日期时,在数据库中获取了如此多的垃圾文件
- reactjs - 材料表 - 嵌套列
- c++ - C++:错误:无法在 stl_list.h 创建变量对象
- python - 返回具有值的给定顶点集的边值
- django - 使用 django 应用程序在 AWS 上的私有静态文件
- android - 为什么以及何时一个 android 应用程序有多个任务?
- java - 无法使用 selenium 识别 iframe
- performance - ARM softfp 与 hardfp 性能对比
- node.js - 重设密码。令牌在 MEAN Stack 中每次都过期
- ios - 使用 scaleAspectFit 时 UIImageView 中的空白空间