zoukankan      html  css  js  c++  java
  • 学习进度笔记12

    观看Tensorflow案例实战视频课程12 卷积神经网络模型参数

    def conv_basic(_input,_w,_b,_keepratio):
        #INPUT
        _input_r=tf.reshape(_input,shape=[-1,28,28,1])
        #CONV LAYER 1
        _conv1=tf.nn.conv2d(_input_r,_w['wc1'],strides=[1,1,1,1],padding='SAME')
        #_mean,_var=tf.nn.moments(_conv1,[0,1,2])
        #_conv1=tf.nn.batch_normalization(_conv1,_mean,_var,0,1,0.0001)
        _conv1=tf.nn.relu(tf.nn.bias_add(_conv1,_b['bc1']))
        _pool1=tf.nn.max_pool(_conv1,ksize=[1,2,2,1],strides=[1,2,2,1],padding='SAME')
        _pool_dr1=tf.nn.dropout(_pool1,_keepratio)
        #CONV LEYER 2
        _conv2=tf.nn.conv2d(_pool_dr1,_w['wc2'],strides=[1,1,1,1],padding='SAME')
        #_mean,_var=tf.nn.moments(_conv2,[0,1,2])
        #_conv2=tf.nn.batch_normalization(_conv2,_mean,_var,0,1,0.0001)
        _conv2=tf.nn.relu(tf.nn.bias_add(_conv2,_b['bc2']))
        _pool2=tf.nn.max_pool(_conv2,ksize=[1,2,2,1],strides=[1,2,2,1],padding='SAME')
        _pool_dr2=tf.nn.dropout(_pool2,_keepratio)
        #VECTORIZE
        _densel=tf.reshape(_pool_dr2,[-1,_w['wd1'].get_shape().as_list()[0]])
        #FULLY CONNECTED LAVER 1
        _fc1=tf.nn.relu(tf.add(tf.matmul(_densel,_w['wd1']),_b['bd1']))
        _fc_dr1=tf.nn.dropout(_fc1,_keepratio)
        #FULLY CONNECTED LAVER 2
        _out=tf.add(tf.matmul(_fc_dr1,_w['wd2']),_b['bd2'])
        #RETURN
        out={'input_r':_input_r,'conv1':_conv1,'pool1':_pool1,'pool1_dr1':_pool_dr1,
            'conv2':_conv2,'pool2':_pool2,'pool_dr2':_pool_dr2,'densel':_densel,
            'fc1':_fc1,'fc_dr1':_fc_dr1,'out':_out 
        }
        return out
    print("CNN READY")
    
    a=tf.Variable(tf.random_normal([3,3,1,64],stddev=0.1))
    print(a)
    a=tf.Print(a,[a],"a;")
    init=tf.global_variables_initializer()
    sess=tf.Session()
    sess.run(init)
    #sess.run(a)
    
    print(help(tf.nn.conv2d))
    print(help(tf.nn.max_pool))
    
    x=tf.placeholder(tf.float32,[None,n_input])
    y=tf.placeholder(tf.float32,[None,n_output])
    keepratio=tf.placeholder(tf.float32)
    
    #FUNCTIONS
    
    _pred=conv_basic(x,weights,biases,keepratio)['out']
    cost=tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(_pred,y))
    optm=tf.train.AdamOptimizer(learning_rate=0.001).minimize(cost)
    _corr=tf.equal(tf.argmax(_pred,1),tf.argmax(y,1))
    accr=tf.reduce_mean(tf.cast(_corr,tf.float32))
    init=tf.global_variables_initializer()

    #SAVER
    print("GRAPH READY")
    sess=tf.Session()
    sess.run(init)
    
    training_epochs=15
    batch_size=16
    display_step=1
    for epoch in range(training_epochs):
        avg_cost=0
        #total_batch=int(mnist.train.num_examples/batch_size)
        total_batch=10
        #Loop over all batches
        for i in range(total_batch):
           batch_xs,batch_ys=mnist.train.next_batch(batch_size)
           #Fit training using batch data
           sess.run(optm,feed_dict={x:batch_xs,y:batch_ys,keepratio:0.7})
           #Compute average loss
           avg_cost+=sess.run(cost,feed_dict={x:batch_xs,y:batch_ys,keepratio:1.})/total_batch
        
        #Display logs per epoch step
        if epoch % display_step==0:
            print("Epoch:%03d/%03d cost:%.9f" % (epoch,training_epochs,avg_cost))
            train_acc=sess.run(accr,feed_dict={x:batch_xs,y:batch_ys,keepratio:1.})
            print("Training accuracy:%.3f" % (train_acc))
            #test_acc=sess.run(accr,feed_dict={x:testimg,y:testlabel,keepratio:1.})
            #print("Test accuracy:%.3f" % (test_acc))
            
    print("OPTIMIZATION FINISHED")
  • 相关阅读:
    JavaScript数字和字符串转换示例
    Angular CLI 使用教程指南参考
    angular2 post以“application/x-www-form-urlencoded”形式传参的解决办法
    Arison [JS]window.location获取url各项参数详解
    $.ajaxComplete()
    angular2 编写公用组件
    获取本周、本季度、本月、上月的开端日期、停止日期
    Angular2
    轮播图插件 SuperSlide2.1滑动门jQuery插件
    书写Css文件要点
  • 原文地址:https://www.cnblogs.com/zql-42/p/14624741.html
Copyright © 2011-2022 走看看