TVM在Windows10下编译安装

2023-05-16

本教程记录了Windows端安装tvm的过程,欢迎交流。教程参考:TVM Windows下全功能编译方法:从入门到劝退

https://blog.csdn.net/znsoft/article/details/115037261

0 环境准备

安装Cmake及visual studio 2019

安装tvm前需先安装llvm编译器,用于tvm中模型的低级代码编译。

1 编译安装llvm

llvm下载可通过网址:
https://codeload.github.com/llvm/llvm-project/zip/refs/tags/llvmorg-11.0.1
将压缩包解压到没有中文的文件目录中,建议解压在 工具依赖包专用位置,以免误删。

  • 本文解压到:F:\tools

  • 解压后根目录为:F:\tools\llvm-project-llvmorg-11.0.1
    在这里插入图片描述

  • 进入目录:F:\tools\llvm-project-llvmorg-11.0.1\llvm

  • 在上面的文件目录中新建build文件夹

  • 进入:F:\tools\llvm-project-llvmorg-11.0.1\llvm\build

  • 在上面的文件目录运行:cmd,回车进入命令行窗口
    在这里插入图片描述
    在这里插入图片描述

  • 键入:cmake ..(中间有空格哦),回车
    在这里插入图片描述

  • 命令行键入:cd …`,进入上级目录
    在这里插入图片描述

  • 命令行键入:cmake --build build --config Release
    在这里插入图片描述
    最终生成文件:F:\tools\llvm-project-llvmorg-11.0.1\llvm\build\Release\bin\llvm-config.exe
    在这里插入图片描述

2 编译TVM

原本TVM应该从官方仓库https://github.com/apache/tvm进行下载,由于第三方库处理较为繁琐,这里贴出tvm包含tvm第三方依赖包的压缩包下载地址(量力取用):

  • CSDN:https://download.csdn.net/download/linshu1994/85189650
  • 百度网盘:https://pan.baidu.com/s/1uu5k8Z37pvkXbd70d_Eg6w,验证:83ik

详细过程如下:

  • 解压项目:
    在这里插入图片描述

  • 解压项目包后,删除根目录内build文件夹中所有文件,项目根目录下调出命令行窗口,输入:copy cmake/config.cmake build/,即拷贝cmake中编译配置文件。

  • 修改刚刚复制到build文件夹中的config.cmakeset(USE_LLVM xxx),这里xxx即llvm编译得到的目标llvm-config.exe文件的绝对目录,本文为F:/tools/llvm-project-llvmorg-11.0.1/llvm/build/Release/bin/llvm-config.exe,注意这里和从Windows复制出来的目录不同,将\更改为/,否则可能报错Invalid character escape '\l'
    在这里插入图片描述

  • 命令行窗口切换至根目录下build,执行命令cmake -A x64 -Thost=x64 ..,编译tvm完成如下:
    在这里插入图片描述

  • 然后cd ..,运行cmake --build build --config Release -- /m,出现:
    在这里插入图片描述

  • 成功后,在文件夹F:\tools\tvm\build\Release出现tvm.dll等文件表示安装成功。
    在这里插入图片描述

  • 这时激活anaconda环境,进入项目目录F:\tools\tvm\python运行python setup.py install安装tvm的python接口。
    在这里插入图片描述

  • 安装完成后,在anaconda环境中键入python进入python shell,键入import tvm,回车。
    在这里插入图片描述

无报错,则恭喜你,tvm安装成功。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

TVM在Windows10下编译安装 的相关文章

随机推荐

  • Evernote和有道云笔记的比较

    每个人可能都有随手记录一些事情的习惯 xff0c 可能是为了不忘记 xff0c 也可能是随时闪现在头脑中的一些想法 xff0c 因此就有了便利贴 xff0c 而在计算机或者说互联网的时代 xff0c 我们就有了更多选择 xff0c 可以随时
  • 软件开发中的哲学——世界的本原是物质(一)

    在这个系列博客的第一篇中 xff0c 首先要涉及到的哲学原理就是 世界的本原是物质 在IT领域 xff0c 有硬件和软件之分 xff0c 而二者之间的关系 xff0c 就和物质与精神类似 没有硬件的存在 xff0c 那么软件就没有能够发挥作
  • 在Prezi中输入简体中文的完美解决方案

    Prezi是一种在线制作演示文档 xff08 PPT xff09 的工具 xff0c 它与传统的Powerpoint或者Keynote的表现形式完全不同 xff0c 被称为 powerpoint的颠覆者 xff0c 在36Kr上曾经有过多篇
  • C程序中头文件相互包含精华(网摘小结)

    h 中一般放的是同名 c 文件中定义的变量 数组 函数的声明 xff0c 需要让 c 外部使用的声明 1 h 文件作用 1 方便开发 包含一些文件需要的共同的常量 结构 类型定义 函数 变量申明 xff1b 2 提供接口 对一个软件包来说可
  • 【无标题】sourceTree使用教程,比TortoiseSVN小乌龟更好用的一款软件

    俗话说的好工欲善其事必先利其器 xff0c Git分布式版本控制系统是我们日常开发中不可或缺的 目前市面上比较流行的Git可视化管理工具有SourceTree Github Desktop TortoiseGit xff0c 综合网上的一些
  • Vim(gvim)配色方案推荐

    如果经常用vim进行编辑 xff0c 那么一款好的vim配色就是必然的啦 xff0c 今天我们就来介绍一下我比较喜欢的几款配色 xff08 配色效果主要针对gvim xff0c 因为在vim下工作都是终端操作 xff09 由于本人是以程序员
  • 如何定义python的全局变量

    定义全局变量 global var 61 10 def some function 在函数中使用全局变量 print 34 Global variable value 34 global var some function 在Python中
  • 网上推荐的学习ucosii的三本书

    1 xff0c 嵌入式实时操作系统uc os II教程 西安电子科技大学出版 xff0c 有流程图 2 xff0c 嵌入式实时操作系统uc os II原理与应用 xff08 第二版 xff09 任哲 北航出版 3 xff0c 基于嵌入式实时
  • UC/OSII源码阅读知识点(第一章)

    嵌入式实时操作系统uc os原理与实践 xff08 卢有亮 电子工业出版社 xff09 1 在STM32上使用的ARM CORTEX处理器中 xff0c 具有主堆栈MSP和进程堆栈PSP xff0c 具有Pendsv和Systick中断 2
  • 802.11控制帧&管理帧

    控制帧主要用于协助数据帧的传递 xff0c 可用于管理无线媒介的访问 提供MAC层的可靠性 以下只讲帧类型 xff0c 不讲帧结构 1 1 RTS帧 xff1a 用来取得媒介的控制权 xff0c 用于传送分段帧 xff0c 分段由网卡驱动程
  • linux常用变量含义

    是传给脚本的参数个数 0 是脚本本身的名字 1 是传递给该shell脚本的第一个参数 2 是传递给该shell脚本的第二个参数 64 是传给脚本的所有参数的列表 是以一个单字符串显示所有向脚本传递的参数 xff0c 与位置变量不同 xff0
  • 四核 x86 MinnowBoard 和 UP Squared 单板计算机

    MinnowBoard的 MinnowBoard Turbot Quad 和Aaeon的UP平方单板计算机开始出货 xff0c 以社区网站和运行Linux和Android的英特尔SoC为特点 5月23日 xff0c Intel支持的Minn
  • 无人机悬停 优象科技LC302 V1.1光流模块

    5月30日 xff0c 学校组织了一年一度的五月风活动 xff0c 每个社团纷纷拿出自己协会的作品 在我们科技爱好者协会中 xff0c 展示了光流模块 xff0c 特斯拉线圈 xff0c 蓝牙小车 xff0c 激光显示仪器 xff0c 空气
  • git中tag与release的创建以及两者的区别

    简介 本文辨析在参与开源项目时会遇到的tag与release的概念区别与联系 xff0c 并比较两者的创建方法 定义 标签 xff08 tag xff09 是特定提交 xff08 commit 一个指针 xff0c 也就是每个tag对应一个
  • PX4源码的Makefile详细理解(包含部分makefile语法规则和编译逻辑)

    啰嗦 xff1a 越会一件事情 xff0c 就会忘了不会一件事情的感觉 前段时间在微信上看到这句话 xff0c 深以为然 xff0c 这就是为什么很多时候懂的人觉得自己讲的很清楚了 xff0c 但是不懂的人却觉得并没有讲的清楚明了 xff0
  • c/c++语言结构体中的冒号的用法

    结构体中常见的冒号的用法是表示位域 有些信息在存储时 xff0c 并不需要占用一个完整的字节 xff0c 而只需占几个或一个二进制位 例如在存放一个开关量时 xff0c 只有0 和 1 两种状态 xff0c 用一位二进位即可 为了节省存储空
  • ubuntu 升级内核的具体步骤

    收藏于 2013 04 09 迁移自本人的百度空间 转载自 http forum ubuntu org cn viewtopic php p 61 2730876 ubuntu 12 04内核是linux 3 2 0 24 xff0c 其实
  • 不花钱的机器人——ROS机器人仿真平台 | 模拟器 | Autolabor Simulation

    没钱买机器人底盘和激光雷达 xff0c 照样也能玩转机器人 xff01 Autolabor Simulation是什么 Autolabor Simulation是由 Autolabor 推出的一款基于ROS xff08 Robot Oper
  • 分布式之数据库和缓存双写一致性方案解析

    本文转自博客园 作者 xff1a 孤独烟 原文链接 xff1a https www cnblogs com rjzheng p 9041659 html 为什么写这篇文章 首先 xff0c 缓存由于其高并发和高性能的特性 xff0c 已经在
  • TVM在Windows10下编译安装

    本教程记录了Windows端安装tvm的过程 xff0c 欢迎交流 教程参考 TVM Windows下全功能编译方法 xff1a 从入门到劝退 https blog csdn net znsoft article details 11503