1. 整个的完整流程
前情提要:
由于吴恩达深度学习课程后面的作业是用tensorflow和keras完成,因此需要安装这两种框架,此前已经安装过pytorch,害怕此框架会和上述两种框架引起冲突,因此创建虚拟环境以安装上述两种框架,其中keras是以TensorFlow,Theano,或者 CNTK为后端引擎的,又由于keras兼容的 Python 版本: Python 2.7-3.6,tensorflow支持的是Python 3.6–3.9,因此安装python==3.6的虚拟环境,在安装好tensorflow后,keras也就自动安装好了
# 参考链接
# https://keras.io/zh/
# https://www.tensorflow.org/install/
# https://tensorflow.google.cn/install(这个是中文版说明可以直接打开)
步骤及代码
# 创建python==3.6以及tf的虚拟环境
# 打开Anaconda3的Anaconda Prompt
conda create --name tfpy36 python==3.6
# 激活环境
conda activate tfpy36
# 此时pip版本为9.0.1
# 更新pip版本
python -m pip install --upgrade pip
# 如果不成功或因为网络原因导致失败,可以换成
#(参考链接:https://blog.csdn.net/LucyGill/article/details/125268665)
python -m pip install --upgrade pip -i https://pypi.douban.com/simple
# 此时的pip版本为21.3.1
# 安装tensorflow(没有独立的显卡所以安装的是cpu版本)
pip install tensorflow-cpu -i https://pypi.douban.com/simple
# 注:Visual Studio这些软件的安装是像windows安装软件那样安装,不是在annconda prompt命令行安装的
# 安装适用于 Visual Studio 2015、2017 和 2019 的 Microsoft Visual C++ 可再发行软件包,我电脑上安装的有Visual Studio 2017版本的,
# 因此在此链接(https://support.microsoft.com/help/2977003/the-latest-supported-visual-c-downloads)下载对应的Microsoft Visual C++,
# 对于下载好的Microsoft Visual C++文件直接双击安装就行了
# 至此,tensorflow和keras就安装好了
# 在jupyter notebook导入此虚拟环境(需要加入哪个虚拟环境,就要在哪个虚拟环境中安装nb_conda)
conda activate tfpy36
# 如果使用原先加入的镜像源报错,则删除原有的加入的国内镜像源,直接使用默认的镜像源
conda install nb_conda
#以上就是整个成功的完整的代码,在完成之前中间有很多试错,以上就是试错之后成功的代码,仅供参考,因为每个人安装的时候情况是不一样的
2. 安装过程的试错记录
2.1 安装tensorflow(cpu版本)
安装tensorflow需要pip 19.0或更高版本
pip版本过低,升级pip版本
升级成功
直接安装,安装失败
然后试各种镜像:
>pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple/ --upgrade tensorflow
>pip3 install -i http://mirrors.aliyun.com/pypi/simple/ --upgrade tensorflow
>pip3 install -i http://pypi.mirrors.ustc.edu.cn/simple/ --upgrade tensorflow
>pip3 install tensorflow -i https://pypi.tuna.tsinghua.edu.cn/simple
都不行,结果报错,报错如下:
所以就直接到tensorflow官网下载whl源文件(这里需要能fanqiang),直接通过pip安装tensorflow源文件,还是报错,如图:
网上搜帖子有可能是pip版本问题,这里pip是21.3.1 将其降为19版本
参考链接:https://stackoverflow.com/questions/64404748/pip3-could-not-fetch-url-https-pypi-org-simple-pip-there-was-a-problem-confi
参考链接:https://blog.csdn.net/weixin_46610458/article/details/119217108
然后,直接源文件安装,还是报错,想着可能是tensorflow版本有点高,需要降一下版本
下图中第二个红色框内容被挡住了。内容是protbuf需要python==3.7,但当前python是3.6
还是报错,于是又网上搜帖子,又说是pip版本过低(ε=(´ο`*)))唉,果然每个人情况不一样,只能试错了),根据以下参考链接以及参考博客底下评论,更新pip的版本
# 参考链接:https://blog.csdn.net/LucyGill/article/details/125268665
python -m pip install --upgrade pip -i https://pypi.douban.com/simple
然后,这里安装的是版本降低后的tensorflow_cpu-2.6.0版本,如图所示,但是还是失败了(这个应该是网速的原因):
又想了想通过这个豆瓣镜像更新pip网速挺快的,是不是可以通过这个镜像直接安装tensorflow,答案是可以的
pip3 install -i https://pypi.douban.com/simple --upgrade tensorflow
好了,至此大功告成,两者都安装上了
2.2 在jupyter notebook中导入创建的虚拟环境
在jupyter notebook中导入虚拟环境需要安装nb_conda,且需要先激活要导入的虚拟环境再安装nb_conda
# 参考链接:[如何在Jupyter Notebook中使用Python虚拟环境? - 简书 (jianshu.com)](https://www.jianshu.com/p/afea092dda1d)
# https://blog.csdn.net/wjz0626/article/details/125710246
# https://blog.csdn.net/qq_27930679/article/details/110631215
# https://blog.csdn.net/Msjiangmei/article/details/101224563
conda activate tfpy36
conda install nb_conda
报错,使用各种国内镜像都会报错:
将这个文件下载到本地进行安装,还是报错(即使以管理员身份运行anaconda prompt):
使用以下源还是报错:
channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
- defaults
show_channel_urls: true
于是就想着我不用这些镜像源了,就将C:/用户/用户名下的国内镜像源全删掉,只剩下默认的,然后就成功了
channels:
- defaults
show_channel_urls: true
以上就是安装过程中遇到的问题以及试错记录,水平有限,不能一眼就定住问题的要害,才不得一步步试错寻找成功的可能,还需要多学习多进步,也在此记录下来,可以给大家一个参考。
3. 安装py39环境及指定版本tensorflow
(记录一下完整的没出错的流程)
# 由于要使用的深度学习模型是要求tensorflow版本为2.5.0,且指定了其他包的版本
## 这里需要再次安装一个虚拟环境,以下代码都是在Anoconda prompt(Anaconda3 输入的)
# 以下代码直接成功
# 创建虚拟环境
conda create --name tfpy39 python==3.9
# 激活环境
conda activate tfpy39
# 查看版本是否符合要求
pip3 --version
# pip 23.1.2 from E:\ProgramData\Anaconda3\envs\tfpy39\lib\site-packages\pip (python 3.9)
# 安装指定版本的tensorflow(直接用豆瓣镜像,速度挺快)
pip3 install tensorflow-cpu==2.5.0 -i https://pypi.douban.com/simple
# 安装指定版本需要的包
pip install pandas==1.3.0 -i https://pypi.douban.com/simple
pip install scikit-learn==0.24.2 -i https://pypi.douban.com/simple
# 安装nb_conda
conda install nb_conda
# 以上都是直接成功的
根据tensorflow模块导入,及模型运行是没问题的。是成功了的,但不知为什么下图中红圈部分不显示镜像了
解释:因为在打开jupyter notebook时是在tfpy39虚拟环境下打开的,所以进去jupyter notebook没有显示tfpy39,如果在base下进入jupyter notebook,则就会显示tfpy39这个选项了,如图所示:
这里想到一个问题,如果我在tfpy39环境下不运行conda install nb_conda,然后我在此环境下打开jupyter notebook是不是也可以达到同样的效果?