Keras使用手册

Keras介绍

简介

Keras是更高层的深度学习框架,它可以运行在其它的底层框架上面,包括TensorFlow和CNTK。也就是说,keras内部会调用tensorflow来完成任务。换句话说,就是keras比tensorflow更加方便。

导入keras

# 根据代码需要导入相应的函数
from keras import layers
from keras.layers import Input, Dense, Activation, ZeroPadding2D, BatchNormalization, Flatten, Conv2D
from keras.layers import AveragePooling2D, MaxPooling2D, Dropout, GlobalMaxPooling2D, GlobalAveragePooling2D
from keras.models import Model
from keras.preprocessing import image
from keras.utils import layer_utils
from keras.utils.data_utils import get_file
from keras.applications.imagenet_utils import preprocess_input
import pydot
from keras.utils.vis_utils import model_to_dot
from keras.utils import plot_model
import keras.backend as K
K.set_image_data_format('channels_last')

Keras构建模型

def model(input_shape):
    # 定义一个占位符X_input,input_shape中包含了占位符的维度信息. 
    X_input = Input(input_shape)

    # 给占位符矩阵的周边填充0
    X = ZeroPadding2D(padding = (3, 3))(X_input)

    # 构建一个卷积层,并对结果进行BatchNormalization操作,然后送入激活函数
    X = Conv2D(32, (7, 7), strides = (1, 1), name = 'conv0')(X)
    X = BatchNormalization(axis = 3, name = 'bn0')(X)
    X = Activation('relu')(X)

    # 构建MAXPOOL层
    X = MaxPooling2D((2, 2), name='max_pool')(X)

    # 将矩阵扁平化成向量,然后构建一个全连接层
    X = Flatten()(X)
    X = Dense(1, activation='sigmoid', name='fc')(X)

    # 构建一个keras模型实例,后面会通过这个实例句柄来进行模型的训练和预测
    model = Model(inputs = X_input, outputs = X, name='HappyModel')

    return model
  • keras编程中喜欢复用变量,这点与我们使用numpy和tensorflow编程时不同。在之前的实战编程中,我们会定义很多个变量,X, Z1, A1, Z2, A2,等等。而在上面的代码中,X作为每一层的输入,然后这一层的输出又会存储到X中。

使用keras框架训练测试步骤

  1. 调用上面的函数来创建一个模型实例。

  2. 调用model.compile(optimizer = "...", loss = "...", metrics = ["accuracy"])来编译那个模型实例

    Model.compile('adam', 'binary_crossentropy', metrics=['accuracy'])
    
  3. 调用model.fit(x = ..., y = ..., epochs = ..., batch_size = ...)来训练模型实例

    Model.fit(X_train, Y_train, epochs=40, batch_size=50)
    
  4. 调用 model.evaluate(x = ..., y = ...)来测试模型

    preds = Model.evaluate(X_test, Y_test, batch_size=32, verbose=1, sample_weight=None)
    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值