应项目需要,将原来linux下的程序转移到windows上。程序主要代码是qt和python写的,基本不要改动。差别主要是环境的不同。于是在win10上进行了环境搭建。安装的gpu版本,硬件环境GTX1060。
具体安装过程基本百度一搜一大把,主要记录下一些过程中的问题。
1. 安装anaconda3 ,安装的是最新版,基本一键安装就行。https://www.anaconda.com/download/
2. 安装CUDA。cuda有多个版本,至于具体版本选择,一开始安装了9.2的版本,然后有点问题退回到9.0。其他版本可以在下载链接页面的Legacy Releases按钮进入。但9.0安装时提示硬件不兼容,实际安装后并不会报啥错。具体原因参考链接1,见文章末。具体的版本对应关系可参考链接2。没具体考究,供参考。
3.ImportError: Could not find 'cudart64_90.dll'. TensorFlow requires that this DLL be installed in a directory that is named in your %PATH% environment variable.
这个问题是cuda环境变量没配置好的原因,配置好相应环境变量即可。一般安装好会自动配置
4. tensorflow安装
CPU版本
pip install --ignore-installed --upgrade tensorflow
GPU版本
pip install --ignore-installed --upgrade tensorflow-gpu
5.'pip' 不是内部或外部命令,也不是可运行的程序或批处理文件。
此问题是python的环境变量没加完整,除了加入python根目录的环境变量外,还要加Scripts环境变量,如D:\XXX\Scripts,D:\XXX为py的根目录
6.创建tensorflow环境。
有两种方式,一种是命令行在 anaconda prompt中输入conda create -n tensorflow python=3.6
另一种是直接在anaconda navigater中直接创建,会自动配置好相关环境。
7.cuda cudnn下载后安装和环境配置
ImportError: Could not find 'cudnn64_7.dll'. TensorFlow requires that this DLL be installed in a directory that is named in your %PATH% environment variable.
cudnn下载后可以解压在任意目录下,在环境配置中找到path,点击编辑—新建,把你自己的cudnn里的bin路径写进去。这里需要注意的是一定要配置到bin,否则会出错误,例如 C:\cudnn-9.2\cuda\bin
8.程序运程中提示缺少包的问题。将对应包pip安装。需要注意的是先要切换到指定的运行环境下,比如tensorflow.
ModuleNotFoundError: No module named 'imutils'
pip install imutils
ModuleNotFoundError: No module named 'cv2'
pip install opencv-python
ModuleNotFoundError: No module named 'keras_resnet'
pip install keras_resnet
ModuleNotFoundError: No module named 'PIL'
pip install pillow
9.acaconda中多个不同python版本的调用问题
anaconda中自带了python版本,但在envs中不同环境又自带了不同的python。一般应该是具体用到某个环境中的python就调用其中的python版本。但在调试时发现用tensorflow中的python却调用了anaconda中的版本。解决的方法是设置pythonhome变量,将该变量值设置为你想要调用的版本。
10.加了PYTHONHOME变量之后好像conda命令找不到了,也就是conda自带的python环境已经失效。这个方法暂不可行,待继续跟进。
一些链接,供参考
链接1https://blog.csdn.net/XCCCCZ/article/details/80385448
链接2https://blog.csdn.net/qq_15947787/article/details/77967457
链接3https://blog.csdn.net/Eppley/article/details/79297503
链接4https://blog.csdn.net/bon_mot/article/details/72770990