• 构建网络基础


    顺序模型用的多
    # Sequential按顺序构成的模型
    from keras.models import Sequential
    # 构建一个顺序模型
    model = Sequential()
    
    #model中添加层
    #方法一
    # 构建一个顺序模型
    model = Sequential()
    # 在模型中添加一个全连接层
    # 1-10-1
    model.add(Dense(units=10,input_dim=1,activation='relu'))
    # model.add(Activation('tanh'))
    model.add(Dense(units=1,activation='relu'))
    # model.add(Activation('tanh'))
    #方法二
    # 创建模型
    model = Sequential([
            Dense(units=200,input_dim=784,bias_initializer='one',activation='tanh',kernel_regularizer=l2(0.0003)),
            Dense(units=100,bias_initializer='one',activation='tanh',kernel_regularizer=l2(0.0003)),
            Dense(units=10,bias_initializer='one',activation='softmax',kernel_regularizer=l2(0.0003))
        ])
        
    #全连接层
    # Dense全连接层
    from keras.layers import Dense
    
    # 构建一个顺序模型
    model = Sequential()
    # 在模型中添加一个全连接层
    # 1-10-1
    model.add(Dense(units=10,input_dim=1,activation='relu'))
    # model.add(Activation('tanh'))
    model.add(Dense(units=1,activation='relu'))
    # model.add(Activation('tanh'))
    # 创建模型,输入784个神经元,输出10个神经元
    model = Sequential([
          Dense(units=10,input_dim=784,bias_initializer='one',activation='softmax')
        ])
    #卷积的层
    from keras.layers import Dense,Dropout,Convolution2D,MaxPooling2D,Flatten
    
    # 第一个卷积层
    # input_shape 输入平面
    # filters 卷积核/滤波器个数
    # kernel_size 卷积窗口大小
    # strides 步长
    # padding padding方式 same/valid
    # activation 激活函数
    model.add(Convolution2D(
        input_shape = (28,28,1),
        filters = 32,
        kernel_size = 5,
        strides = 1,
        padding = 'same',
        activation = 'relu'
    ))
    # 第一个池化层
    model.add(MaxPooling2D(
        pool_size = 2,
        strides = 2,
        padding = 'same',
    ))
    # 第二个卷积层
    model.add(Convolution2D(64,5,strides=1,padding='same',activation = 'relu'))
    # 第二个池化层
    model.add(MaxPooling2D(2,2,'same'))
    # 把第二个池化层的输出扁平化为1维
    model.add(Flatten())
    # 第一个全连接层
    model.add(Dense(1024,activation = 'relu'))
    # Dropout
    model.add(Dropout(0.5))
    # 第二个全连接层
    model.add(Dense(10,activation='softmax'))
    #指定优化器
    #定义优化器,loss function,训练过程中计算准确率
    model.compile(optimizer=adam,loss='categorical_crossentropy',metrics=['accuracy'])
    
    #optimizer:这个可以使用keras准备好的优化器,'adam',sgd但是这些优化算法参数固定。可以自己定义
    #loss:损失函数,交叉熵:'categorical_crossentropy'。均方误差:'mse'
  • 相关阅读:
    类型检查-类型表达式:类型系统是一种逻辑系统
    计算机程序是建立在计算机硬件和一系列规则、协议、规范、算法基础之上的;
    类型的基石:数据类型、函数类型
    类型安全
    类型检查-类型系统
    动态类型-类型绑定
    类型安全与类型检查是什么?
    怎样写一个新编程语言
    同名的cookie会不会存在多个
    php array_map与array_walk使用对比
  • 原文地址:https://www.cnblogs.com/yunshangyue71/p/13584457.html
Copyright © 2020-2023  润新知