zoukankan      html  css  js  c++  java
  • TensorFlow命令行参数FLAGS使用

    import os
    os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
    
    import tensorflow as tf
    
    #tensorboard --logdir="./"
    
    # 命令行参数     python x.py --max_step=500
    tf.app.flags.DEFINE_integer("max_step",1000,"train step number")
    
    FLAGS = tf.app.flags.FLAGS
    
    def linearregression():
    
        with tf.variable_scope("original_data"):
            X = tf.random_normal([100,1],mean=0.0,stddev=1.0)
            y_true = tf.matmul(X,[[0.8]]) + [[0.7]]
    
        with tf.variable_scope("linear_model"):
            weights = tf.Variable(initial_value=tf.random_normal([1,1]))
            bias = tf.Variable(initial_value=tf.random_normal([1,1]))
            y_predict = tf.matmul(X,weights)+bias
    
        with tf.variable_scope("loss"):
            loss = tf.reduce_mean(tf.square(y_predict-y_true))
    
        with tf.variable_scope("optimizer"):
            optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.01).minimize(loss)
    
        #收集观察张量
        tf.summary.scalar("losses",loss)
        tf.summary.histogram("weight",weights)
        tf.summary.histogram("biases",bias)
        #合并收集的张量
        merge = tf.summary.merge_all()
    
        init = tf.global_variables_initializer()
    
        saver = tf.train.Saver()
        with tf.Session() as sess:
            sess.run(init)
            # print(weights.eval(),bias.eval())
            # # 模型加载
            # saver.restore(sess,"./model/linearregression")
            # print(weights.eval(),bias.eval())
            filewriter = tf.summary.FileWriter("./tmp",graph=sess.graph)
            for i in range(FLAGS.max_step):
                sess.run(optimizer)
                print("loss:", sess.run(loss),i)
                print("weight:", sess.run(weights))
                print("bias:", sess.run(bias))
                summary = sess.run(merge)
                filewriter.add_summary(summary,i)
    
            #checkpoint文件,模型保存
            saver.save(sess,"./model/linearregression")
    
    if __name__ == '__main__':
        linearregression()
    

      

    多思考也是一种努力,做出正确的分析和选择,因为我们的时间和精力都有限,所以把时间花在更有价值的地方。
  • 相关阅读:
    LOJ3160 「NOI2019」斗主地
    常系数齐次线性递推
    最小树形图——朱刘算法学习小记
    Linux系统分区(一)
    Linux系统启动过程(二)
    Linux系统目录结构(三)
    cross_val_score
    sklearn.pipeline.Pileline
    DBSCAN密度聚类算法
    特征选择
  • 原文地址:https://www.cnblogs.com/LiuXinyu12378/p/12246424.html
Copyright © 2011-2022 走看看