重新编译TensorFlow1.4源代码支持SSE-AVX-FMA指令集 (Python3.5版本)
TensorFlow运行出现以下信息说明工作站支持这些指令集但编译的时候并没有加入
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn’t compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations.
重新编译TensorFlow源代码支持SSE/AVX/FMA 指令集如下。
1.重新编译TensorFlow,从github上直接下载源码进行编译执行如下命令:
git clone https://github.com/tensorflow/tensorflow
2.编译源码需使用bazel,首先安装依赖库
sudo apt-get install python3-numpy python3-dev python3-pip python3-wheel libcupti-dev
添加bazel源
echo "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list
curl https://bazel.build/bazel-release.pub.gpg | sudo apt-key add -
更新源安装bazel
sudo apt-get update && sudo apt-get install bazel
3.下载完成后,进入tensorflow文件夹
cd tensorflow
./configure
如果是CPU版本的话全部默认即可,如果使用GPU版本,在CUDA选项时输入”y”即可。使用GPU版本需提前安装CUDA和cuDNN
4.完成后执行
CPU版本执行如下命令
bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package
GPU版本执行如下命令
bazel build --config=opt --config=cuda //tensorflow/tools/pip_package:build_pip_package
待编译完成后会出现如下信息
Target //tensorflow/tools/pip_package:build_pip_package up-to-date:bazel-bin/tensorflow/tools/pip_package/build_pip_package
INFO: Elapsed time: 2416.621s, Critical Path: 107.87s
INFO: Build completed successfully, 3273 total actions
然后编译pip安装包,CPU版本如下:
bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package
GPU版本如下:
bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
5.进入/tmp/tensorflow_pkg/文件夹,查看编译出来的版本信息并安装,如下(python3.x)
$ cd /tmp/tensorflow_pkg/
$ ls
#以下两个命令选择其中一个即可
$ sudo pip3 install tensorflow-1.5.0rc1-cp35-cp35m-linux_x86_64.whl #python3.x
$ sudo pip install tensorflow-1.5.0rc1-cp35-cp35m-linux_x86_64.whl #python2.x
安装完成即可
6.安装完成后运行如下代码检查是否安装成功
>>> import tensorflow as tf
>>> hello=tf.constant('Hello, TensorFlow')
>>> sess=tf.Session()
>>> print(sess.run(hello))
运行结果如下:
b'Hello, TensorFlow'
重新编译TensorFlow1.4源代码支持SSE-AVX-FMA指令集 (Python3.5版本)相关推荐
- TensorFlow CPU环境 SSE/AVX/FMA 指令集编译
TensorFlow CPU环境 SSE/AVX/FMA 指令集编译 sess.run()出现如下Warning W tensorflow/core/platform/cpu_feature_guar ...
- TensorFlow SSE/AVX/FMA 指令集编译
当TensorFlow出现 I tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions th ...
- 如何在编译时判断是否支持SSE/SSE2/AVX/AVX2/AVX-512
链接:https://stackoverflow.com/questions/28939652/how-to-detect-sse-sse2-avx-avx2-avx-512-avx-128-fma- ...
- 单指令多数据SIMD的SSE/AVX指令集和API
https://software.intel.com/sites/landingpage/IntrinsicsGuide/# Technologies MMX SSE SSE2 SSE3 SSSE3 ...
- 一文读懂SIMD指令集 目前最全SSE/AVX介绍
SIMD指令集 SSE/AVX 概述 参考手册 Intel® Intrinsics Guide Tommesani.com Docs Intel® 64 and IA-32 Architectures ...
- [VC] 检测AVX系列指令集的支持级别(AVX、AVX2、F16C、FMA、FMA4、XOP)
从2011年的Sandy Bridge微架构处理器开始,现在支持AVX系列指令集的处理器越来越多了.本文探讨如何用VC编写检测AVX系列指令集的程序,并利用了先前的CPUIDFIELD方案. 一.AV ...
- opencv cpu指令集SSE/AVX
SSE与AVX指令集 SSE指令集是英特尔提供的基于SIMD(单指令多数据,也就是说同一时间内,对多个不同的数据执行同一条命令)的硬件加速指令,通过使用寄存器来进行并行加速.经过几代的迭代,最新的SS ...
- Windows下编译TensorFlow1.3 C++ library及创建一个简单的TensorFlow C++程序
参考:https://www.cnblogs.com/jliangqiu2016/p/7642471.html Windows下编译TensorFlow1.3 C++ library及创建一个简单的T ...
- java反编译工具_Java开发必会的反编译知识(附支持对Lambda进行反编译的工具)...
我之前推送过Java代码的编译与反编译,其中简单的介绍了Java编译与反编译相关的知识,最近给GitChat写<深入分析Java语法糖>的时候,又用到了很多反编译相关的知识,遂发现哪篇文章 ...
最新文章
- MAC OS下使用OpenSSL生成私钥和公钥的方法
- Yii框架中使用SRBAC作为权限管理模块时遇到的问题
- cocos2d-lua-win
- 面试官:Thread.sleep(0) 有什么用?
- 确定Java等价性的新时代?
- 力扣长度最小的子数组
- UVAL - 6755 - Swyper Keyboard
- 什么是网络计算机有什么优点,ISDN是什么?它有什么优点?
- moreclipboard能记录多个粘贴内容的eclipse粘贴板插件
- 电商ERP软件、订单管理系统、库存管理系统
- debian9 使用cups远程管理打印服务
- 计算机显卡怎么拨下来,电脑主机显卡怎么拆|电脑显卡的拆卸方法
- 【5G】5G中的CU和DU是什么?
- 网络直播对现代社会的影响
- Python学习笔记——变量(图灵学院)
- 【浙大版《Python 程序设计》题目集(解)】第3章-14 字符串字母大小写转换(15分)
- 小米四启用虚拟按键以及禁用实体按键
- 联发科(MTK)MT6765 核心板 安卓主板
- ssm 远程监控linux,Wisenet SSM视频监控综合管理平台
- 【表格样式】——HTML制作表格大全