目录
一、安装与配置
对照网上的教程先后安装了
1.Anaconda
https://www.anaconda.com/distribution/#download-section 可能需要科学上网
若进不去网站,尝试百度云(2020.07版本↓)
链接: https://pan.baidu.com/s/1t2857BzMXGSyVwvpEW5d3A 提取码: sj5s
或者清华镜像
https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
以百度云安装包为例:
先解压,运行64位版本:
Next→I Agree→Next →(改文件路径 注意要空文件夹)→Next→
(记得勾选 √ 第一项:将Anaconda 添加到环境变量中。见下图)→ Install
→(等待一段时间)→Next→Next→Finish
安装完成后可以将常用的 Anaconda Navigator、Jupyter Notebook、Anaconda Powershell Prompt(这个比Anaconda Prompt多一些功能?)放到开始屏幕,方便使用
测试anaconda是否安装完成:
win+R→cmd→conda
若出现以下信息则安装成功
2.配置Anaconda清华镜像
用Anaconda Prompt运行 可能要以管理员身份运行
(暂时添加官方库的镜像即可,后面若不可用(下载还是慢),再尝试换其他源)
20220710: 直接全给他装上,tmd!!!
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第三方库 Conda Forge
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda第三方库 pytorch
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda第三方库 msys2
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda第三方库 bioconda
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
conda第三方库 menpo
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo/
恢复默认下载源:conda config --remove-key channels
移除特定源:conda config --remove channels ‘源网址’
补充
中科大源:
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/menpo/
3.Pycharm
下载链接: https://pan.baidu.com/s/11CgPJcp7NVymKF7nVpiutg 提取码: yn9e
(链接附安装方法)
https://www.bilibili.com/read/cv7395468/
官网下载:
https://www.jetbrains.com/
https://www.jetbrains.com/pycharm/
(可能要科学上网)
4个选项可以全勾选?
4.Pycharm配置conda环境(该步骤可省略,直接见7)
新建一个Project。命名后选择 Existing interpreter,点右侧 …
点右侧 …
然后选择 anaconda文件夹下的python.exe 。 OK→OK→Create后 conda环境就配置好了
方法二: 也可以点 左上角File→Settings→Project (当前工程):Python Interpreter →右上角齿轮 Add
选择Existing environment 右侧 …。选择 anaconda文件夹下的python.exe 。即可
若出现以下错误,可以找到.condarc文件(C:\Users\Ding Ding),删去 -defaults 即可。
补充说明 :New environment与Existing environment区别?
https://blog.csdn.net/yandajiangjun/article/details/102502190?utm_medium=distribute.pc_relevant.none-task-blog-title-2&spm=1001.2101.3001.4242
5.安装TensorFlow 1.14.0
在Anaconda Prompt用命令安装TensorFlow
https://blog.51cto.com/acevi/2103437
代码如下:
①conda create -n tensorflow python=3.5
(只是建了个环境文件夹 还没有真正安装tensorflow)
②activate tensorflow
(在anaconda prompt, activate后前面还是(base) 。应该是有冲突。可以win+R cmd: activate tensorflow) 见问题(1) (1)关于anaconda prompt无法activate 环境
解决方案: ②改为 conda activate tensorflow
③下载tensorflow
(建议安装1.14 比较稳定?)
%用这个成功了,中国科学技术大学的源(清华的源不行 2020.11.23)
pip --default-timeout=1000000 install -U -i http://pypi.mirrors.ustc.edu.cn/simple/ --upgrade tensorflow==1.14.0
%↑↑↑防止超时,且可指定版本。 代码改为 tensorflow-gpu==1.14.0 可下载gpu版本
%可能需要改为https
or
https://pypi.tuna.tsinghua.edu.cn/simple tensorflow==1.14.0
可能需要更新pip
python -m pip install --upgrade pip
*其他源:*
https://pypi.tuna.tsinghua.edu.cn/simple/
http://mirrors.aliyun.com/pypi/simple/
https://pypi.mirrors.ustc.edu.cn/simple/
http://pypi.mirrors.ustc.edu.cn/simple/
http://pypi.douban.com/simple/
这个可以下载成功,但版本是1.2.1
conda install tensorflow
其他:
以下代码下载均很慢(已配置清华镜像)
pip install --upgrade --ignore-installed tensorflow %cpu版本
pip install --upgrade --ignore-installed tensorflow-gpu %gpu版本
pip3 install --upgrade tensorflow
下载慢,可以试试科学上网或者用移动流量试试?
或者尝试本地安装 links for tensorflow
④测试是否安装成功
查询tensorflow版本
import tensorflow as tf
tf.__version__
简单测试:
tensorflow 2.x版本更新了很多机制,注意代码区别
见 1.x版本与2.x版本区别
python
import tensorflow as tf
hello=tf.constant('hello,world')
sess=tf.Session()
print(sess.run(hello))
2.x版本
python
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior() %使TensorFlow2.x的功能无效化
hello=tf.constant('hello,world')
sess=tf.Session()
print(sess.run(hello))
x=tf.constant(1)
y=tf.constant(2)
z=x+y
sess=tf.Session()
print(sess.run(z))
6.安装keras 2.2.5
keras和tensorflow版本对应关系
tensorflow1.14.0 对应 keras 2.2.5
安装keras 2.2.5
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple keras==2.2.5 #安装Keras
pip install keras==2.2 -i https://pypi.douban.com/simple
7.Pycharm配置tensorflow环境
新建Project,选择一个环境就行
conda base环境 (之前第4步已配置好conda环境)
conda tensorflow环境
测试代码:
吴恩达机器学习作业一-线性回归--tensorflow实现 代码节选
import numpy as np
import pandas as pd
import matplotlib as plt
import tensorflow as tf
path = "D:\MachineLearning\exerise1\ex1data1.txt"
data = pd.read_csv(path, header=None, names=['Population', 'Profit'])
print(data.head())
base环境运行没有问题 应该是anaconda已经安装好了numpy、pandas、matplotlib
tensorflow环境运行有问题 numpy版本过高(1.18.5)、未安装pandas、matplotlib (见8)
原因:base环境有是因为anaconda已经自带了一些常用包。tensorflow环境是自己新建的环境,还需要自己安装所需要的包!(见8)
8.安装numpy、pandas、matplotlib
先到tensorflow环境: conda activate tensorflow
%pip uninstall numpy %不需删除,下载新版本的时候会自动删除旧版本
%pip install numpy==1.16.0 %失败
%pip install numpy==1.16.0 -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com %成功
conda install matplotlib %成功 会附带安装numpy等多个包
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple matplotlib %失败
conda install pandas %会附带安装numpy等多个包 (此时该环境可能有两个版本numpy 需要卸载一个)
pip uninstall numpy
pip install numpy==1.16.0 -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
也可以在Anaconda navigator下载,可能会有点慢(科学上网?)——不推荐
9. 配置jupyter notebook
下完Anaconda自带一个jupyter notebook
Anaconda Navigator页面也可安装jupyter notebook
不知道这两个有什么区别? 实际打开是一样的
Jupyter Notebook 打开指定文件夹
(1)在工作目录上方直接键入 jupyter notebook
(2)在工作目录 空白处 shfit + 鼠标右键
在此处打开powershell窗口
然后输入 jupyter notebook
(3)win+R cmd 盘符方法(待补充)
将Chrome设置为Jupyter_notebook的默认浏览器
Step1: 点击 Anaconda prompt
键入jupyter notebook --generate-config
2:找到jupyter_notebook_config.py
文件, 记事本打开 搜索c.NotebookApp.browser
在下方键入以下代码== (关键是找到chrome浏览器的位置)==
import webbrowser
webbrowser.register("chrome",None,webbrowser.GenericBrowser(u"这里是Chrome浏览器安装位置"))
c.NotebookApp.browser = 'chrome'
Jupyter Notebook中切换conda虚拟环境
法一
(1)base环境安装 nb_conda conda install nb_conda
安装nb_conda 报错
可以将前面各种 源 装上,应该就可以运行了
(2)如果此时jupyter kernel中还不显示conda新增的环境
安装ipykernel库,利用ipykernel库将该虚拟环境写入到jupyter中。
先打开对应的环境conda activate paddle_3.6
然后 conda install ipykernel
一般来说到这里 jupyter就可以使用anaconda中新建的环境了
python -m ipykernel install --user --name 环境名 --display-name “python 环境名”
#这一步是否需要?待测试
补充:
conda create -n 环境名称 python=3.6 ipykernel # 创建环境开始就安装ipykernel
conda install -n 环境名称 ipykernel #直接指定环境安装ipykernel
jupyter kernelspec list
#查看kernel列表。
(此时只显示了一个kernel:python3,但不影响jupyter正常使用环境。)
安装完ipykernel后还是没有反应?似乎不太行,谨慎使用
conda activate paddle_3.6
python -m ipykernel install --user --name paddle_3.6 --display-name "paddle_3.6"
jupyter kernelspec remove paddle_3.6
#删除kernel
法二(之前的方法)
之前的环境都配置好了,可以在pycharm运行代码。
如果要在 jupyter notebook 运行 tensorflow 环境的话,可能还需要配置一下
首先进入tensorflow环境:conda activate tensorflow
conda install ipython
conda install jupyter
jupyter kernelspec list
查看当前可用kernels
如果没有将tf环境添加进来,尝试下列语句
python -m ipykernel install --user --name myenv --display-name "Python (myenv)"
待测试
若报错 AttributeError: type object 'IOLoop' has no attribute 'initialized'
原因是安装的 tornado 版本与 jupyter 不匹配
conda install tornado=4.5
然后重新打开Anaconda Powershell Prompt,在base环境输入(直接输入)
conda install nb_conda_kernels
安装完成后重新打开 jupyter notebook
这样就可以在 jupyter notebook-Kernel- 自由更改环境了
参考 https://github.com/Anaconda-Platform/nb_conda_kernels
也可以在Anaconda Powershell Prompt- tensorflow 环境 输入jupyter notebook进入
该方法是从 C盘根目录(默认目录)打开jupyter notebook,可能还需要修改 文件所在路径。有点麻烦。
jupyter打开conda报错 EnviromentLocationNotFound
原因
之前版本conda是envs=[],而4.4版本之后envs=[root_env_dir],然而这个目录通常并不是空的,官方可能在后续的更新中解决这个问题。
解决方法
进入 E:\Anaconda\Lib\site-packages\nb_conda
打开envmanager.py
文件
查找这一句:
return {
"environments": [root_env] + [get_info(env)
for env in info['envs']]
}
改成:
return {
"environments": [root_env] + [get_info(env) for env in info['envs']
if env != root_env['dir']]
}
重启jupyter
jupyter 配置环境的 内核无法连接
pip install --upgrade ipykernel
若报错,可以改成pip install --ignore-installed ipykernel --upgrade
应该跟prompt-toolkit 有点关系
https://blog.csdn.net/justwaityou1314/article/details/115206966
https://blog.csdn.net/qq_15056979/article/details/89527839
tf-keras-python对应关系
☆python3.7 tf2.2.0 keras2.3.1安装
# python3.7 tf2.2.0 keras2.3.1
conda create -n tf2.2 python=3.7
conda activate tf2.2
pip --default-timeout=1000000 install -U -i https://pypi.mirrors.ustc.edu.cn/simple/ --upgrade tensorflow==2.2.0
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple keras==2.3.1
# matplotlib numpy pandas
conda install matplotlib # 附带numpy
★python3.8 tf2.4.0-gpu安装
# python3.8 tf2.4.0-gpu tf2以上不需要安装keras?
conda create -n tf2.4-gpu python=3.8
conda activate tf2.4-gpu
pip --default-timeout=1000000 install -U -i https://pypi.mirrors.ustc.edu.cn/simple/ --upgrade tensorflow==2.4.0
# matplotlib numpy pandas
conda install matplotlib # 附带numpy
cuda
先更新了一下Nvidia的显卡驱动到最新(用Nvidia Experience客户端自动更新),然后打开控制面板查看支持的cuda版本,可以看到最新的驱动支持cuda11.1 (20210617: cuda 11.2.115)
版本对应关系
CUDA下载
最后下到默认目录(C盘)
检测是否安装成功
win+R→cmd 输入nvcc -V
cuDNN
下载完成后,进行解压缩,并将解压后的cudnn文件夹中的bin、include、lib文件夹
复制到CUDA安装目录下。
环境变量配置
一般来说环境变量会自动配置,可以取系统里面看看
测试安装结果
import tensorflow as tf
tf.config.list_physical_devices() # or tf.config.list_physical_devices("GPU")
import tensorflow as tf
print("Num GPUs Available: ", len(tf.config.experimental.list_physical_devices('GPU')))
import tensorflow as tf
import os
os.environ['TF_XLA_FLAGS'] = '--tf_xla_enable_xla_devices'
os.environ['TF_CPP_MIN_LOG_LEVEL']='2'
print(tf.__version__)
a = tf.constant(1.)
b = tf.constant(2.)
print(a+b)
print('GPU:', tf.test.is_gpu_available())
检测gpu加速的效果
检测gpu加速的效果
import tensorflow as tf
import timeit
with tf.device('/cpu:0'):
cpu_a = tf.random.normal([10000, 1000])
cpu_b = tf.random.normal([1000, 2000])
print(cpu_a.device, cpu_b.device)
with tf.device('/gpu:0'):
gpu_a = tf.random.normal([10000, 1000])
gpu_b = tf.random.normal([1000, 2000])
print(gpu_a.device, gpu_b.device)
def cpu_run():
with tf.device('/cpu:0'):
c = tf.matmul(cpu_a, cpu_b)
return c
def gpu_run():
with tf.device('/gpu:0'):
c = tf.matmul(gpu_a, gpu_b)
return c
# warm up 这里就当是先给gpu热热身了
cpu_time = timeit.timeit(cpu_run, number=10)
gpu_time = timeit.timeit(gpu_run, number=10)
print('warmup:', cpu_time, gpu_time)
cpu_time = timeit.timeit(cpu_run, number=10)
gpu_time = timeit.timeit(gpu_run, number=10)
print('run time:', cpu_time, gpu_time)
报错
发现使用GPU版本的TF时会提示缺少cusolver64_10.dll,发现文件中只有cusolver64_11.dll,将cusolver64_11.dll复制后,改名为cusolver64_10.dll,解决问题。
报错:各种dll文件找不到
将所有缺少dll文件复制到C:\Windows\System文件夹下
https://www.pianshen.com/article/37081444749/
自己尝试的解决方案:
把C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\bin
添加到环境变量
计算机-属性-高级系统设置-高级-环境变量-系统变量-Path双击-新建C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\bin
删除System下的.dll文件 仍可以运行!
tf2.4-gpu环境运行
os.environ["CUDA_VISIBLE_DEVICES"] = "0"
其他包安装
cv2
pip install opencv-python #有点慢
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-python #这个可以
scipy
pip install scipy #有点慢
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple scipy #未测试
skimage
# 这个好像会附带安装scipy
# conda install scikit-image # 新版本0.18不行,内置程序被重置了
conda install scikit-image==0.15.0
pip install scikit-image==0.15.0
tqdm(进度条可视化)
pip install tqdm
pyreadline(代码自动补全)
conda install pyreadline
还不知道这个功能有什么用
二、问题:
(1)关于anaconda prompt无法activate 环境
原因是Power Shell不兼容anaconda (https://blog.csdn.net/kdongyi/article/details/81905494?utm_medium=distribute.pc_relevant.none-task-blog-title-2&spm=1001.2101.3001.4242)
conda install -n root -c pscondaenvs pscondaenvs
Set-ExecutionPolicy RemoteSigned 后选择Y(以管理员方式运行anaconda prompt 或者power shell)
好像conda版本过高会报错。因此不建议用anaconda propmt改环境,用cmd就好。
解决方案: 用conda activate Tensorflow
(2)Pycharm配置conda环境报错
若出现以下错误,可以找到.condarc文件(C:\Users\Ding Ding),删去 -defaults 即可。
(3)pip损坏 重新安装
先下载 pip https://pypi.org/project/pip/19.1.1/#files
解压到tensorflow环境所在文件夹:T:\Anaconda\envs\tensorflow
在Anaconda Powershell Prompt 切换工作路径 到tensorflow所在文件夹:
conda activate tensorflow %先打开tensorflow环境
cd T:\Anaconda\envs\tensorflow\pip-19.1.1 %切换到pip文件所在路径
python setup.py install %安装pip
(4)pip损坏 重新安装
报错:Original error was: DLL load failed: 找不到指定的模块。
某天在 tf2.2环境跑代码,突然报错。检测所有库都无法import(numpy tf等)
解决办法:安装numpy-base
conda install numpy-base #用了这个
pip install numpy-base
(5)conda一直在 'Solving environment: ’
装 nb_conda的时候 conda一直在 'Solving environment: ’
问题未解决
(1)更换源
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
(2).condarc文件 删去- defaults
(3)conda config --set channel_priority flexible
(3)conda update conda
三、补充说明
1、pip和conda区别
简而言之,pip是Python包的通用管理器; conda是一个与语言无关的跨平台环境管理器。对于用户,最显着的区别可能是这样的:pip在任何环境中安装python包; conda安装在conda环境中的任何包。
使用conda install包的时候,默认是装在root环境下的。(因此安装时需先进入 环境:activate env_name)
conda能够创建可以包含不同版本的Python或其他软件包的隔离环境。在使用数据科学工具时,这非常有用,因为不同的工具可能包含冲突的要求,这些要求可能会阻止它们全部安装到单个环境中。 Pip没有内置的环境支持,而是依赖于virtualenv或venv 等其他工具来创建隔离环境。
在anaconda下用pip装包的原因:尽管在anaconda下我们可以很方便的使用conda install来安装我们需要的依赖,但是anaconda本身只提供部分包,远没有pip提供的包多,有时conda无法安装我们需要的包,我们需要用pip将其装到conda环境里。
安装特定版本的包:
conda install numpy=1.93
pip install numpy==1.93
2、conda常用命令
conda在指定环境下安装包:conda create -n env_name python=3.5
conda create -n env_name numpy matplotlib python=3.5
打开虚拟环境:activate env_name
退出虚拟环境:deactivate env_name
删除环境:conda remove -n env_name --all
删除虚拟环境中的包:conda remove --name $your_env_name $package_name ?
常用命令
conda list:查看安装了哪些包。
conda install package_name(包名):安装包
conda env list 或 conda info -e:查看当前存在哪些虚拟环境
update
升级Anaconda需要先升级conda
conda update conda
conda update anaconda
指定升级某一个库,例如 pandas:conda update pandas
自动检测并升级 Anaconda 管理器中的所有可升级的库:conda update --all
☆3、用conda安装TensorFlow
http://www.sohu.com/a/259103573_657064
(与 pip 安装相比,conda 安装可以带来超过 8 倍的速度提升。
GPU 版本的安装也更加简单:conda 安装将自动安装 GPU 支持所需的 CUDA 和 CuDNN 库。pip 安装则需要手动安装这些库。)未验证!!
conda install tensorflow
conda install tensorflow-gpu
conda install --channel https://conda.anaconda.org/anaconda tensorflow=1.6.0
4、用pip装包时的注意事项
首先,我们需要判断目前我们用的pip指令,会把包装到哪里,通常情况下,pip不像conda一样,他不知道环境,我们首先要确保我们用的是本环境的pip,这样pip install时,包才会创建到本环境中,不然包会创建到base环境,供各个不同的其他conda环境共享,此时可能会产生版本冲突问题。
查看pip环境:which -a pip
(经试验,anaconda4.8版本,在conda create新的环境时,已经默认在新环境装了pip,此时activate进入该环境后,用pip命令安装的包,默认会装在本环境中,不必担心pip一个包后后会将其他环境的包改变版本的情况)
当然我们自己创建的conda环境里,可能没有pip,此时进入自己的conda环境也会默认用base环境的pip,这就需要我们自己将pip安装入本环境,尽量不要使用base的pip在其他环境装包,这样也会装在base里,有产生版本冲突的可能(上文已讲)。
在自己conda环境安装pip:conda install pip
安装好本环境的pip之后,在本环境中使用pip install安装的包,就只在本conda中了,我们可以用conda list查看我们的包
待办
1.使用.yml文件配置conda环境
将.yml文件放到 C:\Users\Administrator 下
打开Anaconda Powershell Prompt
conda env create -f install/env-cpu.yml
conda env update -f env-cpu.yml
2. pip安装本地包
pip install -e