一、安装与配置:Pycharm Anaconda TensorFlow Keras

一、安装与配置

对照网上的教程先后安装了

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对应关系

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下载

下载完成后,进行解压缩,并将解压后的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

  • 5
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值