最近又再次学习了一些卷积神经网络,有了一些深层的理解
1、工具安装
安装tensorflow和keras又花了一番功夫,找到了一篇还不错的安装博客,链接如下:
Anaconda下安装Tensorflow和Keras的安装教程
现在使用比较多
值得注意的是
我们使用anaconda进行安装,因为keras还需要这几个库的支持,然后再安装上面链接的那一篇博客安装。
pip install numpy
pip install matplotlib
pip install scipy
pip install tensorflow
pip install keras
2、理解和感悟
(1) 优化器Optimizer
其中,优化器有以下这些
深度学习——优化器算法Optimizer详解(BGD、SGD、MBGD、Momentum、NAG、Adagrad、Adadelta、RMSprop、Adam)
当然比较常用的是SGD,即随机梯度下降算法。
随机梯度下降b站教程
(2)Alex经典cnn网络
AlexNet的整个网络结构就是由5个卷积层和3个全连接层组成的,深度总共8层
# 导包
import keras
from keras.models import Sequential
from keras.layers import Dense,Activation,Dropout,Flatten,Conv2D,MaxPool2D
from keras.layers.normalization import BatchNormalization
import numpy as np
np.random.seed(1000)
# 获取数据
import tflearn.datasets.oxflower17 as oxflower17
x,y = oxflower17.load_data(one_hot=True)
# 定义AlexNet模型
model = Sequential()
# 1block
model.add(Conv2D(filters = 97,
kernel_size = (11,11),
strides = (4,4),
padding = "valid",
input_shape = (224,224,3)))
model.add(Activation("relu"