windows版TensorFlow最优安装,使用AVX2指令集

windows版TensorFlow最优安装,使用AVX2指令集通常我们运行TensorFlow会报告如下信息,意思是你的CPU支持AVX2指令集,但TensorFlow的二进制版本没有使用2019-02-1415:44:41.989265:IT:\src\github\tensorflow\tensorflow\core\platform\cpu_feature_guard.cc:141]YourCPUsupportsinstruction…

大家好,又见面了,我是你们的朋友全栈君。

通常我们运行TensorFlow会报告如下信息,意思是你的CPU支持AVX2指令集,但TensorFlow的二进制版本没有使用

2019-02-14 15:44:41.989265: I T:\src\github\tensorflow\tensorflow\core\platform\cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2

对于有强迫症的我来说难以容忍,由于GPU GTX1050(2G)内存不够,不能用于训练,全靠CPU来训练,CPU训练是相当花时间的,于是琢磨使用AVX2指令集

要使用AVX2指令集,正规的做法是自己编译TensorFlow,刚开始我也是这么干的,各种软件下载,环境配置,各种问题解决,然后编译,这个非常耗时,在我的笔记本上大概要3-4小时,忙活完了一天都快过去了,安装后发现我的编译参数设置不对,还要重新编译,崩溃

幸好发现一个好东西,省去了这些麻烦,这个网站编译好了各种版本的TensorFlow,下载就可以使用

https://github.com/fo40225/tensorflow-windows-wheel

我使用的python 3.6,需要下载下面的版本,注意要使用avx2版本

tensorflow_gpu-1.12.0-cp36-cp36m-win_amd64.whl (cuda100cudnn73avx)

tensorflow-1.12.0-cp36-cp36m-win_amd64.whl (avx2)

cuda需要使用10.0.X

cudnn需要使用7.3.X

(X尽量选大的版本,具体安装过程就不详细说了)

可以说这种安装办法是目前最好,最省时间的办法,充分利用cpu的指令集,避免的cuda和cudnn版本的烦恼。

用pip网络安装TensorFlow,一是没有cpu优化,二是cuda和cudnn版本不清楚,会出现大量问题花大量时间

  • 问题

1.msgpack版本问题

安装Keras的过程中,遇到下面错误,找不到1.21.8版的msgpack

distributed 1.21.8 requires msgpack, which is not installed.

解决办法是安装最新版

pip install msgpack

2.h5py的版本问题

执行keras-yolo的时候出现下面的警告

C:\Users\xxx\AppData\Local\Continuum\anaconda3\lib\site-packages\h5py\__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.
  from ._conv import register_converters as _register_converters

解决办法是安装最新版

pip install –upgrade h5py

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/142874.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Android开发-API指南- Calendar Provider

    Android开发-API指南- Calendar ProviderAndroid官方文档原创译文《CalendarProvider》。CalendarProvider是用来存放用户日历事件(event)的数据库。通过CalendarProvider的

    2022年7月1日
    26
  • u盘文件夹exe病毒彻底_u盘中病毒文件变成快捷方式怎么办

    u盘文件夹exe病毒彻底_u盘中病毒文件变成快捷方式怎么办笔者在使用U盘时,无意之间发现U盘所有文件的后缀名均变为“.exe”,经过查询相关资料,确认这是一种病毒(文件夹EXE病毒)一、简介:木马名称:Worm.Win32.AutoRun.soq,当把U盘插入到一台电脑后,U盘内生成了以原文件夹名字命名的文件,且扩展名为exe,其原理是把原来的文件隐藏,重新生成同名的exe文件。二、解决方案:百度下载USBCleaner,根据软件提示进行操作即可完…

    2025年7月29日
    3
  • vue父子组件传值 简单了解vuex

    vue父子组件传值 简单了解vuex一、vue的父子组件之间是如何传值的?首先呢,需要说说的是,vue既然有双向绑定,那为何会有父子组件之间的传值问题?这个问题也简单,vue的组件会供其他的vue页面进行调用,如果数组都是双向绑定的话,那么就容易混乱了,比如a,b页面绑了一个num=10,那b,c页面又绑了num=5,那vue实例的num到底听谁的?所以,这就是vue官网为什么说组件之间的数据只能是单项流通的,而且由父组件传递给…

    2022年5月16日
    94
  • idea激活码2021.4_通用破解码

    idea激活码2021.4_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月15日
    50
  • FPGA设计中遇到的奇葩问题之“芯片也要看出身”(三)

    FPGA设计中遇到的奇葩问题之“芯片也要看出身”(三)

    2022年4月2日
    61
  • WebViewJavascriptBridge

    WebViewJavascriptBridgeWeb页面中的JS与iOSNative如何交互?JS和iOSNative就好比两块没有交集的大陆,如果想要使它们相互通信就必须要建立一座“桥梁”。WebViewJavascriptBridge是盛名已久的JSBridge库,它仅使用了少量代码就实现了对于MacOSX的WebView以及iOS平台的UIWebView和WKWebView三种组件的完美支持。WebViewJavascriptBridge主要是作为MacOSX和iOS端(Na.

    2025年8月25日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号