因学习需要用到keras,通过查找较多资料最终完成Anaconda、TensorFlow和Keras的简单安装。因为网上的相关资料较多但大部分不够全面,查找起来不太方便,因此自己记录一下成功下载安装的详细过程,顺便推荐一下借鉴的写的很好的相关教程文章。
keras需要在TensorFlow之上才能运行,所以要先安装TensorFlow ,而TensorFlow只能在3.7以前的python版本中运行,所以需要先创建一个基于python 3.6的虚拟环境,因此便需要先下载Anaconda。
Anaconda下载安装教程原文链接:https://blog.csdn.net/wq_ocean_/article/details/103889237
博主写的很详细。
Anaconda包括Conda、Python以及一大堆安装好的工具包,比如:numpy、pandas等
因此安装Anaconda的好处主要为以下几点:
1)包含conda:conda是一个环境管理器,其功能依靠conda包来实现,该环境管理器与pip类似,那有童鞋会问了:我能通过pip装conda包达到conda环境管理器一样的功能吗?答案是不能,conda包的实现离不开conda环境管理器。想详细知道两者异同可以去知乎遛一遛https://www.zhihu.com/question/279152320
2)安装大量工具包:Anaconda会自动安装一个基本的python,该python的版本Anaconda的版本有关。该python下已经装好了一大堆工具包,这对于科学分析计算是一大便利,你愿意费时耗力使用pip一个个包去装吗?
3)可以创建使用和管理多个不同的Python版本:比如想要新建一个新框架或者使用不同于Anoconda装的基本Python版本,Anoconda就可以实现同时多个python版本的管理。
注:Anaconda3下载在官网下载比较慢,而且容易断,推荐用下面清华镜像方式:
根据需要下载对应版本。
更新conda和所有包的过程较长,而且网络会对更新过程造成影响,我个人安装Anaconda的时候暂未进行更新,这里可能导致某些问题。
TensorFlow只能在3.7以前的python版本中运行,所以需要先创建一个基于python 3.6的虚拟环境,旧版本的python可以卸载也可以不卸载(参考Anaconda下载安装介绍方法)。
参考文章教程原文链接:
TensorFlow和Keras安装教程_TensorFlow安装Keras_你是认真的吗…的博客-CSDN博客
简洁的keras安装方法_keras下载安装教程_m0_37575524的博客-CSDN博客
Anaconda Prompt常用语句:
1.查看存在的环境:conda info -e
2.创建新环境:conda create --name 环境名 python=(python的版本号)
3.切换到某个环境:conda activate 环境名
4.查看环境中已安装的包:conda list
5.在环境中安装包:pip install 包名
6.删除包:pip unstall 包名
7.删除环境:conda env remove -n 环境名
#创建虚拟环境名
conda create -n TensorFlow_py python=3.6
#查看已创建环境
conda info --envs
#切换到创建的环境中
conda activate TensorFlow_py
当命令行前缀(base)变成对应的环境名(TensorFlow_py)时成功切换环境,在该环境下输入python
#命令行输入python检查当前python版本,显示>>>表示成功安装,可直接输入python命令
python
#进入python
>>>exit() #输入该命令退出python
(其中python3.6版本文件会安装在Anaconda的\envs\TensorFlow_py\文件夹下)
打开Anaconda Prompt后输入以下命令下载更新pip
python -m pip install --upgrade pip
因为Keras搭建在TensorFlow基础上,在安装Keras安装之前需要安装numpy、matplotlib、scipy等工具包,可直接pip下载也可使用清华镜像网下载安装相关的python模块包。
#清华镜像下载较快
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple +包名
#直接下载模块包
pip install +包名
#卸载包
pip uninstall +包名
在上述TensorFlow_py环境下打开python,输入import+包名,未报错则成功安装模块包
安装TensorFlow2.0.0(可自己选择安装的版本,修改版本号即可)
pip install TensorFlow==2.0.0
注:因为Keras一定要和下载的TensorFlow版本匹配,所以后续下载Keras要注意看下载的是哪个版本
部分版本对应图如下:
下载完打开python 进行import +tensorflow,验证是否成功安装TensorFlow
conda activate TensorFlow_py
conda install mingw libpython
pip install theano
pip install keras==2.3.1
下载完打开python 进行import +keras,输出Using TensorFlow backend安装成功。
顺便记录一下在进行PyCharm配置时遇到的问题
from keras.utils import to_categorical
from keras import models, layers, regularizers
from keras.optimizers import RMSprop
from keras.datasets import mnist
import matplotlib.pyplot as plt
#加载数据集并处理
(train_images, train_labels), (test_images, test_labels) = mnist.load_data()#归一化处理,注意必须进行归一化操作,否则准确率非常低,图片和标签
#将图片由二维铺开成一维
train_images = train_images.reshape((60000, 28*28)).astype('float') #将28*28的二维数组转变为784的一维数组,浮点数类型
test_images = test_images.reshape((10000, 28*28)).astype('float')
train_labels = to_categorical(train_labels) #to_categorical就是将类别向量转换为二进制(只有0和1)的矩阵类型表示
test_labels = to_categorical(test_labels)
#print(train_labels[0])
#搭建神经网络(全连接)
network = models.Sequential() #选用的是Sequential 序贯模型sigmoid
network.add(layers.Dense(units=15, activation='sigmoid', input_shape=(28*28, ),))#添加一个(隐藏层)全连接层,神经元为15,激活函数是relu线性整流
#函数,输入形状为28*28
network.add(layers.Dense(units=10, activation='softmax'))#添加一个(输出层)全连接层,神经元为10,激活函数为softmax(Softmax 具有更好的解释性,
#这块通过softmax激活函数,最后的数组中,十个数哪个最大,计算机就认为是哪个
#神经网络的编译和训练
# 编译步骤,损失函数是模型优化的目标,优化器使用RMSporp,学习率为0.001,损失函数是categorical_crossentropy,评价函数为accuracy准确率
network.compile(optimizer='sgd', loss='categorical_crossentropy', metrics=['accuracy'])#RMSprop(lr=0.001)
# 训练网络,用fit函数(fit()方法用于执行训练过程), epochs表示训练多少个回合, batch_size表示每次训练给多大的数据,一次训练所选取的样本数。
network.fit(train_images, train_labels, epochs=22, batch_size=128, verbose=1) #verbose:日志显示 0 为不在标准输出流输出日志信息 1 为输出进度条记录
#2 为每个epoch输出一行记录
#测试集上测试模型性能
#y_pre = network.predict(test_images[:5]) #预测前五张图片的,model.predict 实际预测,其输出是目标值,根据输入数据预测。
#print(y_pre, test_labels[:5])
test_loss, test_accuracy = network.evaluate(test_images, test_labels) #model.evaluate函数预测给定输入的输出
print("test_loss:", test_loss, " test_accuracy:", test_accuracy)
print(network.summary()) #查看神经网络model结构
此文仅供学习参考使用,若有不正确需要补充的地方欢迎指正。
零基础Python学习资源介绍
Python学习路线汇总
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(学习教程文末领取哈)
Python必备开发工具
温馨提示:篇幅有限,已打包文件夹,获取方式在:文末
Python学习视频600合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
100道Python练习题
检查学习结果。
面试刷题
上述这份完整版的Python全套学习资料已经上传CSDN官方,朋友们如果需要可以微信扫描下方CSDN官方认证二维码输入“领取资料” 即可领取。