博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
『TensorFlow』线程控制器类&变量作用域
阅读量:6186 次
发布时间:2019-06-21

本文共 1122 字,大约阅读时间需要 3 分钟。

线程控制器类

线程控制器原理:

监视tensorflow所有后台线程,有异常出现(主要是越界,资源循环完了)时,其should_stop方法就会返回True,而它的request_stop方法则用于要求各个线程安全退出。需要使用local变量,初始化时注意。

coord = tf.train.Coordinator()  # 线程控制器threads = tf.train.start_queue_runners(coord=coord) # 启动队列try:    while not coord.should_stop():        # 定义训练状态报告即可,轮数等信息会在数据生成流程中规定        passexcept tf.errors.OutOfRangeError:            saver.save(sess, os.path.join(model_path, 'fast_style_model'))            tf.logging.info('Epoch limit reached')        finally:            coord.request_stop()coord.join(threads)

变量作用域

同一个变量如果有不同的数据流(计算图中不同的节点在不同的时刻去给同一个节点的同一个输入位置提供数据),

  • Variable变量会创建两个不同的变量节点去接收不同的数据流
  • get_variable变量在reuse为True时会使用同一个变量应付不同的数据流

tf.get_variable()初始化较为繁琐,所以tf.variable_scope有initializer方法为域下变量添加默认初始化方式。

tf.Variable()                                           # 声明变量tf.get_variable()                                       # 声明变量tf.global_variables_initializer()                       # 激活变量
变量作用域的复用对RNN和GAN网络都很重要
加深理解变量作用域
1.上下文仅在命名时用以区分,不影响调用,所以下面的变量在上下文外引用依然不报错(此时名称已经生成)
2.可以通过引用上下文代号载入/重用作用域!?
3.存在载入关系时,忽略当前域位置的上层域(细想的话也理应如此)
4.可以通过变量域为域内初始化添加默认参数
5.get函数得到的变量名只继承变量域,不继承名称域

转载地址:http://lboda.baihongyu.com/

你可能感兴趣的文章
Python基础-socketserver
查看>>
agc001E BBQ Hard
查看>>
伏羲八卦、文王六十四卦、老子阴阳太极、西方哲学辩证与"解耦和复用”思想的异曲同工之妙...
查看>>
bind函数作用、应用场景以及模拟实现
查看>>
C++中引用传递与指针传递区别
查看>>
07hibernate_one2one_ufk_1
查看>>
第4課 部屋に机といずがあらます。
查看>>
问答系统总结
查看>>
异步编程Task
查看>>
PAT 1142 Maximal Clique[难]
查看>>
对生信与计算生物的一点认识[转载]
查看>>
16解释器模式Interpreter
查看>>
Tomcat访问路径去掉发布项目的项目名称
查看>>
Javascript 的addEventListener()及attachEvent()区别分析
查看>>
远程链接linux
查看>>
Images.xcassets
查看>>
如何显示Magento 错误信息!Magento install error – Exception printing
查看>>
leetcode560
查看>>
java web学习总结(二十三) -------------------编写自己的JDBC框架
查看>>
日期格式化工具方法
查看>>