zoukankan      html  css  js  c++  java
  • 构建网络基础

    顺序模型用的多
    # 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'
  • 相关阅读:
    leetcode 47 Permutations II ----- java
    leetcode 46 Permutations ----- java
    leetcode 45 Jump Game II ---- java
    leetcode 44 Wildcard Matching ----java
    leetcode 43 Multiply Strings ----java
    leetcode 42 Trapping Rain Water ---java
    leetcode 41 First Missing Positive ---java
    leetcode 40 Combination Sum II --- java
    leetcode 39 Combination Sum --- java
    java 上下文切换
  • 原文地址:https://www.cnblogs.com/yunshangyue71/p/13584457.html
Copyright © 2011-2022 走看看