深度学习分享4:tensorflow keras介绍

tensorflow高级API:tf.keras

keras介绍:
1、keras是一个高层神经网络API,比较人性化,语言简洁
2、keras具有模块化的特点,网络层、损失函数、优化器、初始化策略、激活函数、正则化方法都是独立的模块
3、添加新模块超级容易,只需要仿照现有的模块编写新的类或函数即可。创建新模块的便利性使得Keras更适合于先进的研究工作。
搭建网络步骤:

1 import相关模块

2 train,test数据导入

并指定x_train,y_train,x_test,y_test。

3 搭建神经网络

model=tf.keras.models.Sequential([ 网络结构])逐层搭建神经网络,相当于走了一遍前向传播。
比如拉直层是:tf.keras.layers.Flatten()作用是把数据拉直成为一维列向量然后输入神经元第一层
全连接层(FC):tf.keras.layers.Dense(神经元个数,activation=‘激活函数’,kernel_regularizer=哪种正则化)
正则化的基本思想是惩罚大的权重,使得网络更加稳定
激活函数一般有:relu softmax sigmoid tanh
kernel_regularizer可选tf.keras.regularizers.l1(),tf.keras.regularizers.l2()
卷积层(CNN):tf.keras.layers.Conv2D(filters= 卷积层个数,kernel_size=卷积核尺寸,strides=卷积步长,padding=‘valid’ or ‘same’)
循环神经网络层(LSTM):tf.keras.layers.LSTM()

4 训练方法

model.compile配置训练方法,告知训练时选择哪种优化器,选择哪个损失函数,选择哪种评测标准
model.compile(optimizer=‘优化器’,loss=损失函数,metrics=[‘准确率’])
optimizer可选:
sgd
adagrad
adadelta
adam
loss可选:
mse
sparse_categorical_crossentropy(稀疏分类交叉熵)
Metrics(度量标准)可选:
accuracy
categorical_accuracy
sparse_categorical_accuracy:其中y_是数值,y是独热码(概率分布),如y_=[0,1,0] y=[0.1,0.6,0.3],这种用的比较多,以数值形式给出标签,以概率分布形式输出

5 一些超参数设置

model.fit告知训练集和测试集的输入特征和标签,告知每个batch是多少,epoch是多少
model.fit(训练集的输入特征,训练集的标签,batch_size=,epochs=,
validation_data=(测试集的输入特征,测试集的标签),
validation_split=从训练集划分多少比例给测试集,
validation_freq=多少次epch测试一次)

6 打印出网络的结构和参数统计

summary打印出网络的结构和参数统计
相当于一个可视化工具吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值