跳坑有心得,Happy research! Win10 + GTX 2080Ti + tensorflow-gpu-1.14.0 安装; timestamp=2019-10-3
如果从GTX1080Ti平台正要升级到GTX2080Ti,看过来,你会少走很多弯路。
背景
从2018年末到现在,大半年时间里,我曾在win10平台上成功配置成功过Caffe, Pytorch, Tensorflow等深度学习平台 (Plus mac 上的Theano)。虽然过程十分繁琐和辛酸,但最终的结果也都算是成功了,自认为还是不怵配置环境的。好哎ver,这次配置又花了三天以上的时间。时间就是金钱,感觉浪费的不是时间,是满满的钱。(os: 谁说时间无价的?)
原来自己电脑的平台是Win10 + GTX1080Ti,但因为换了机器的缘故,而且GTX1080Ti已经停产,只好入手2080Ti。(os: 只好,两个字的意思,表达了我还是愿意使用熟悉的平台。)买不到老卡,新卡让我在conda的配置上投入了三天的时间。
结合我自己的经历,我希望能把自己遇到的问题,特别是那些莫名其妙的坑指出来,让自己在以后的配置中少走些弯路。
强制置顶naive problems
最大的坑,没有之一:
我开始配置系统的时间是2019-9-29日,本着用老平台的精神,想用cuda9 + cudnn7 + GTX 2080Ti。这个时候查帖子,发现别人有成功经验,好哎ver,就遇到了这个大Bug。(os: 成功不容易复制。)
InternalError (see above for traceback): cudnn PoolForward launch failed
在github,stack overflow,甚至是reddit上,查了很多帖子:1.有说tensorflow版本不对的;2.有说GPU显存不够的;3.还有说cudnn不匹配cuda的。按照这些答案的排列组合我试了所有的解决方案,然而结果让我非常烦躁。一个bug接一个bug。
重要的事情说三遍:使用Conda配制平台时,要非常注意安装包的顺序和包的版本。
重要的事情说三遍:使用Conda配制平台时,要非常注意安装包的顺序和包的版本。
重要的事情说三遍:使用Conda配制平台时,要非常注意安装包的顺序和包的版本。
成功的配置
因为已经有很多帖子在说正常创建conda环境的过程,在这里我就不在冗余叙述。
- 包的安装顺序及版本(create python 3.6的tensorflow环境之后,以下包的安装默认都采用conda install完成):
首先指定安装 numpy==1.16,然后再是scipy(自动匹配numpy 版本),下来是scikit-learn(也就是sklearn)。这三个包安装完成之后,再安装其它的一些包如matplotlib等等。
这样的安装顺序和版本让我免于碰到那些莫名其妙,让我心痛,永远都不想再碰到的坑,如
- ImportError: numpy.core.multiarray failed to import
- ImportError: No module named sklearn.metrics
- ImportError: cannot import name ‘is_string_like’
- 安装tensorflow-gpu=1.14.0
在最开始其实我安装的1.13.1版本的tensorflow,可是就是找不到gpu。如果我使用python命令from tensorflow.python.client import device_lib print(device_lib.list_local_devices())
只能得到输出
[name: "/cpu:0" device_type: "CPU" memory_limit: 268435456 locality {} incarnation: 330382605334743 ]
而且使用nvidia-smi命令明显能查看到GPU。
C:\Users\since (tf) λ nvidia-smi Thu Oct 03 13:10:23 2019 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 436.48 Driver Version: 436.48 CUDA Version: 10.1 | |-------------------------------+----------------------+----------------------+ | GPU Name TCC/WDDM | Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 GeForce RTX 208... WDDM | 00000000:02:00.0 On | N/A | | 26% 55C P2 97W / 250W | 10129MiB / 11264MiB | 34% Default | +-------------------------------+----------------------+----------------------++-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| | 0 644 C+G C:\Windows\System32\MicrosoftEdgeCP.exe N/A | | 0 1260 C+G Insufficient Permissions N/A | | 0 1336 C+G ...hell.Experiences.TextInput.InputApp.exe N/A | | 0 1416 C D:\Anaconda3\envs\tf\python.exe N/A | | 0 3084 C+G C:\Windows\System32\MicrosoftEdgeCP.exe N/A | | 0 4472 C+G C:\Windows\explorer.exe N/A | | 0 6368 C+G ...mmersiveControlPanel\SystemSettings.exe N/A | | 0 7540 C+G ....313.0_x64__wkybd8bw\YourPhone.exe N/A | | 0 8128 C+G C:\Windows\System32\MicrosoftEdgeCP.exe N/A | | 0 9284 C+G ...osoft.LockApp_cwn1h2txyew\LockApp.exe N/A | | 0 10044 C+G ...3.0_x64__weky3dbbw\WinStore.App.exe N/A | | 0 10060 C+G ...6)\Google\Chrome\Application\chrome.exe N/A | | 0 10536 C+G ...DIA GeForce Experience\NVIDIA Share.exe N/A | | 0 11012 C+G ...x64__wekybd8bw\Microsoft.Photos.exe N/A | | 0 11100 C+G ...2.138.0_x64__kzf8f38zg5\SkypeApp.exe N/A | | 0 12552 C+G ...t_cwn1h2txyewy\ShellExperienceHost.exe N/A | | 0 13492 C+G ...oftEdge_wkyb38bbw\MicrosoftEdge.exe N/A | | 0 16336 C+G C:\Windows\System32\MicrosoftEdgeCP.exe N/A | | 0 20384 C+G ...dows.Cortana_cw5n1h2txyewy\SearchUI.exe N/A | +-----------------------------------------------------------------------------+
这样,只能在cpu上运行代码,巨慢。
试着升级安装1.14版本之后,平台就不再报错,而且conda会自动适配cudatookit和cudnn。能够成功运行的包列表如下(打星号的是手动安装的包,而其它包是由conda自动适配安装的)。
C:\Users\since
(tf) λ conda listWARNING: The conda.compat module is deprecated and will be removed in a future release.# packages in environment at D:\Anaconda3\envs\tf:## Name Version Build Channel_tflow_select 2.1.0 gpu http://mirrors.ustc.edu.cn/anaconda/pkgs/mainabsl-py 0.8.0 py36_0 http://mirrors.ustc.edu.cn/anaconda/cloud/conda-forgeastor 0.7.1 py_0 http://mirrors.ustc.edu.cn/anaconda/cloud/conda-forgeblas 1.0 mkl http://mirrors.ustc.edu.cn/anaconda/pkgs/freeboto 2.48.0 py36_0 http://mirrors.ustc.edu.cn/anaconda/pkgs/freebz2file 0.98 py36_0 http://mirrors.ustc.edu.cn/anaconda/pkgs/freecertifi 2016.2.28 py36_0 http://mirrors.ustc.edu.cn/anaconda/pkgs/freecudatoolkit 10.0.130 0 http://mirrors.ustc.edu.cn/anaconda/pkgs/maincudnn 7.6.0 cuda10.0_0 http://mirrors.ustc.edu.cn/anaconda/pkgs/maincycler 0.10.0 py36_0 http://mirrors.ustc.edu.cn/anaconda/pkgs/freefreetype 2.10.0 h563cfd7_1 http://mirrors.ustc.edu.cn/anaconda/cloud/conda-forgegast 0.3.2 py_0 http://mirrors.ustc.edu.cn/anaconda/cloud/conda-forgegensim 3.7.3 py36h6538335_0 http://mirrors.ustc.edu.cn/anaconda/cloud/conda-forgegrpcio 1.12.1 py36h1a1b453_0 http://mirrors.ustc.edu.cn/anaconda/pkgs/mainh5py 2.10.0 nompi_py36h422b98e_100 http://mirrors.ustc.edu.cn/anaconda/cloud/conda-forgehdf5 1.10.5 nompi_hcc15c50_1101 http://mirrors.ustc.edu.cn/anaconda/cloud/conda-forgeicc_rt 2019.0.0 h0cc432a_1 http://mirrors.ustc.edu.cn/anaconda/pkgs/mainicu 58.2 ha66f8fd_1 http://mirrors.ustc.edu.cn/anaconda/pkgs/mainintel-openmp 2019.4 245 http://mirrors.ustc.edu.cn/anaconda/pkgs/mainjoblib 0.11 py36_0 http://mirrors.ustc.edu.cn/anaconda/pkgs/freejpeg 9c hfa6e2cd_1001 http://mirrors.ustc.edu.cn/anaconda/cloud/conda-forgekeras-applications 1.0.8 py_1 http://mirrors.ustc.edu.cn/anaconda/cloud/conda-forgekeras-preprocessing 1.1.0 py_0 http://mirrors.ustc.edu.cn/anaconda/cloud/conda-forgekiwisolver 1.1.0 py36he980bc4_0 http://mirrors.ustc.edu.cn/anaconda/cloud/conda-forgelibblas 3.8.0 12_mkl http://mirrors.ustc.edu.cn/anaconda/cloud/conda-forgelibcblas 3.8.0 12_mkl http://mirrors.ustc.edu.cn/anaconda/cloud/conda-forgeliblapack 3.8.0 12_mkl http://mirrors.ustc.edu.cn/anaconda/cloud/conda-forgelibpng 1.6.37 h7602738_0 http://mirrors.ustc.edu.cn/anaconda/cloud/conda-forgelibprotobuf 3.7.1 h1a1b453_0 http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forgemarkdown 2.6.9 py36_0 http://mirrors.ustc.edu.cn/anaconda/pkgs/freematplotlib* 3.1.1 py36_1 http://mirrors.ustc.edu.cn/anaconda/cloud/conda-forgematplotlib-base 3.1.1 py36h2852a4a_1 http://mirrors.ustc.edu.cn/anaconda/cloud/conda-forgemkl 2019.4 245 http://mirrors.ustc.edu.cn/anaconda/pkgs/mainmkl-service 2.3.0 py36hfa6e2cd_0 http://mirrors.ustc.edu.cn/anaconda/cloud/conda-forgemock 3.0.5 pypi_0 pypinumpy* 1.16.4 py36hc71023c_0 http://mirrors.ustc.edu.cn/anaconda/cloud/conda-forgeopenssl 1.0.1k 1 http://mirrors.ustc.edu.cn/anaconda/pkgs/freepandas 0.20.3 py36_0 http://mirrors.ustc.edu.cn/anaconda/pkgs/freepip 9.0.1 py36_1 http://mirrors.ustc.edu.cn/anaconda/pkgs/freeprotobuf 3.7.1 py36he025d50_0 http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forgepyparsing 2.2.0 py36_0 http://mirrors.ustc.edu.cn/anaconda/pkgs/freepyqt 5.6.0 py36_2 http://mirrors.ustc.edu.cn/anaconda/pkgs/freepyreadline 2.1 py36_0 http://mirrors.ustc.edu.cn/anaconda/pkgs/freepython 3.6.7 he025d50_1005 http://mirrors.ustc.edu.cn/anaconda/cloud/conda-forgepython-dateutil 2.6.1 py36_0 http://mirrors.ustc.edu.cn/anaconda/pkgs/freepytz 2017.2 py36_0 http://mirrors.ustc.edu.cn/anaconda/pkgs/freeqt 5.6.2 vc14h6f8c307_12 http://mirrors.ustc.edu.cn/anaconda/pkgs/mainrequests 2.14.2 py36_0 http://mirrors.ustc.edu.cn/anaconda/pkgs/freescikit-learn* 0.21.3 py36h7208079_0 http://mirrors.ustc.edu.cn/anaconda/cloud/conda-forgescipy* 1.3.1 py36h29ff71c_0 http://mirrors.ustc.edu.cn/anaconda/pkgs/mainsetuptools 36.4.0 py36_1 http://mirrors.ustc.edu.cn/anaconda/pkgs/freesip 4.18 py36_0 http://mirrors.ustc.edu.cn/anaconda/pkgs/freesix 1.10.0 py36_0 http://mirrors.ustc.edu.cn/anaconda/pkgs/freesmart_open 1.5.3 py36_0 http://mirrors.ustc.edu.cn/anaconda/pkgs/freesqlite 3.29.0 hfa6e2cd_1 http://mirrors.ustc.edu.cn/anaconda/cloud/conda-forgetensorboard 1.14.0 py36_0 http://mirrors.ustc.edu.cn/anaconda/cloud/conda-forgetensorflow 1.14.0 gpu_py36h305fd99_0 http://mirrors.ustc.edu.cn/anaconda/pkgs/maintensorflow-base 1.14.0 gpu_py36h55fc52a_0 http://mirrors.ustc.edu.cn/anaconda/pkgs/maintensorflow-estimator 1.14.0 py36h5ca1d4c_0 http://mirrors.ustc.edu.cn/anaconda/cloud/conda-forgetensorflow-gpu* 1.14.0 h0d30ee6_0 http://mirrors.ustc.edu.cn/anaconda/pkgs/maintermcolor 1.1.0 py36_0 http://mirrors.ustc.edu.cn/anaconda/pkgs/freetornado 4.5.2 py36_0 http://mirrors.ustc.edu.cn/anaconda/pkgs/freevc 14.1 h0510ff6_4 http://mirrors.ustc.edu.cn/anaconda/pkgs/mainvs2015_runtime 14.16.27012 hf0eaf9b_0 http://mirrors.ustc.edu.cn/anaconda/pkgs/mainwerkzeug 0.12.2 py36_0 http://mirrors.ustc.edu.cn/anaconda/pkgs/freewheel 0.29.0 py36_0 http://mirrors.ustc.edu.cn/anaconda/pkgs/freewincertstore 0.2 py36_0 http://mirrors.ustc.edu.cn/anaconda/pkgs/freewrapt 1.11.2 py36hfa6e2cd_0 http://mirrors.ustc.edu.cn/anaconda/cloud/conda-forgezlib 1.2.11 h2fa13f4_1006 http://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge
C:\Users\since
(tf) λ
To sum up,遇到的坑大多是版本不匹配问题,一不小心就要入坑 (T_T)
再使用python命令
print(device_lib.list_local_devices())
就能得到输出找到GPU的信息了。
>>> print(device_lib.list_local_devices())
2019-10-03 13:13:20.438498: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2
2019-10-03 13:13:20.476749: I tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully opened dynamic library nvcuda.dll
2019-10-03 13:13:20.788356: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1640] Found device 0 with properties:
name: GeForce RTX 2080 Ti major: 7 minor: 5 memoryClockRate(GHz): 1.545
pciBusID: 0000:02:00.0
2019-10-03 13:13:20.823862: I tensorflow/stream_executor/platform/default/dlopen_checker_stub.cc:25] GPU libraries are statically linked, skip dlopen check.
2019-10-03 13:13:20.853655: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1763] Adding visible gpu devices: 0
2019-10-03 13:13:21.733324: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1181] Device interconnect StreamExecutor with strength 1 edge matrix:
2019-10-03 13:13:21.762839: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1187] 0
2019-10-03 13:13:21.776190: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1200] 0: N
2019-10-03 13:13:21.793381: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1326] Created TensorFlow device (/device:GPU:0 with 8694 MB memory) -> physical GPU (device: 0, name: GeForce RTX 2080 Ti, pci bus id: 0000:02:00.0, compute capability: 7.5)
[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {}
incarnation: 14367383866975866771
, name: "/device:GPU:0"
device_type: "GPU"
memory_limit: 9116851241
locality {bus_id: 1links {}
}
incarnation: 3530899654879285784
physical_device_desc: "device: 0, name: GeForce RTX 2080 Ti, pci bus id: 0000:02:00.0, compute capability: 7.5"
]
>>>
运行成功的LOSS和F1 score, cheers(Ps:每一条下降的loss曲线代表了不同的一个subject训练数据)
Loss | F1 score |
---|---|
![]() |
![]() |
I do not hope I will talk about this any more and
HAPPY RESEARCH!!!
跳坑有心得,Happy research! Win10 + GTX 2080Ti + tensorflow-gpu-1.14.0 安装; timestamp=2019-10-3相关推荐
- GTX 2080TI TensorFlow GPU基准测试:2018年最佳GPU
有人经常问,深度学习的最佳GPU是什么?近日Lambda给出了答案,他们通过比较研究人员常用的前5个GPU来获得答案(测试结果也考虑到了成本和性能): RTX 2080 Ti RTX 2080 GTX ...
- Win10 x64 专业版 Tensorflow Keras 仅CPU Anaconda3安装配置(1)
电脑环境:Win10 x64 专业版 需要安装:Keras 仅CPU 后台:Tensorflow 我所安装的版本: Tensorflow 1.8.0 Anaconda3 5.1.0 Python 3. ...
- win10 + GTX1080配置TensorFlow GPU开发环境
https://blog.csdn.net/u013092293/article/details/83858973 https://blog.csdn.net/wanglei022/article/d ...
- Win10快速搭建Tensorflow(CPU/GPU)
Win10快速搭建Tensorflow 如果需要详细的安装介绍请看:安装详解 一.快速搭建过程: 第一步:下载Anaconda,并安装. Anaconda官网下载地址:https://www.anac ...
- 微信小程序原生开发技巧及跳坑心得
常用功能 1.事件带参 在微信小程序中,给事件的回调函数内部传递参数不是通过函数调用传递实参的方式传递的,而是通过在view上绑定属性,然后在回调函数的事件对象的currentTarget属性中的da ...
- 能量视角下的GAN模型:GAN=“挖坑”+“跳坑”
作者丨苏剑林 单位丨广州火焰信息科技有限公司 研究方向丨NLP,神经网络 个人主页丨kexue.fm 在这个系列中,我们尝试从能量的视角理解 GAN.我们会发现这个视角如此美妙和直观,甚至让人拍案叫绝 ...
- win10 linux uefi启动不了系统安装教程,【从踩坑到教程】win10下ubuntu18.04双系统UEFI模式安装、Nvidia驱动安装...
欢迎转载,转载请说明出处 前言 之前(旧笔记本电脑)装过Ubuntu,按照经验贴一次就成功了,所以我以为不就是装系统嘛,很简单马上就能完事. 结果--这次(新笔记本电脑)花了 4天时间才装好.配好环境 ...
- 让你心甘情愿跳坑!游戏就是这样赚钱的
今天这个文章不长,但是是游戏赚钱的一个深入话题,就是如何提高单位用户的付费额度,在行业内,有一个术语,叫做挖坑.说的难听点,就是让玩家如何陷进去,而花费更多的钱的技巧. 这种文章既是道德不正确的,又是 ...
- 单页面应用微信分享跳坑指南
前言 最近在开发的时候遇到了一个微信分享的bug,就是无论你在哪个路径下的页面,发送给朋友后点开都只会跳到项目的首页.本来微信分享这个只算是一个小功能,也很好解决,但由于项目的特殊性,使得在这个bug ...
最新文章
- 过程即奖励(The Journey is the Reward)
- 几个软件研发团队管理的小问题
- docker基础---数据卷volumes
- Linux shell逻辑运算
- boost::hana::lexicographical_compare用法的测试程序
- 【FBA】SharePoint 2013自定义Providers在基于表单的身份验证(Forms-Based-Authentication)中的应用...
- 如何使用SAP CRM增强工具AET创建Table表格类型的增强
- 【PAT - 甲级1006】Sign In and Sign Out (25分)(STLmap)
- RQNOJ 140 分配时间:dp
- mysql毫秒值转成日期_MySQL毫秒值和日期的指定格式的相互转换
- 讲给后台程序员看的前端系列教程(23)——标签类型及其转换
- Python 爬取豆瓣影片短评 生成词云统计
- “知识付费”的分类及传播特征
- [软件测试]软件测试的原则及软件质量
- erlang httpc
- 玩转华为数据中心交换机系列 | 配置交换机双归接入IP网络示例
- c语言正则表达式解析json,JSON解析使用正则表达式
- 电磁场与电磁波(一)
- 通过sourcetree为仓库添加子模块
- Kaggle从google drive下载文件的方法