搭建网络八股

用Tensorflow API:tf.keras搭建网络八股

六步法

import

train,test

model=tf.keras.models.Sequential

model.compile

model.fit

model.summary:可以打印出网络的结构和参数统计

model=tf.keras.models.Sequential([网络结构]) #表述各层网络

#拉直层
tf.keras.layers.Flatten()

#全连接层
tf.keras.layer.Dense(神经元个数,activation='激活函数',kernel_regularizer=正则化)
#activation(字符串给出):relu,softmax,sigmoid,tanh
#kernel_regularizer:tf.keras.regularizers.l1(),tf.keras.regularizers.l2()

#卷积层
tf.keras.layers.Conv2D(filters=卷积核个数,kernwl_size=卷积核大小,strides=卷积步长,padding='valid'or'same')

#LSTM层
tf.keras.layer>LSTM()
model.compile(optimizer=优化器,loss=损失函数,metrics=['准确率']

#optimizer可选
'sgd' or tf.keras.optimizer.SGD(lr=学习率,momentum=动量参数)
'adagrad' or tf.keras.optimizer.Adagrad(lr=学习率)
'adadelts' or tf.keras.optimizers.Adadelta(lr=学习率)
'adam' or tf.keras.optimizers.Adam(lr=学习率,beta_1=0.9,beta-2=0.999)

#loss可选
'mse' or tf.keras.losses.MeanSquaredError()
'sparse_categorical_crossentropy' or tf.keras.losses.SparseCategoricalCrossentropy(from_logits=False) #是否是原始输出,有无经概率分布的输出

#metrics可选
'accuracy':y_和y都是数值,如y_=[1],y=[1]
'categorical_accuracy': y_和y都是独热编码(概率分布),如y_=[0,1,0],y=[0.256,0.695,0.048]
'sparse_categorical_accuracy':y_是数值,y是独热编码(概率分布),如y_=[1],y=[0.256,0.695,0.048]

model.fit(训练集的输入特征,训练集的标签,batch_size=batch大小,epochs=循环次数,
           validation_data=(测试集的输入特征,测试集的标签),
           validation_split=从训练集划分多少比例给测试集,
           validation_freq=多少次epoch测试一次) 

 示例

# todo 1.导包
import tensorflow as tf
from sklearn import datasets
import numpy as np

# todo 2.获取数据
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)
np.random.seed(116)

# todo 3.描述网络结构
model = tf.keras.models.Sequential([
    tf.keras.layers.Dense(3, activation='softmax', kernel_regularizer=tf.keras.regularizers.l2())
])

# todo 4.优化器,损失函数
model.compile(optimizer=tf.keras.optimizers.SGD(lr=0.1),
              loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=False),
              metrics=['sparse_categorical_accuracy']
              )

# todo 5.训练
model.fit(
    x_train, y_train, batch_size=32, epochs=500, validation_split=0.2, validation_freq=20
)

# todo 6.打印网格结构和参数统计
model.summary()

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值