2021-07-10学习记录 深度学习训练模型python代码分析1.0

训练的模型应用于口罩识别系统

今天要分析的一段代码:引入的库和函数

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…

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值