Tensorflow的踩坑记录
前言
由于毕业设计需要用到深度学习,哑然于tensorflow各个工具包需要的兼容的版本之严格,所以特此在此记录一下学习tensorflow时所遇到的各种问题
tensorflow安装
由于安装的文献过多,比博主讲解清楚的大有人在,这里就不再累述了
这里贴出博主所参考过的tensorflow安装文档的博客地址:
报错
安装时出现错误为:
Could not find a version that satisfies the requirement tensorflow
这是由于当前安装的环境中的python版本过高或者过低,没有对应的tensorflow版本与之兼容从而出错
解决该问题的方法就是更改当前环境的python版本,具体命令为:
conda install python=3.6
具体步骤可参考以下博客地址:
- 解决TensorFlow安装问题: Could not find a version that satisfies the requirement tensorflow
- TensorFlow版本与Python版本对应关系以及TensorFlow包的下载
- 使用 pip 安装 TensorFlow(tensorflow官网需要挂vpn)
更改完成后又出现错误为:
You are using pip version 9.0.1, however version 20.3.3 is available. You should consider upgrading via the 'python -m pip install --upgrade pip' command.
这里的意思是pip工具包的版本过低需要升级,从以下图片可知博主这里对应的环境为
pip version=9.0.1
许多博客上说在 Anaconda 上无法更新pip可以在本系统的cmd窗口中更新,这种说法具有误导性,如果你和博主一样在 Anaconda 新创建了一个环境如 tensorflow ,由于是不同的环境所以这种做法是无法解决问题的,无法更新猜测是由于下载源的问题导致的网络问题无法成功更新,所以如果不想直接更改源地址的话就可以和博主一样输入以下命令行
所以我们需要更新pip,对应的命令行为:
python -m pip install --upgrade pip -ihttps://pypi.douban.com/simple Collecting pip
更新完成后又出现新的问题
如图所示,该问题是在安装文件时下载的时间超时
如图所示,该问题是网络等原因导致的下载错误
两种错误都结合在一起的解决办法就是如下命令行:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ --upgrade tensorflow-gpu --default-timeout=100 --upgrade
详情可以参考以下博客:
更新完成后运行又出现以下问题:
module 'tensorflow' has no attribute 'Session'?
这个问题是该版本的tensorflow没有对应的属性,可以使用代替属性。具体可以参考如下博客:
- tensorflow使用Session模块时报错:AttributeError: module 'tensorflow' has no attribute 'Session',已解决
- Tensorflow 2.0 - AttributeError: module 'tensorflow' has no attribute 'Session'
但如果你和博主一样只是为了测试tensorflow是否成功安装,可以试着更改测试代码如下:
import tensorflow as tf
msg = tf.constant('Hello, TensorFlow!')
tf.print(msg)
输出成功则代表安装成功
使用tensorflow时肯定会引入的模块安装:
在线安装matplotlib
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple matplotlib
在线安装numpy
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy
在线安装SciPy
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple scipy --default-timeout=100
相关原博客地址:
应用文献
关于深度学习模型应用的有关文献:
关于算法:
- tensorflow目标检测边训练边测试(SSD)
- Tensorflow中怎么使用queue读取数据的情况下,在同一个session中边训练边测试
- Tensorflow 一边训练一边验证(training and validation)
- 【Tensorflow】Object Detection API-训练自己的模型
- MobileNet V1官方预训练模型的使用
- Tensorflow object detection API训练自己的目标检测模型(检测图片中和视频中的物体)
- 利用TensorFlow Object Detection API实现图片和视频物体检测
- Tensorflow之实现物体检测
最后
待更新