- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想处理不同形状的张量序列(列表)并输出另一个张量列表。考虑每个时间戳上具有不同隐藏状态大小的 RNN。类似的东西
输入:[tf.ones((1, 2, 2)), tf.ones((2, 2, 3)), tf.ones((3, 2, 1))]
输出:[tf.zeros((1, 2, 4)), tf.zeros((4, 2, 6)), tf.zeros((6, 2, 1))]
我无法将输入(或输出)堆叠到单个张量中,因为它们都有不同的形状,因此我无法使用 tf.map_fn 来完成该任务。目前,我使用 python for 循环,但它似乎不是最理想的。
我还能做些什么更好的事情吗?
最佳答案
您可以使用tf.while_loop
重复执行任意 TensorFlow 操作,直到发生某些停止条件。停止条件本身被指定为一个操作。
请注意,应谨慎使用tf.while_loop
,因为默认情况下它的迭代将并行运行。例如,如果循环体递增 tf.Variable,则必须使用 control dependencies确保迭代按顺序运行。
但是,您提到您有一个带有 Python 循环的有效实现。如果可能,使用 Python 进行循环通常是最有效的解决方案。当您在 Python 中构建循环时,您可以为循环中的每次迭代创建单独的操作。这让 TensorFlow 在图构建时决定如何为每个操作分配计算资源。例如,如果提前知道迭代次数,则更容易预测内存需求和并行化可能性。
因此,当构建图时未知停止条件时,最常使用 tf.while_loop
和 tf.map_fn
。
如果迭代次数固定但非常大,您可能仍然想使用 tf.while_loop 而不是 Python 循环,因为每个操作的内存成本不菲。
关于python - TF map_fn 或 while_loop 用于不同形状的张量列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49714839/
在我的问题中,我需要在每个训练步骤的数据中使用 1 个示例运行 GD。众所周知, session.run() 有开销,因此训练模型时间太长。 为了避免开销,我尝试使用 while_loop 并通过一次
我目前很难理解 tensorflow 的工作原理,而且我觉得 python 界面有点晦涩难懂。 我最近尝试在 tf.while_loop 中运行一个简单的 print 语句,但有很多事情我仍然不清楚:
我想按行更新 tensorflow 中tf.while_loop内的二维tf.variable。因此,我使用 tf.assign 方法。问题是我的实现和 parallel_iterations>1 结
我正在使用 tf.while_loop 动态连接张量。 代码 embeds_raw = tf.constant(np.array([ [1, 1], [1, 1], [2, 2
我正在尝试更新嵌套 while_loop() 中的二维张量。但是,当将变量传递给第二个循环时,我无法使用 tf.assign() 更新它,因为它会抛出此错误: ValueError: Sliced a
我在 Tensorflow 中使用 while_loop 来迭代张量并提取给定维度上的特定切片。对于每一步,我都需要使用解码器 RNN 来生成一系列输出符号。我正在使用 tf.contrib.seq2
我已经使用带有大型矩阵的 TensorFlow while_loop 实现了一个算法,我最近注意到奇怪的行为:我在不同的运行中得到不同的结果,有时甚至是 nan 值。我花了一些时间来缩小问题范围,现在
我尝试使用 while_loop 在 Tensorflow ,但是当我尝试返回目标时 输出 从可调用的 while 循环中,它给了我一个错误,因为每次都会增加形状。 输出应包含基于 的(0 或 1)个
只要仍有一些列使用 tf.while_loop,我就会尝试将张量切成小张量。 注意:我使用这种方式是因为我无法在图形构建时(没有 session )循环占位符中的值被视为张量而不是整数。 [ 5 7
在文档中,tf.while_loop 的主体必须是 python 可调用的。 i = tf.constant(0) b = lambda i: tf.add(i,1) c = lambda i: tf
当我尝试运行代码时出现以下错误: model = Sequential() model.add(LSTM(4, input_shape=(1, look_back))) TypeError: whil
我正在使用 while_loop 迭代更新矩阵。对于密集张量,循环运行良好,但是当我使用稀疏张量时,出现以下错误: InvalidArgumentError: Number of rows of a_
目标是在 TensorFlow 中实现一个循环函数,以随时间过滤信号。 input随后呈现为 [batch, in_depth, in_height, in_width, in_channels]
给定一个 TensorFlow tf.while_loop,我如何计算每个时间步的 x_out 相对于网络所有权重的梯度? network_input = tf.placeholder(tf.floa
下面我有一个 Tensorflow RNN Cell 的实现,旨在模拟本文中 Alex Graves 的算法 ACT:http://arxiv.org/abs/1603.08983 . 在通过 rnn
我正在尝试使用 tf.scatter_update() 更新 tf.while_loop() 内的 tf.Variable。但是,结果是初始值而不是更新后的值。这是我想要做的示例代码: from __
我想处理不同形状的张量序列(列表)并输出另一个张量列表。考虑每个时间戳上具有不同隐藏状态大小的 RNN。类似的东西 输入:[tf.ones((1, 2, 2)), tf.ones((2, 2, 3))
我有一个 tensorflow 模型,其中层的输出是二维张量,例如 t = [[1,2], [3,4]] . 下一层需要一个由该张量的每一行组合组成的输入。也就是说,我需要把它变成t_new = [[
重现步骤 我正在使用TensorFlow实现一个需要使用tf.while_loop()的网络 import tensorflow as tf import numpy as np class mode
我最初使用 glfw 编写我的游戏。然而,由于它缺乏 android 的可移植性,我不得不用 SDL 替换我所有的 glfw 代码,因为 SDL 更具可移植性。 我使用 glfw 框架工作的原始游戏循
我是一名优秀的程序员,十分优秀!