第一节:Keras深度学习框架之环境搭建

请在学习本节前阅读我们之前的预热课程:

卷积神经网络的框架解读(上)_BBM的开源HUB的博客-CSDN博客

卷积神经网络的框架解读(下)_BBM的开源HUB的博客-CSDN博客

从本节开始,我们将进入到Keras的详细介绍和代码精读,为开始我们的Keras之行,我们首先要搭建一个学习平台。现在让我们开始吧。

一:环境准备

1、安装anaconda

下载地址:Anaconda | Individual Edition

根据需要,下载你需要版本,如果你是windows操作系统就下载:“64-Bit Graphical Installer ”,如果你是linux就下载:64-Bit (x86) Installer,下载完后,安装anaconda。

Windows平台

双击安装文件Anaconda3-2021.11-Windows-x86_64.exe开始安装,注意在这里要全部选上:

 注意安装文件的文件名,可以在不同时期会因为版本号的不同有变化,大家可灵活安装

Linux平台

bash Anaconda3-2021.11-Linux-x86_64.sh

 linux平台在阅读授权文件后,就是一路yes,安装完后,重启电脑。

2、创建工作环境

conda create -n keras python=3.8

3、进入工作环境

conda activate keras

4、安装tensorflow

电脑仅有CPU的安装这个

conda install tensorflow

电脑有GPU的安装这个

conda install tensorflow-gpu

其他关联包的安装

conda install tensorboard

安装keras

conda install keras

二:安装编译环境

我们这里介绍使用jupyter,主要原因是代码量比较小,同时在做深度学习的时候可以对每一行代码进行调试,所以这里我们使用jupyter搭建编译环境。

conda install nb_conda

启动jupyter

jupyter notebook &

启动后的界面如下:

 在New处创建一个新的notebook,如下图:

 三:安装环境的验证及keras初体验

1、在第一行,我们导入keras输入:

import keras

 2、导入模型,我们以序惯模型为例

from keras.models import Sequential

3、定义模型对象

Model = Sequential()

4、添加模块

Model.add(layer)

5、导入全连结层

from keras.layer import Dense

6、导入优化器

from keras import optimizers

7、使用随机梯度下降法

optimizers.SGD(lr=0.01, momentum=0.0, decay=0.0, nesterov=False)

lr : learn rate, momentum : 冲量, decay : 衰减函数, netsterov:是否使用牛顿动量

四:keras函数简介

显示keras的功能模块和简介。

dir (keras)
['Input',
 'Model',
 'RandomRotation',
 'Sequential',     #上面这四个模块是以前的老模块,新的版本已将融合到下面的模块里去了。
 '__builtins__',
 '__cached__',
 '__doc__',
 '__file__',
 '__loader__',
 '__name__',
 '__package__',
 '__path__',
 '__spec__',
 '__version__',    #这十个是内置函数
 'activations',    #激活函数
 'applications',   #应用,里面提供了训练好的keras模型
 'backend',        #后端函数,keras通过他调用后端函数。
 'callbacks',      #回调函数,在高阶应用时训练网络内部的状态。
 'constraints',    #约束项
 'datasets',       #keras自带的数据集
 'engine',         #引擎模块,是列层的核心代码
 'initializers',   #初始化方法
 'layers',         #重点层,比如dense,
 'losses',         #损失函数,比如均方差,交差商等,用来衡量网络训练的好坏。
 'metrics',        #评估函数,用他来评价神经网络的性能
 'models',         #模型库
 'optimizers',     #优化器,编译用的模块
 'preprocessing',  #预处理模块
 'regularizers',   #正则化方法,防止神经网在训练过程中的过拟合。
 'utils',          #工具模块,包括数据转换和一些数学方法
 'wrappers'  ]     #包装器