tensorflow intel platform 优化
TensorFlow *是深度学习领域中主要使用的机器学习框架,要求高效利用计算资源。 为了充分利用英特尔架构和提高性能,TensorFlow *库已经使用英特尔MKL-DNN原语进行了优化,该原语是深度学习应用的流行性能库。
有三种安装方式。
1. 使用pip
pip install -i https://pypi.anaconda.org/intel/simple tensorflow
2. anaconda 安装
3. 自己编译
前两种方式可能不支持最新的指令集。
安装 Bazel
pushd /var/tmp URL=https://github.com/bazelbuild/bazel/releases/latest
LASTURL=$(curl $URL -s -L -I -o /dev/null -w '%{url_effective}')
BZ_VERSION=${LASTURL##*/}
wget https://github.com/bazelbuild/bazel/releases/download/$BZ_VERSION/bazel-$BZ_VERSION-installer-linux-x86_64.sh chmod +x bazel-*
./bazel-*
export PATH=/usr/local/bin:$PATH popd
centos 7.4 can not install `dnf`from epel
WARNING: EPEL 7 DNF is very old and has issues to include security flaws. This appears to be the reason it was removed. That said here is the work around to get it working on Centos 7.
cat > /etc/yum.repos.d/dnf-stack-el7.repo << EOF
[dnf-stack-el7]
name=Copr repo for dnf-stack-el7 owned by @rpm-software-management
baseurl=https://copr-be.cloud.fedoraproject.org/results/@rpm-software-management/dnf-stack-el7/epel-7-\$basearch/
skip_if_unavailable=True
gpgcheck=
gpgkey=https://copr-be.cloud.fedoraproject.org/results/@rpm-software-management/dnf-stack-el7/pubkey.gpg
enabled=
enabled_metadata=
EOF yum install dnf
centos 7会出现这个bug:
dnf copr plugin not present in dnf-plugins-core
因为EPEL 7 DNF 已经被移除了centos 7 install dn,还需要:
wget http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64/dnf-plugins-core-0.1.5-3.sdl7.noarch.rpm
dnf install copr-cli
sudo dnf update
dnf copr enable vbatts/bazel
centos 可以直接安装bazel下:
wget https://copr.fedorainfracloud.org/coprs/vbatts/bazel/repo/epel-7/vbatts-bazel-epel-7.repo -P /etc/yum.repos.d/
yum install dnf-plugins-core-0.1.-.sdl7.noarch.rpm
yum install bazel
git clone https://github.com/tensorflow/tensorflow tensorflow
cd tensorflow
Compiling TensorFlow with Intel C Compiler
CC=icc bazel build --verbose_failures --config=mkl --copt=-msse4.2 --copt="-DEIGEN_USE_VML" -c opt //tensorflow/tools/pip_package:build_pip_package
bazel build --config=mkl -c opt --copt=-mavx --copt=-mavx2 --copt=-mfma --copt=-mavx512f --copt=-mavx512dq --copt=-mavx512cd --copt=-mavx512bw --copt=-mavx512vl --copt="-DEIGEN_USE_VML" //tensorflow/tools/pip_package:build_pip_package
Build and Install TensorFlow* on Intel® Architecture
build tensorflow container:
more @ github
ref build-dev-container.sh @github tensorflow docker
# source tf-docker.evn
# cat tf-docker.evn
# The script set the following environment variables for tf docker:
export TF_DOCKER_BUILD_TYPE=mkl
# export TF_DOCKER_BUILD_TYPE=CPU
# CPU or GPU image export TF_DOCKER_BUILD_IS_DEVEL=YES
# Is this developer image export TF_DOCKER_BUILD_DEVEL_BRANCH=r1.
# export TF_DOCKER_BUILD_DEVEL_BRANCH=master
# (Required if TF_DOCKER_BUILD_IS_DEVEL is YES)
# Specifies the branch to checkout for devel docker images # export TF_DOCKER_BUILD_CENTRAL_PIP
# (Optional)
# If set to a non-empty string, will use it as the URL from which the
# pip wheel file will be downloaded (instead of building the pip locally). # export TF_DOCKER_BUILD_CENTRAL_PIP_IS_LOCAL
# (Optional)
# If set to a non-empty string, we will treat TF_DOCKER_BUILD_CENTRAL_PIP
# as a path rather than a url. export TF_DOCKER_BUILD_IMAGE_NAME=native-mkl-tf
# (Optional)
# If set to any non-empty value, will use it as the image of the
# newly-built image. If not set, the tag prefix tensorflow/tensorflow
# will be used. # export TF_DOCKER_BUILD_VERSION:
# (Optinal)
# If set to any non-empty value, will use the version (e.g., 0.8.) as the
# tag prefix of the image. Additional strings, e.g., "-devel-gpu", will be
# appended to the tag. If not set, the default tag prefix "latest" will be
# used. # export TF_DOCKER_BUILD_PORT
# (Optional)
# If set to any non-empty and valid port number, will use that port number
# during basic checks on the newly-built docker image. # export TF_DOCKER_BUILD_PUSH_CMD
# (Optional)
# If set to a valid binary/script path, will call the script with the final
# tagged image name with an argument, to push the image to a central repo
# such as gcr.io or Docker Hub. # export TF_DOCKER_BUILD_PUSH_WITH_CREDENTIALS
# (Optional)
# Do not set this along with TF_DOCKER_BUILD_PUSH_CMD. We will push with the
# direct commands as opposed to a script. # export TF_DOCKER_USERNAME
# (Optional)
# Dockerhub username for pushing a package. # export TF_DOCKER_EMAIL
# (Optional)
# Dockerhub email for pushing a package. # export TF_DOCKER_PASSWORD
# (Optional)
# Dockerhub password for pushing a package. # export TF_DOCKER_BUILD_PYTHON_VERSION
# (Optional)
# Specifies the desired Python version. Defaults to PYTHON2. # export TF_DOCKER_BUILD_OPTIONS
# (Optional)
# Specifies the desired build options. Defaults to OPT.
参考:
install 中文版
pip install mock
conda install for TensorFlow and Intel Distribution for Python upgrade from 2017 to 2018
Intel® Computer Vision(CV) SDK
Intel's Deep Learning Inference Engine Developer Guide
inference-engine-devguide-introduction
Configuring Model Optimizer for TensorFlow* Prerequisites
Converting Your TensorFlow* Model
Configuring Model Optimizer for TensorFlow* Prerequisites
应用相关的论文
Pedestrian Detection Using TensorFlow* on Intel® Architecture
构建安装TensorFlow* Serving on Intel® Architecture
Train and Use a TensorFlow* Model on Intel® Architecture
Using the Model Optimizer to Convert TensorFlow* Models
tensorflow intel platform 优化的更多相关文章
- TensorFlow实现与优化深度神经网络
TensorFlow实现与优化深度神经网络 转载请注明作者:梦里风林Github工程地址:https://github.com/ahangchen/GDLnotes欢迎star,有问题可以到Issue ...
- 好用的函数,assert,random.sample,seaborn tsplot, tensorflow.python.platform flags 等,持续更新
python 中好用的函数,random.sample等,持续更新 random.sample random.sample的函数原型为:random.sample(sequence, k),从指定序列 ...
- 编译TensorFlow CPU指令集优化版
编译TensorFlow CPU指令集优化版 如题,CPU指令集优化版,说的是针对某种特定的CPU型号进行过优化的版本.通常官方给的版本是没有针对特定CPU进行过优化的,有网友称,优化过的版本相比优化 ...
- TensorFlow 学习(十五)—— tensorflow.python.platform
tensorflow.python.platform 下的常用工具类和工具函数:tensorflow/tensorflow/python/platform at master · tensorflow ...
- 2019-09-16 16:42:03.621946: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA Traceback (most recent cal
-- ::] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA ...
- W tensorflow/core/platform/cpu_feature_guard.cc:45]
W tensorflow/core/platform/cpu_feature_guard.cc:] The TensorFlow library wasn't compiled to use SSE3 ...
- TensorFlow 深度学习笔记 TensorFlow实现与优化深度神经网络
转载请注明作者:梦里风林 Github工程地址:https://github.com/ahangchen/GDLnotes 欢迎star,有问题可以到Issue区讨论 官方教程地址 视频/字幕下载 全 ...
- Tensorflow 中的优化器解析
Tensorflow:1.6.0 优化器(reference:https://blog.csdn.net/weixin_40170902/article/details/80092628) I: t ...
- 『TensorFlow』梯度优化相关
tf.trainable_variables可以得到整个模型中所有trainable=True的Variable,也是自由处理梯度的基础 基础梯度操作方法: tf.gradients 用来计算导数.该 ...
随机推荐
- 深入理解Java虚拟机2-chap3-斗之气9段
一.GC需要完成三件事 哪些内存需要回收:找出不需要使用的对象 什么时候回收:JVM空闲/堆内存紧张 如何回收:回收垃圾的策略 二.寻找已死对象:第一件事 判断对象是否存活算法 1.引用计数算法 原理 ...
- selenium键盘操作
键盘操作需引用: from selenium.webdriver.common.keys import Keys 操作码表: NULL = '\ue000' CANCEL = '\ue001' # ^ ...
- django模型(增删改查等)
Django提供的模型操作起来数据库非常方便 以自定义模型名字Demo为例: 获取所有数据:all() demo.objects.all() #返回queryset对象 #这个语句和Select * ...
- 部署一个不依赖tomcat容器的应用
一个task项目,应用里边都是一些定时任务.我和新入职的高开商定程序部署不依赖于tomcat. 计划赶不上变化,任务开发完成还没等上线呢,哥们要离职了.工作交接时大概说了一下上线怎么部署. 结果呢,当 ...
- MACD 下0轴后,强力=7上0轴的实例:
MACD 下0轴后,强力=7上0轴的实例: 虽然再上0轴,但是由于是强力上,必须有缓解期.缓解期后MACD开始收口,虽然没有下0轴,但是开始趋向死叉. 由于并没有很强的做多市场环境,MACD只是略高于 ...
- [转]kafka介绍
转自 https://www.cnblogs.com/hei12138/p/7805475.html kafka介绍 1.1. 主要功能 根据官网的介绍,ApacheKafka®是一个分布式流媒体平台 ...
- Ubuntu系统添加搜狗输入法
前端开发时有时候要接触到Ubuntu系统,但由于本身没有拼音输入,故需要自己安装搜狗,记录方法如下: 1.安装前先升级资源库并安装输入法依赖包: $sudo apt-get update $sudo ...
- 记dynamic的一个小坑 -- RuntimeBinderException:“object”未包含“xxx”的定义
from:http://blog.csdn.net/feiyun0112/article/details/39697955 创建一个控制台程序和一个类库, 在控制台创建一个匿名对象,然后再在类库中访问 ...
- PB中datewindow单双行显示不同颜色
调出datewindow,找到detail中的列,右击properties,左侧Background中的color属性添加 IF(MOD(GETROW(),2)=0,RGB( 255, 250, 20 ...
- sqlserver 用一个表的值 更新另一个表
update cas set cas.DocumentHeaderIdOfTransferredForForm = apply.Id from dbo.CaseTransfer cas join db ...