x86 cpu卷积网络的自动调谐

本文档详细介绍了如何针对x86 CPU进行卷积神经网络的自动调优,包括设置目标CPU、定义网络、设置线程数、配置调优选项等步骤,以提高内核执行性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

x86 cpu卷积网络的自动调谐
这是一个关于如何为x86cpu调整卷积神经网络的文档。
本文不会在Windows或最新版本的macOS上运行。要让它运行,需要将主体包装在
if name == “main”: 块中。
import os
import numpy as np

import tvm
from tvm import relay, autotvm
from tvm.relay import testing
from tvm.autotvm.tuner import XGBTuner, GATuner, RandomTuner, GridSearchTuner
from tvm.autotvm.graph_tuner import DPTuner, PBQPTuner
import tvm.contrib.graph_runtime as runtime
Define network
首先需要在中继前端API中定义网络。可以从relay.testing测试或编译
relay.testing.resnet转换。也可以从MXNet、ONNX和TensorFlow加载模型。 本文选择restuning作为示例。
def get_network(name, batch_size):
“”“Get the symbol definition and random weight of a network”""
input_shape = (batch_size, 3, 224, 224)
output_shape = (batch_size, 1000)

if "resnet" in name:
    n_layer = int(name.split("-")[1])
    mod, params = relay.testing.resnet.get_workload(
        num_layers=n_layer, batch_size=batch_size, dtype=dtype
    )
elif "vgg" in name:
    n_layer = int(name.split("-")[1])
    mod, params = relay.testing.vgg.get_workload(
        num_layers=n_layer, batch_size=batch_size, dtype=dtype
    )
elif name == "mobilenet":
    mod, params = relay.testing.mobilenet.get_workload(batch_size=batch_size, dtype=dtype)
elif name == "squeezenet_v1.1":
    mod, params = relay.testing.squeezenet.get_workload(
        batch_size=batch_size, version="1.1", dtype=dtype
    )
elif name == "inception_v3":
    input_shape = (batch_size, 3, 299, 299)
    mod, params = relay.testing.inception_v3.get_workload(batch_size=batch_size, dtype=dtype)
elif name == "mxnet":
    # an example for mxnet model
    from mxnet.gluon.model_zoo.vision import get_model

    block = get_model("resnet18_v1", pretrained=True)
    mod, params = relay.frontend.from_mxnet(block, shape=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值