(Python+Tensorflow)编程踩坑集锦
1 开发环境安装
推荐视频:https://www.icourse163.org/learn/PKU-1002536002?tid=1452937471#/learn/content?type=detail&id=1229556595&cid=1246770451&replay=true
1.1 Tensorflow2安装过程(Win10平台)
1.1.1 Anaconda
-
在Anaconda官网下载python3.7版本的Anaconda
-
安装Anaconda过程中,添加环境变量
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2PjktO72-1588738957899)(D:\76324\Pictures\picpick截图\Image 016.png)]
-
打开Anaconda Prompt, 输入
conda create -n TF2.1 python=3.7
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WA6KxuoL-1588738957901)(D:\76324\Pictures\picpick截图\Image 017.png)]
-
激活环境
conda activate TF2.1
-
安装cuda
conda install cudatoolkit=10.1
-
安装cudnn
conda install cudnn=7.6
-
安装Tensorflow
pip install tensorflow==2.1
-
测试tensorflow安装是否成功
import tensorflow as tf tf.__version__
1.1.2 Pycharm
-
安装Pycharm
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RZzAMPXs-1588738957904)(D:\76324\Pictures\picpick截图\Image 018.png)]
-
配置Pycharm
-
新建工程
-
配置环境变量
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EJ3W1c3m-1588738957906)(D:\76324\Pictures\picpick截图\Image 019.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4QNVU9Ao-1588738957908)(D:\76324\Pictures\picpick截图\Image 021.png)]
-
-
测试
-
创建Python文件
-
输入如下代码测试
import tensorflow as tftensorflow_version = tf.__version__ gpu_available = tf.test.is_gpu_available()print("tensorflow version:", tensorflow_version, "\tGPU available:", gpu_available)a = tf.constant([1.0, 2.0], name="a") b = tf.constant([1.0, 2.0], name="b") result = tf.add(a, b, name="add") print(result)
-
1.2 pip更换国内镜像源,解决安装速度太慢
linux下指定位置为`$HOME/.config/pip/pip.conf`或者`$HOME/.pip/pip.conf`mac下指定位置为`$HOME/Library/Application Support/pip/pip.conf`或者`$HOME/.pip/pip.conf`windows下指定位置为`%APPDATA%\pip\pip.ini`或者`%HOME%\pip\pip.ini`在 pip 目录下创建 pip.ini 文件, 内容如下[global]timeout = 6000index-url = https://pypi.tuna.tsinghua.edu.cn/simpletrusted-host = pypi.tuna.tsinghua.edu.cn
或者通过命令行修改镜像
pip config --global set global.index-url https://mirrors.aliyun.com/pypi/simple/pip config --global set install.trusted-host mirrors.aliyun.com
参考博客:https://blog.csdn.net/u013771353/article/details/103150362?depth_1-utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-5&utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-5
1.3 conda 更换国内镜像源,解决安装速度太慢
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
或
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --set show_channel_urls yes
1.4 下载指定版本的opencv
pip install opencv-python==4.1.2.*
#最后的 * 代表不定版本
#下载带扩展包的opencv
pip install opencv-contrib-python
不同opencv下载包的网址: https://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv
1.5 conda 查看安装包的依赖关系
conda search package_name=7.* --info
1.6 conda 查看有哪些版本的安装包
conda search tensorflow-gpu
1.7 tensorflow-gpu与 cuDNN、CUDA版本之间的关系
参考: https://blog.csdn.net/hesongzefairy/article/details/104457091
1.8 安装显卡驱动
第一次安装显卡驱动时,直接去官网下载,结果下载的是最新的版本,与cuda 版本不兼容。去官网直接下载无法下载到以前的版本
第二次安装显卡驱动时,通过安装cudatoolkit=9.1 ,顺带着安装对应的显卡驱动(显卡驱动需要考虑对cudatoolkit的兼容性,而不是有些博客说,驱动和cudatoolkit是相互独立,他们两之间有依赖关系 )
2 Pycharm
2.1 文件data_manager找不到
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8sqtezbo-1588738957909)(C:\Users\76324\AppData\Roaming\Typora\typora-user-images\1587305475850.png)]
解决:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AguqMJeK-1588738957911)(C:\Users\76324\AppData\Roaming\Typora\typora-user-images\1587305552916.png)]
2.2 Python移动项目文件(在Pycharm)后,找不到指定路径
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-P4KhFWX3-1588738957913)(C:\Users\76324\AppData\Roaming\Typora\typora-user-images\1587222740927.png)]
进入 : run—>Debug Configuration
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AU2aOWVi-1588738957915)(C:\Users\76324\AppData\Roaming\Typora\typora-user-images\1587259405870.png)]
3 异常 & 报错
3.1 Python3 AttributeError: module ‘urllib’ has no attribute 'request’
把import urllib
改为:import urllib.request
3.2 pip无法正常安装dlib:running setup.py install for dlib ···error
pip install dlib==19.8.1 解决方法: 先要pip install cmake,Boost
参考博客:https://blog.csdn.net/qq_41185868/article/details/79678783#dlib%E5%BA%93%E7%9A%84%E5%AE%89%E8%A3%85
3.3 module ‘cv2’ has no attribute ‘VideoCapture’
只安装了opencv-contrib-python,没有安装opencv-python
only install pip3 install opencv-contrib-python
not install pip3 install opencv-python;
willl tell you module cv2
has no attribute VideoCapture
3.4 报错: Failed to get convolution algorithm. This is probably because cuDNN failed to initialize
这类错误常见有两种原因:
一种是:cudnn , cuda版本不一致
把对应的版本改为:cuda=9.0 cudnn=7.6.5
另外一种是:显卡内存不够用
config = tf.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction = 0.3
sess = tf.Session(config = config)
参考:https://blog.csdn.net/baidu_34172099/article/details/103787226?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-4&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-4