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()

  

原文地址:https://www.cnblogs.com/LiuXinyu12378/p/12246424.html

时间: 2024-10-02 00:29:59

TensorFlow命令行参数FLAGS使用的相关文章

TensorFlow-谷歌深度学习库 命令行参数

程序的入口: tf.app.run tf.app.run( main=None, argv=None ) 运行程序,可以提供'main'函数以及函数参数列表.处理flag解析然后执行main函数. 什么是flag解析呢? 由于深度学习神经网络往往需要对各种Hyperparameter调优,比如学习率,卷积核参数设置等等, 这时使用命令行调参是非常方便的. 需要用到TensorFlow框架中的tf.app.flags组件 tf.app.flags组件中提供很多自带的设置不同类型命令行参数以及其默认

python 命令行参数解析

本文是从我另一个博客转载过来的,欢迎大家点击进去看一下,帮我增加点人气^_^ ImPyy 选择模块 根据python参考手册的提示,optparse 已经废弃,应使用 argparse 教程 概念 argparse 模块使用 add_argument 来添加可选的命令行参数,原型如下: ArgumentParser.add_argument(name or flags...[, action][, nargs][, const][, default][, type][, choices][, r

命令行参数选项处理:getopt()及getopt_long()函数使用

在运行某个程序的时候,我们通常使用命令行参数来进行配置其行为.命令行选项和参数控制 UNIX 程序,告知它们如何动作.当 gcc的程序启动代码调用我们的入口函数 main(int argc,char *argv[]) 时,已经对命令行进行了处理.argc 参数包含程序参数的个数,而 argv 包含指向这些参数的指针数组. 程序的参数可以分为三种:选项,选项的关联值,非选项参数.例如: $gcc getopt_test.c -o testopt getopt_test.c是非选项参数,-o是选项,

Linux 程序设计学习笔记----命令行参数处理

转载请注明出处.http://blog.csdn.net/suool/article/details/38089001 问题引入----命令行参数及解析 在使用linux时,与windows最大的不同应该就是经常使用命令行来解决大多数问题.比如下面这样的: 而显然我们知道C语言程序的入口是mian函数,即是从main函数开始执行,而main函数的原型是: int main( int argc, char *argv[] ); int main( int argc, char **argv );

Python3-argparse模块-解析命令行参数

官方文档 http://python.usyiyi.cn/translate/python_352/library/argparse.html 代码示例 import argparse # 1.获取参数解析对象 parser = argparse.ArgumentParser(description="帮助信息前的一些描述信息,可以不写哦") # 2.添加可解析的参数 # add_argument()函数常用参数 # name or flags 选项字符串的名字或列表,例如foo或者

模块——Getopt::Long接收客户命令行参数和Smart::Comments输出获得的命令行参数内容

转载:http://www.php-oa.com/2009/04/04/perl_getopt-long.html  我们在linux常常用到一个程序需要加入参数,现在了解一下 perl 中的有关控制参数的模块 Getopt::Long ,比直接使用 @ARGV 的数组强大多了.我想大家知道在 Linux 中有的参数有二种形式. 长参数  –help 短参数   -h 也就是-和–的分别.–表示完整参数.-表示简化参数.在 Perl 的这个模块中也支持这二种方法.这要介绍的二 Getopt 其实

在Perl中使用Getopt::Long模块来接收用户命令行参数

我们在linux常常用到一个程序需要加入参数,现在了解一下perl中的有关控制参数的函数.getopt.在linux有的参数有二种形式.一种是–help,另一种是-h.也就是-和–的分别.–表示完整参数.-表示简化参数 我们在linux常常用到一个程序需要加入参数,现在了解一下 perl 中的有关控制参数的模块 Getopt::Long ,比直接使用 @ARGV 的数组强大多了.我想大家知道在 Linux 中有的参数有二种形式. •长参数  –help •短参数   -h 也就是-和–的分别.–

Python处理命令行参数

1. 将命令行参数保存在列表中,注意argv[0]是程序本身的名字: import sys print(sys.argv) print(sys.argv[1]) python argv.py localhost 3306['argv.py', 'localhost', '3306']localhost 2. 使用sys.stdin和fileinput读取标准输入,并打印在终端类似shell中的管道 import sys for line in sys.stdin: print(line,end=

python 命令行参数解析学习

argparse模块  参数好多,对这个不熟悉,不太懂命令行,很少用,先抄点说明,慢慢看着理解. 用于解析命令行选项和参数的标准模块. 使用步骤: 1: import argparse #导入模块 2: parser = argparse.ArgumentParser() #创建解析对象 3: parser.add_argument() #向该对象中添加使用到的命令行选项和参数 4: parser.parser_args() #解析命令行 ============================