• 手写数字识别多层网络


    当中间多一层时,如64个神经元,只需设两个w,两个b,依次类推,每增加一层增加一个w和一个b

    w1 = tf.Variabel(tf.random.normal([784, 64], mean = 0.0, stddev = 1.0, dtype = tf.float32))
    b1 = tf.Variable(tf.zeros[64], dtype = tf.float32)
    
    w2 = tf.Variable(tf.random.normal([64, 10], mean = 0.0, stddev = 1.0, dtype = tf.float32))
    b2 = tf.Variable(tf.zeros[10], dtype = tf.float32)
    
    #将两个w,两个b分别合在一起,称为两个list
    w = [w1, w2]
    b = [b1, b2]

    MODEL:

    def model(x, y, w, b):
        x = tf.matmul(x, w[0]) + b[0]
        x = tf.nn.relu(x)
        return tf.nn.softmax(tf.matmul(x, w[1]) + b[1])

    其它不用修改

    使用keras序列模型建模

    #输入数据不需要cast,也不需要将一个图片拉成一维,标准化即可
    train_images = train_images / 255.0
    test_images = test_images / 255.0

    创建模型:

    #首先建立一个模型对象
    model = tf.keras.models.Sequential()
    #添加输入层,即平坦层,将输入数据拉成一维
    model.add(tf.keras.layers.Flatten(input_shape = (28, 28)))
    #添加全连接层,设置神经元个数,初始化数值,激活函数
    model.add(tf.keras.layers.Dense(units = 64, kernel_initializer = 'nolmal', activation = 'relu'))
    #添加最后一层,也设置为全连接层
    model.add(tf.keras.layers.Dense(10, activation = 'softmax'))
    #使用.sumary()可查看模型各层情况
    model.sumary()
    #以上建模也可以一次性完成
    model = tf.keras.models.Sequential([tf.keras.layers.Flatten(input_shape = (28, 28)), tf.keras.layers.Dense(64, activation = 'relu'), tf.keras.layers.Dense(10, activation = 'softmax')])
    #定义训练模式,包括优化器、损失函数、评估方式
    model.compile(optimizer = 'adam', loss = 'categorical_crossentropy', metrics = ['accuracy'])
    #可以是=字符串 也可以直接一个对象
    #模型训练
    model_history = model.fit(train_image, train_labels_one_hot, validation_split = 0.2, epochs = 20, batch_size = 30, verbose = 2)
    
    #标签集为one_hot后的,validation_split表示验证集的比例,剩下的为训练集
    #verbose:训练过程的信息显示,0不输出,1输出进度条记录,2为每个epoch输出一行信息

    若不对标签进行one_hot,则要改变损失函数

    自己选择的路,跪着也要走完。朋友们,虽然这个世界日益浮躁起来,只要能够为了当时纯粹的梦想和感动坚持努力下去,不管其它人怎么样,我们也能够保持自己的本色走下去。
  • 相关阅读:
    Entity Framework 教程
    C# yield
    表达式树系列文章汇总
    C#中静态与非静态方法比较
    谈谈对Spring IOC的理解
    工厂方法模式与IoC/DI
    通过配置的方式Autofac 《第三篇》
    Autofac 组件、服务、自动装配 《第二篇》
    Autofac 解释第一个例子 《第一篇》
    SQL Server索引调优系列
  • 原文地址:https://www.cnblogs.com/WTSRUVF/p/15046755.html
Copyright © 2020-2023  润新知