tensorflow提示未编译使用SSE4.1,SSE4.2等问题的解决方法

先概述下问题:之前是在终端中使用 pip install tensorflow==1.1.0 命令来完成安装的,在eclipse中能够运行,但是却会提示报错,在控制台输出一串未使用SSE4.1,SSE4,2等字样的信息,本人有强迫症无法容忍项目中各种报错提示的存在,然后花了半天功夫解决了这个问题,步骤如下:

   这个问题的出现主要是和tensorflow的安装方式有关系,使用pip安装就会出现对代码编译优化的问题,使得你电脑有SSE4.1等命令,却无法调用来加速训练,所以最好是安装时候多费点事,能够解决这个报错提示的问题,同时也能在以后的项目中发挥本机CPU的性能进行加速训练

第一步:卸载已经安装的tensorflow   命令: sudo pip uninstall tensorflow  (一定要先卸载,不然之后所有工作都是白费)

第二步:创建文件夹并下载源码          命令: git clone --recurse-submodules https://github.com/tensorflow/tensorflow

第三步: 安装bazel工具(提示最后两条命令,别忘记输入sudo,否则会出错)  命令如下:

         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 -

         sudo apt-get update && sudo apt-get install bazel

         sudo apt-get upgrade bazel

第四步:安装tensorflow所需的各种包  命令:sudo apt-get install python-numpy python-dev python-pip python-wheel

第五步:配置tensorflow   命令如下:

        cd tensorflow/    (进入第二步中创建的tensorflow文件夹)

       ./configure  

此时会弹出一些配置需要你填写,首先弹出的是选择python的路径和版本,在提示信息中会给出defult信息,我们就完全填写defult中的信息就行(避免出错和麻烦)

完成之后会让你输入Y/N选择tensorflow是否支持google cloud,Hadoop等,建议Hadoop选Y其他选择N即可(如果都选Y又需要额外下载很多东西)

第六步:生成pip安装包   命令:bazel build -c opt --copt=-msse3 --copt=-msse4.1 --copt=-msse4.2 --copt=-mavx --copt=-mavx2 --copt=-mfma //tensorflow/tools/pip_package:build_pip_package  (时间较长,请耐心等待) (其中msse3,msse4.1 mavx等表示cpu支持的指令集,不同机器会有差异,如果你电脑的CPU不支持AVX指令,但在此处却输出了--copt=-mavx 最后还是会报错提示:你的机器不支持此指令,所以在写这条命令时候,建议大家下载CPU-Z看看本机CPU支持的指令,然后对应写此指令)

第七步: 安装  命令如下:

      bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg

      sudo pip install /tmp/tensorflow_pkg/tensorflow-1.1.0rc1-cp27-cp27mu-linux_x86_64.whl  (最后是生成的软件包名,会有不同,根据自己生成的包名填写)

补充:如何查看生成的包名    在/目录下进入tmp再进入tensorflow_pkg文件   里面只有一个.whl的文件,即可查看包名,用于替换上述第二条命令中的最后一部分即可

完成上述命令后 等待一会下载即可完成

猜你喜欢

转载自blog.csdn.net/yongzhen150/article/details/80032021
SSE
今日推荐