MacOs安装TVM记录

MacOs 11.6 

只有CLion和Pycharm,接近于从头开始,参考链接:

Install from Source — tvm 0.9.dev182+ge718f5a8a documentationhttps://tvm.apache.org/docs/install/from_source.html

第一步:去下载TVM源码https://tvm.apache.org/download

第二步:安装cmake LLVM python3.8
需要先安装homebrew,参考下面连接的方法:

 https://www.cnblogs.com/liyihua/p/12753163.html

终端执行:
2.1 brew install gcc git cmake

2.2 brew install llvm

一般来说,llvm会被安装在/usr/local/opt/llvm的路径下。
打开~/.bash_profile文件,添加环境变量:
export PATH="/usr/local/opt/llvm/bin:$PATH"
使用source ~/.bash_profile使.bash_profile文件文件生效

输入llvm-dis --version测试


2.3 安装python3.8
2.3.1.官网下载3.8 使用默认安装:https://www.python.org/downloads/
2.3.2.安装完成之后,在命令行执行 python3 就可以看到 phthon 3.8版本在运行了。

2.3.3.但是这样的话,默认的 python 还是 2.7 版本的,还需要覆盖一下,依次执行:

  2.3.3.1open /usr/local/Frameworks

      - 检测有没有这个文件夹 没有的话执行

       sudo mkdir /usr/local/Frameworks
  2.3.3.2 设置权限: sudo chown $(whoami):admin /usr/local/Frameworks 
  2.3.3.3  修改默认指向 :alias python="/usr/local/bin/python3.8"
  2.3.3.4  source ~/.bash_profile
全部执行完成之后,再运行 python,可以看到版本已经切换成 3.8 了

 第三步:配置TVM编译选项

* 注意事项:另外因为下载的TVM源码在3rdparty里少文件,需要去GitHub另外下载并放入相应文件夹,主要是下图蓝色的六个文件,下载后解压扔到相应目录就行

 MacOs安装TVM记录_第1张图片

cd build 然后用vim进入config.cmake,根据需求配置

我只开了一个:set(USE_LLVM ON)

编译
cd build
cmake ..
make -j4

第四步:编译没有报错的话就可以设置python路径了


open ~/.bash_profile
把tvm 库的路径,加入python:

export TVM_HOME=/path/to/tvm
export PYTHONPATH=$TVM_HOME/python:$TVM_HOME/topi/python:$TVM_HOME/nnvm/python:${PYTHONPATH}

保存设置
source ~/.bash_profile

第五步:安装额外依赖模块

安装 anaconda tensorflow(可选)
pip install --user tensorflow

安装 python 依赖模块(必须)
pip3 install --user numpy decorator attrs tornado tornado psutil xgboost

安装 opencv for python
pip install --user numpy wheel opencv-python

测试 tvm python 是否正常
python -c "import tvm; from tvm import relay" python -c "import tensorflow; import cv2; import numpy"

或者有一个更方便的办法,直接在终端执行

export MACOSX_DEPLOYMENT_TARGET=11.6 (改成自己MacOS的版本号)
cd python; python setup.py install --user; cd ..

亲测效果一样

*****测试用例时出现的小问题记录

1. 跑官方示例代码,下载报错:

urllib.error.URLError:

解决方法

# 全局取消证书验证

import ssl
ssl._create_default_https_context = ssl._create_unverified_context


你可能感兴趣的:(TVM,macos)