TVM安装踩坑笔记

TVM安装踩坑笔记

由于是在公司服务器安装的TVM,所以有各种网络的限制问题,不能从服务器端直接下载包文件,得先下载到windows上面然后再上传到服务器端。但是,TVM和LLVM的包文件服务器在国外的缘故,所以下载的很慢。。。。花了我一天时间才搞好,太惭愧了。。。。

想要安装TVM(这个是不区分C还是python的,安装好以后都可以用的),首先必须安装TVM的编译器LLVM和clang。
下载链接
TVM安装踩坑笔记_第1张图片
进去以后选择自己需要的版本,这里也不是越高越好啊,我安装的7.0.1没出什么版本问题,你们可以自己尝试一下。
点击Download以后进入下一个页面,这时候选择下面的自己系统的版本进行相应的安装。(比如我的就是ubuntu16.4.0.sig)
TVM安装踩坑笔记_第2张图片
然后就开始下载了。

下载之后解压到一个目录下,解压后的文件夹下包含bin,include,lib,libexec,share文件夹,找到 bin 文件夹下的 llvm-config 文件,记下此文件的绝对路径。
TVM安装踩坑笔记_第3张图片
在ubuntu下环境变量添加方法:

将下载的预编译包解压(clang+llvm-5.0.1-x86_64-linux-gnu-ubuntu-14.04)放在home目录下,

在ubuntu中添加环境变量的命令:

sudo gedit /etc/profile

添加以下两行命令:

export LLVM_HOME=/home/xxx(your usr name)/clang+llvm-5.0.1-x86_64-linux-gnu-ubuntu-14.04/bin
export PATH=$LLVM_-HOME:$PATH

下面开始已下载TVM安装包:

git clone --recursive https://github.com/dmlc/tvm

配置 CMake
为保持简单,本配置不启用 CUDA,OpenCL,RCOM,METAL,VULKAN…

① 切换目录进刚刚 Clone 的 TVM 文件夹下:

cd tvm

② 在 tvm 文件夹下新建 build 文件夹,并将 cmake/config.cmake 文件复制进来:

mkdir build
cp cmake/config.cmake build

③ 修正 build/config.cmake 文件的 USE_LLVM 属性,将属性值改为刚才记下的 llvm-config 文件的绝对路径,形式如下:

set(USE_LLVM /path/to/your/llvm/bin/llvm-config)

编译
不切换目录,在 build 文件夹下执行命令:

cmake ..
make -j4

重点来了!!!
这里会出现很多问题,首先cmake的时候会提示我找不到我上面给出的LLVM路径??所以我又使用sudo apt-get clang-6.0 llvm-6.0 lldb-6.0
直接安装llvm(这里可能需要修改一下源,要不然下载不下来,不过我没修改成功源就下下来了。)
添加LLVM相关的apt-get源
第一步,首先编辑 /etc/apt/sources.list,加入以下源:

deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-6.0 main
deb-src http://apt.llvm.org/xenial/ llvm-toolchain-xenial-6.0 main  

添加源后务必运行apt-get update,如果有错误提示,先运行第二步,然后apt-get update)

第二步,安装前必须取得相关证书

wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key|sudo apt-key add -

然后

set(USE_LLVM ON)

让电脑自动搜索系统里面的llvm包。
终于cmake通过了。。。
然后make -j4又出问题了,这真是一个让我心累的问题,根本搜不到答案好吧,最后在goole上面找到了一点灵感,似乎是我下载的包里面缺少文件??
TVM安装踩坑笔记_第4张图片
看上图是不是在3rdparty这个文件夹下面有几个文件夹上面是有箭头的?
dpack,rang等。你可以点进去看看,github上面的这些文件夹里面是有东西的,但是你自己的这些文件夹里面是空的!!!奇了怪了。。。。,所以你把这些文件夹下载下来然后覆盖你的这些文件夹就好了。

这下子make -j4就编译通过了。

安装语言相关包
包含两个步骤

TVM package
Python dependencies

  1. TVM package
    官方文档一共给出了两种安装的方法,分别对应着

改动 TVM 源代码的 TVM 开发者
TVM 用户
本文使用第一种方法,如想了解第二种,参见 TVM package。

Python 会参照 PYTHONPATH 环境变量寻找库文件,修改 ~/.bashrc 下的这个环境变量,其中 /path/to/tvm 是上文 tvm 文件夹的绝对路径。

export TVM_HOME=/path/to/tvm
export PYTHONPATH=$TVM_HOME/python:$TVM_HOME/topi/python:$TVM_HOME/nnvm/python:${PYTHONPATH}
  1. Python dependencies
pip3 install --user numpy decorator attrs

这时候我就python进去import tvm试试呢,但是又报错了,提示我没有一个b开头的包,这个简单,直接pip install 就好了。

终于安装成功了!!!

你可能感兴趣的:(深度学习,神经网络,自动驾驶)