训练的模型应用于口罩识别系统
今天要分析的一段代码:引入的库和函数
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
import numpy as np
import random
import tensorflow as tf
from PIL import Image
from keras import layers
from tensorflow.keras.layers import Dense, Convolution2D, MaxPooling2D, Flatten
from keras.layers import Input, Dense
from keras.models import Model, Sequential
from keras.layers import Convolution2D, MaxPooling2D, Reshape, BatchNormalization
from keras.layers import Dropout, Flatten, Cropping2D, Lambda
from keras.optimizers import Adam
from keras.preprocessing.image import ImageDataGenerator
1.os
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
导入os模块并设置log输出信息,也就是程序运行时系统打印的信息。
这里设置为2,说明会显示warning,error和fatal
详情:https://blog.csdn.net/c20081052/article/details/90230943
2.numpy
import numpy as np
NumPy 是一个 Python 包。 它代表 “Numeric Python”。 它是一个由多维数组对象和用于处理数组的例程集合组成的库。
3.random
import random
random 随机函数
4.tensorflow
import tensorflow as tf
导入tensorflow深度学习框架
5.image
from PIL import Image
PIL是python常用的图像处理库
Image模块是在Python PIL图像处理中常见的模块,对图像进行基础操作的功能基本都包含于此模块内。
详情:https://blog.csdn.net/zhangziju/article/details/79123275
6.layers 神经层
from keras import layers
from tensorflow.keras.layers import Dense, Convolution2D, MaxPooling2D, Flatten
keras.layers.Dense 全连接层
keras.layers.Convolution2D 卷积层
keras.layers.MaxPooling2D 池化层
keras.layers.Flatten 将数据铺平,即展成一维(一般在卷积层和全连接层之间)
from keras.layers import Input, Dense
keras.layers.Input输入层
(???为什么不和上面的写在一起???而且为什么又写了个dense???)
from keras.layers import Convolution2D, MaxPooling2D, Reshape, BatchNormalization
(???…又引入了convolution2D和MaxPooling2D???)
keras.layers.Reshape 实现keras不同层的对接
详情:https://blog.csdn.net/ybdesire/article/details/113855266
keras.layers.BatchNormalization 数据归一化(貌似是最后将数据转化到[0,1]内)
详情:https://blog.csdn.net/pipisorry/article/details/95906888
from keras.layers import Dropout, Flatten, Cropping2D, Lambda
keras.layers.Dropout 防止过拟合现象
详情:https://blog.csdn.net/Axiaobai12138/article/details/109768278
keras.layers.Cropping 2D 二维信号裁剪
详情:https://blog.csdn.net/LoseInVain/article/details/80488645
keras.layers.Lamda
指定在神经网络模型中,如果某一层需要通过一个函数去变换数据,那利用keras.layers.Lambda()这个函数单独把这一步数据操作命为单独的一Lambda层。
详情:https://blog.csdn.net/weixin_43935696/article/details/112094223
7.keras.models
from keras.models import Model, Sequential
keras里的两种模型
Model:通用模型
Sequential:序列模型
详情:https://blog.csdn.net/qq_40199232/article/details/106697491
8.keras.optimizers.Adam
from keras.optimizers import Adam
Adam是一个学习率优化器。
在梯度下降法中,随着训练的深入减小学习率以避免错过最优解
详情:https://blog.csdn.net/I_canjnu/article/details/106035640
9.keras.preprocessing.image.ImageDataGenerator
from keras.preprocessing.image import ImageDataGenerator
keras中的图片生成器
总结:
对tensorflow和keras有了更深入的理解,之前的卷积神经网络结构基础学习对今天的代码理解有很大帮助。不过为什么这代码有许多重复呀歪(肯定不是不小心写多了吧,不会吧,真的不会吧,一定是老师的代码有什么我还没有理解的深层意图!一定是这样!)。许多函数需要继续深耕,加油,奥里给!
ps.写这篇博客前
写完这篇博客后
继续学习ing…