IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 深度学习笔记_Keras六步法搭建网络 -> 正文阅读

[人工智能]深度学习笔记_Keras六步法搭建网络

Keras六步法搭建网络,以MNIST数据集为例

一、import加载库

加载所需要的库,使用tensorflow库

import tensorflow as tf

二、设置训练集、测试集

设置所需要的训练集和测试集
Mnist数据集:共有7万张图片。其中6万张用于训练神经网络,1万张用于测试神经网络。
每张图片是一个2828像素点的0~9的手写数字图片。

(x_train, y_train)
训练集:(训练集特征,训练集标签)
(x_test, y_test)
测试集:(测试集特征,测试集标签)
特征即28
28像素点的0~9的手写数字图片
标签即对应数字

mnist = tf.keras.datasets.mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0#归一化,小数值利于神经网络运算

三、搭建神经网络

拉直层:tf.keras.layers.Flatten()
全连接层:tf.keras.layers.Dense(神经元个数,activation=”激活函数”,kernel_regularizer=正则化方式)
卷积层:tf.keras.layers.Conv2D(fliters=卷积核个数,kernel_size=卷积核尺寸,strides=卷积步长,padding=”valid”or “same”)

model = tf.keras.models.Sequential([
    tf.keras.layers.Flatten(),                #拉直层,将数据特征(图片)拉直为一维
    tf.keras.layers.Dense(128, activation='relu'),   #全连接层第一层,128个神经元,激活函数relu
    tf.keras.layers.Dense(10, activation='softmax')  #全连接层第二层,10个神经元,激活函数softmax
])

四、配置神经网络

在这里设置神经网络的优化器、损失函数及评价标准

model.compile(optimizer='adam',   #优化器
              loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=False),#输出已满足概率分布
              metrics=['sparse_categorical_accuracy'])

五、执行训练

model.fit(x_train, y_train, batch_size=32, epochs=5, validation_data=(x_test, y_test), validation_freq=1 )#迭代一次epoch,进行一次评测

六、打印网络结构及参数

model.summary()

在这里插入图片描述

代码

import tensorflow as tf

mnist = tf.keras.datasets.mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0#归一化,小数值利于神经网络运算
#搭建网络
model = tf.keras.models.Sequential([
    tf.keras.layers.Flatten(),                #拉直层
    tf.keras.layers.Dense(128, activation='relu'),   #第一层,128个神经元,激活函数relu
    tf.keras.layers.Dense(10, activation='softmax')  #第二层,10个神经元,激活函数softmax
])
#配置训练方法
model.compile(optimizer='adam',   #优化器
              #损失函数
              loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=False),#输出已满足概率分布
              #
              metrics=['sparse_categorical_accuracy'])
#执行
model.fit(x_train, y_train, batch_size=32, epochs=5, validation_data=(x_test, y_test), validation_freq=1 )#迭代一次epoch,进行一次评测
#打印网络结构和参数统计
model.summary()

使用class方法搭建网络

class MnistModel(Model):
    def __init__(self):
        super(MnistModel, self).__init__()
        self.flatten = Flatten()
        self.d1 = Dense(128, activation='relu')
        self.d2 = Dense(10, activation='softmax')

    def call(self, x):
        x = self.flatten(x)
        x = self.d1(x)
        y = self.d2(x)
        return y


model = MnistModel()

学习课程:北京大学人工智能实践-TensorFlow2.0

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-07-29 11:38:10  更:2021-07-29 11:38:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/17 20:30:54-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码