神经网络八股笔记整理

神经网络八股

人工智能实践:Tensorflow笔记  主讲人:曹健

来源慕课

import

导包

​import tensorflow as tf​

train, test

切分数据集,训练集数据x_train、训练集标签x_test、测试集数据y_train、测试集标签y_test

model = tf.keras.models.Sequential

Sequential函数是一个容器,通过指定参数来生成一个网络层

  • 拉直层
​tf.keras.layers.Flatten()​
  • 全连接层
​tf.keras.layers.Dense(神经元个数,activation="激活函数",kernel_regularizer="正则化方式")​

激活函数可选:​relu, softmax, sigmoid, tanh​等

正则化方式可选:​tf.keras.regularizers.l1(), tf.keras.regularizers.l2()

  • 卷积层
​​tf.keras.layers.Conv2D(filter=卷积核个数,kernel_size=卷积核尺寸, strides=步长, padding="valid" or "same")
  • LSTM层
​​tf.keras.layers.LSTM()

长短记忆神经网络

model.compile

选择训练时使用的优化器、损失函数和最终评价标准

​model.compile(optimizer=优化器, loss=损失函数, metrics=["准确率"])​

其中优化器可选:​

'sgd'​ or ​​tf.keras.optimizers.SGD(lr=学习率, decay=学习衰减率, momentum=动量参数)​

'adagrad' or tf.keras.optimizers.Adagrad(lr=学习率)

'adadelta' or tf.keras.optimizers.Adadelta(lr=学习率)

'adam' or tf.keras.optimizers.Adam(lr=学习率, decay=学习衰减率, beta_1=0.9, beta_2=0.999)

损失函数可选:​

'mse' or tf.keras.losses.MeanSquaredError()

'sparse_categorical_crossentropy' or tf.keras.losses.SparseCategoricalCrossentropy(from_logits=Faslse)

metrics可选:

​'accuracy':y_和y都是数值表示,如y_=[1] y=[1]

'categorical_accuracy':y_和y都是以one_hot和概率分布表示,如y_=[0, 1, 0] y=[0.15, 0.35, 0.5]

'sparse_categorical_accuracy':y_以数值形式标志,y以one_hot形式表示,如y_=[1] y=[0.15, 0.35, 0.5]

model.fit

用于执行训练过程

​​model.fit(训练集的输入特征,

    训练集的标签,

    batch_size=,

    eopchs=,

    validation_data=(测试集的输入特征, 测试集的标签),

    validation_split=从训练集划分多少给测试集,

    validation_freq=多少次epoch测试一次)​

model.summary

用于打印网络的结构和参数统计

示例代码

import tensorflow as tf
from sklearn import datasets
import numpy as np
# 切分训练集和测试集
x_train = datasets.load_iris().data
y_train = datasets.load_iris().target
# 生成训练集和测试集
np.random.seed(116)
np.random.shuffle(x_train)
np.random.seed(116)
np.random.shuffle(y_train)
tf.random.set_seed(116)
# 构建模型-3个神经元的全连接层
model = tf.keras.models.Sequential([
    tf.keras.layers.Dense(3, activation='softmax', kernel_regularizer=tf.keras.regularizers.l2())
])
# 配置模型
model.compile(optimizer=tf.keras.optimizers.SGD(lr=0.1),
              loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=False),
              metrics=['sparse_categorical_accuracy'])
# 训练模型
model.fit(x_train, y_train, batch_size=32, epochs=500, validation_split=0.2, validation_freq=20)
# 打印模型结构
model.summary()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值