TensorFlow 官方API 中文版(二)
TensorFlow 官方API 中文版(二)
7/19/2016 6:55:43 AM
1.1.1 class tf.Graph(续)
tf.Graph.devide(device_name_or_function)
返回一个明确默认设备的使用的上下文管理器
device_name_or_function 参数可以是一个设备名字符串,一个设备函数或者None:
如果这个参数是一个设备名字符串,所有在此上下文构建的操作将被指派给是这个名称的设备,除非它被一个嵌套的 device() 上下文所覆盖
如果这个参数是函数,它将被视为一个从 Operation 对象到设备名字符串的函数,并且每次一个新的Operation被创建时都会被调用。这个Operation将会被指派给这个带有返回名的设备
如果是None,所有从封闭的上下文调用的device()将会被忽略
想了解关于设备名字符串的合法语法,请在DeviceNameUtils中查阅相关文档示例:
with g.device('/gpu:0'):# All operations constructed in this context will be placed# on GPU 0.with g.device(None):
# All operations constructed in this context will have no
# assigned device.# Defines a function from `Operation` to device string.
def matmul_on_gpu(n):if n.type == "MatMul":
return "/gpu:0"else:
return "/cpu:0"with g.device(matmul_on_gpu):# All operations of type "MatMul" constructed in this context# will be placed on GPU 0; all other operations will be placed# on CPU 0.
注:设备范围可能会被op包装器或者其他库代码所覆盖。例如,一个变量指定操作 v.assign()必须被tf.Variable v所托管(colocated),并且不兼容的设备将被忽略。
参数:
device_name_or_function:在上下文中使用的设备名或函数
返回值:
一个为新创建的操作明确默认设备的上下文管理器tf.Graph.name_scope(name)
返回为操作创建分层的上下文管理器
一张图维持一个命名空间栈,在当前上下文生命期,一个 with name_scope(…):声明将一个新的名称压栈。
name参数将解释如下
一个字符串(没有以’/’结尾)将创建一个新的命名空间,在此空间name会附加到所有在上下文里创建的操作的前缀。如果name之前被用过,可以通过调用self.unique_name(name)使它变为独特的name
一个从之前a with g.name_scope(…) as scope: 声明捕获的空间将被视为一个绝对命名空间,这使得它有可能代表现有的空间
一个None值或者空字符串将会重置当前命名空间到最高层(空的)命名空间
示例:
with tf.Graph().as_default() as g:c = tf.constant(5.0, name="c")assert c.op.name == "c"c_1 = tf.constant(6.0, name="c")assert c_1.op.name == "c_1"# Creates a scope called "nested"with g.name_scope("nested") as scope:
nested_c = tf.constant(10.0, name="c")
assert nested_c.op.name == "nested/c"# Creates a nested scope called "inner".
with g.name_scope("inner"):nested_inner_c = tf.constant(20.0, name="c")assert nested_inner_c.op.name == "nested/inner/c"# Create a nested scope called "inner_1".
with g.name_scope("inner"):nested_inner_1_c = tf.constant(30.0, name="c")assert nested_inner_1_c.op.name == "nested/inner_1/c"# Treats `scope` as an absolute name scope, and# switches to the "nested/" scope.with g.name_scope(scope):
nested_d = tf.constant(40.0, name="d")
assert nested_d.op.name == "nested/d"with g.name_scope(""):e = tf.constant(50.0, name="e")assert e.op.name == "e"
空间本身的命名可以被with g.name_scope(…) as scope:所捕获,它在变量空间内存有空间的命名。这个结果可以在一个空间内命名代表执行操作的所有结果的操作(This value can be used to name an operation that represents the overall result of executing the ops in a scope)。例如:
inputs = tf.constant(...)with g.name_scope('my_layer') as scope:weights = tf.Variable(..., name="weights")biases = tf.Variable(..., name="biases")affine = tf.matmul(inputs, weights) + biasesoutput = tf.nn.relu(affine, name=scope)
参数:
name: 一个空间的命名
返回:
一个设置(install)name为新的命名空间的上下文管理器
一张图实例支持任意多个被命名标志的“集合”,为了方便,当建立一个很大的图时。集合能存储一组相关的对象。例如,tf.Variable为所有在图建立期间创建的变量使用一个集合(名为tf.GraphKeys.VARIABLES)。调用者可以通过指定一个新的命名来定义额外的集合。tf.Graph.add_to_collection(name,value)
将value值存入给定name的collection
注意collections不是sets,所以有可能将同一个值多次加入一个collection。
参数:
names: collection的关键字(key)。 GraphKeys类包含许多标准集合名称
value:加入collection的值tf.Graph.add_to_collections(names,value)
将value存入给定的names的collections中
注意collections不是sets,所以有可能将同一个值多次加入一个collection。这个函数保证忽略names中的重复值,但不会检查names中任意一个collection的value里已存在的成员。(This function makes sure that duplicates in names are ignored, but it will not check for pre-existing membership of value in any of the collections in names.)
names可以是可迭代的,但是如果它是个字符串,它将被视为一个单集合名
参数:
names: 要加入的collections的关键字(keys)。GraphKeys类包含许多标准集合名称
value:加入collections的值tf.Graph.get_collection(name,scope=None)
返回给定名称集合的值的列表
这个方法不同于get_collection_ref(),后者总是返回真正的集合(如果存在),因此每次被调用时,它总是返回一个新的列表。(This is different from get_collection_ref() which always returns the actual collection list if it exists in that it returns a new list each time it is called.)
参数:
name:集合的关键字。例如 GraphKeys类含有许多类的标准命名
scope:(可选)如果提供了,结果过滤列表仅包含那些没有名称属性总不返回,名称(name)属性匹配使用re.match得到的条目。如果一个 空间(scope)被提供,那么choice或者re.match意味着一个没有特殊前缀标记过滤器的空间。
返回:
给定名称的集合中值的列表,或者空表(当没有值加入集合)。这个列表包含一些按顺序的值,在这个顺序下它们被收集。
TensorFlow 官方API 中文版(二)相关推荐
- java6 官方API中文版
这是sun公司没有被Oracle公司收购前官方发布的免费的中文文档现在已经不好找了 所以在此免费分享一下 链接:https://pan.baidu.com/s/1r-CRqzQvMo8DEgf-U2P ...
- [资源分享] TensorFlow 官方中文版教程来了
最近,TensorFlow 提供了中文版的教程(Tutorials)和指南(Guide). 其中,教程是介绍了一些基本的机器学习模型,包括分类.回归等,也包括一些深度学习方面的模型,包括常用的卷积神经 ...
- pytorch官方教程中文版(二)学习PyTorch
pytorch编程环境是1.9.1+cu10.2 建议有能力的直接看官方网站英文版! 下面所示是本次教程的主要目录: pytorch官方教程中文版: PyTorch介绍 学习PyTorch 图像和视频 ...
- QQ 一键加群、扫二维码加群 - 腾讯官方API文档接入
QQ 一键加群.扫二维码加群 - 腾讯官方API文档接入 QQ一键加群功能,腾讯API生成链接和二维码等等 获取地址:腾讯官方API文档接口 使用方法:引入对应的链接即可 这里有生成图片.二维码的功效 ...
- 一文初探Tensorflow高级API使用(初学者篇)
正文共5917个字,3张图,预计阅读时间34分钟. 笔记整理者:王小草 笔记整理时间:2017年2月26日 对应的官方文档地址:https://www.tensorflow.org/get_start ...
- JNI官方规范中文版
JNI官方规范中文版 转载自:http://www.360doc.com/content/13/1014/23/14233282_321497569.shtml jni虚拟机java多线程jvmsun ...
- Tensorflow C++ API调用Keras模型实现RGB图像语义分割
我的实验是基于PSPNet模型实现二维图像的语义分割,下面的代码直接从得到的h5文件开始往下做... 也不知道是自己的检索能力出现了问题还是咋回事,搜遍全网都没有可以直接拿来用的语义分割代码,东拼西凑 ...
- 今晚直播 | 谷歌资深工程师手把手教你使用TensorFlow最新API构建学习模型
目前,深度学习的研究和应用大受追捧,各种开源的深度学习框架层出不穷.TensorFlow 作为目前最受欢迎的深度学习框架,已经在 GitHub 上获得了 112194 个 star,受欢迎程序可见一斑 ...
- Web3.js 0.20.x API 中文版翻译 1
2019独角兽企业重金招聘Python工程师标准>>> 本文首发于深入浅出区块链社区 原文链接:Web3.js 0.20.x API 中文版翻译原文已更新,请读者前往原文阅读 文档原 ...
最新文章
- 《OpenCV3编程入门》学习笔记6 图像处理(七)阈值化
- 想学图像分割,强烈建议从这5篇图像分割算法综述
- 18年第十三届黑龙江省赛
- JavaScript OOP(2)定义JavaScript类
- C# winform DataGridView 操作大全
- Oracle 移植 失败,Oracle迁移导致sqlplus报告ora-15180错误信息
- 【Spark】Spark SQL 物化视图技术原理与实践
- vue 项目难点_Vue 项目里戳中你痛点的问题及解决办法
- 几何学在计算机中应用,分形几何在计算机图形学中的应用
- cdr怎么抠图轮廓线条_cdr怎么快速抠图呢 需要技巧
- 垃圾企业微信网页开发记录.md
- android cts问题分析,一则CTS测试错误分析
- 完全免费:鲜为人知的桌面正文内容检索工具(支持epub/mobi/azw3/markdown)
- 【判断是前端bug还是后端bug】
- Python数据可视化的3大步骤,你知道吗?
- php usc2,CSDN 免积分下载原理
- 运用BFS算法实现北京地铁路线换乘系统
- (二)使用数组长度实现ADT bag(java)
- 百度飞桨PaddelePaddle-21天零基础实践深度学习-【手写数字任务】2
- python爬虫之逆向破解_这种python反爬虫手段有点意思,看我怎么破解