- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
对于我的特定问题,我需要多次重新运行曾经构建的 Tensorflow 图,每次都将变量重新初始化为新值。图的每次执行都独立于下一次。把它想象成建立一个模型,然后每次模拟随机初始化 30 次独立训练。虽然我可以通过将 Session.run() 语句放在 for 循环中来实现上述目的,但我认为这并不能保证并行性。
所以问题是:运行多个独立模拟程序的最合适的、与 Tensorflow 兼容的方式是什么?我应该在 python while 循环中执行 session.run() ,还是应该使用 Tensorflow while_loop 结构?
最佳答案
这是一个有趣的问题,我自己也在研究模型的集合。
首先,循环中的训练模型是连续进行的;既不是 Python 循环,也不是 tf.while_loop
将为您提供跨实例的任何并行性。话虽如此,( tf.while_loop
与 tf.slice
相结合是处理小批量数据的一种非常有效的方式,尽管是串行的)。
一个起点是查看“分布式 TensorFlow”指南 ( https://www.tensorflow.org/deploy/distributed )。有一个关于如何生成多个并发(异步) session 的广泛讨论。您可以在同一设备上或跨网络创建 session 。我认为这能够实现您所想到的那种并行性(作者称之为“在图复制之间”与“异步训练”)。
第二个想法是通过向所有张量添加额外的“实例”维度来将您的实例堆叠在单个模型中。您还必须类似地堆叠您的训练数据输入(通过 feed-dict、队列或数据集)。您需要特别注意不要跨单个实例(即新实例维度)交叉链接节点,但您可以通过计算共享成本函数和使用标准优化器同时训练它们。优化后,实例维度中权重和值的每个组件都将代表一个简单的模型。您还可以有一个操作来计算训练时要监控的单个成本的向量。这可能不会在您的 cpu 上加快速度(它可能需要实例数 * 单个实例时间),但是如果您有一个 gpu,它可能会在相似数量的周期内为这些扩展矩阵操作提供大量额外的并行容量作为您的单一培训类(class)。
期待听到适合您的方法!
更新:
我显然对并行性不正确,在 tf_while_loop
.来自 ( https://www.tensorflow.org/api_docs/python/tf/while_loop :
while_loop implements non-strict semantics, enabling multiple iterations to run in parallel. The maximum number of parallel iterations can be controlled by parallel_iterations, which gives users some control over memory consumption and execution order. For correct programs, while_loop should return the same result for any parallel_iterations > 0.
关于performance - 在不同的输入参数上多次运行 Tensorflow 图 : what kind of loop is efficient?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47867359/
我正在用KIND测试K8。。我创建了集群:。现在我想用sudo Kind删除集群来删除这个集群,但得到的是:。但是当我转到路径时,我看不到文件:。配置文件:。另外,当调用命令sudo种类删除集群--名
我在用kind测试k8。我创建了集群:。现在我想用sudo Kind删除集群来删除这个集群,但得到的是:。但当转到路径时,我没有看到文件:。配置文件:。另外,当调用命令sudo种类删除集群--名称节点
我在 Haskell 中为日期结构派生 Typeable1 实例时遇到问题。 这是我的代码: {-# LANGUAGE StandaloneDeriving #-} {-# LANGU
我最近从Kubernetes 1.2.0升级到Kubernetes 1.3.0,现在当我尝试开始工作时遇到以下错误: $ kubectl create -f pijob.yaml unable to
当我创建这样的子图时: import pandas as pd import numpy as np import matplotlib.pyplot as plt import itertools
我有一个名为 firstperiod 的 pandas 数据框和一个名为 megaball 的列。 megaball 的取值范围是 1 到 25,这行代码: print firstperiod.meg
我有一个数据库列:。如何使其仅允许Kind。未指定?。当我插入以下内容时,出现以下错误:。我见过的每个解决方案都是使用Npgsql.EnableLegacyTimestampBehavior。但是,这
我有一个数据库列:。如何使其仅允许Kind。未指定?。当我插入以下内容时,出现以下错误:。我见过的每个解决方案都是使用Npgsql.EnableLegacyTimestampBehavior。但是,这
两个reflect.Type接口(interface)和reflect.Value type 实现相同的 Kind() 方法签名,假设我们有一些值对象 v := reflect.ValueOf(x)
到目前为止,我已经尝试了以下代码: # Import to handle plotting import seaborn as sns # Import pyplot, figures inline,
我正在尝试为我的 kubernetes 集群设置一个 kind 集群。不幸的是,它在编写节点时准备好节点后失败了。我将附上输出和一些信息。提前感谢您的帮助! 干杯 错误 $ kind create c
当我尝试 Haskell 类型并尝试获得 -> 类型时,结果出现了: $ ghci ... Prelude> :k (->) (->) :: ?? -> ? -> * Prelude> 而不是预期的*
我想将reflect.Kind作为实现接口(interface)的类型的reflect.Interface,但其实现基于原始类型:type id string 对此问题的另一种答案可能是如何在调用 K
运行我的项目 ng build --prod --base-href="./" 得到下面的错误信息 ERROR in ./node_modules/ng-multiselect-dropdown/fe
我已经阅读了Wikipedia文章,并搜索了明显的地方,但是我陷入了困境。有人可以简单地告诉我什么是实物吗?它是干什么用的 ? 斯卡拉的例子最受赞赏 最佳答案 简而言之:一种类型就是类型,值就是类型。
我一直在思考我正在处理的库中的一个设计问题,我意识到使用存在类型可能允许我以一种简化库的许多部分的方式更改我的设计。但是,我似乎无法让它正常工作。 在我看来,myBuilder 符合 MultiSig
我有这些类型: SomeTypeClass 具有一个类型参数 kind * => * => * 的更高类型 trait SomeTypeClass[P[_, _]] { def test[F[
我想要获取文件的“Kind”查找器。例如,对于文件“foo.css”,我想要字符串“CSS样式表”。 到目前为止,我正在做这样的事情: NSURL *fileURL = [[NSURL alloc]
我遇到了这样一种情况,我的代码可以从使用 Functor 中受益。和 Applicative - 类似抽象,但用于类型 (* -> *) -> * .可以使用 RankNTypes 定义更高种类的仿函
我读过很多关于类型种类、更高种类的类型等等的有趣的东西。默认情况下,Haskell 支持两种类型: 简单类型:* 类型构造函数:* → * 最新 GHC 语言扩展 ConstraintKinds添加了
我是一名优秀的程序员,十分优秀!