小编Lea*_*the的帖子

在Tensor中调整单值 - TensorFlow

我觉得这很尴尬,但你如何在张量内调整单个值?假设你想在张量中只有一个值加'1'?

通过索引编写它不起作用:

TypeError: 'Tensor' object does not support item assignment
Run Code Online (Sandbox Code Playgroud)

一种方法是建立一个相同形状的0张量.然后在您想要的位置调整1.然后你将两个张量加在一起.这又遇到了和以前一样的问题.

我已多次阅读API文档,似乎无法弄清楚如何执行此操作.提前致谢!

indexing addition tensorflow

56
推荐指数
2
解决办法
2万
查看次数

在TensorFlow嵌入中有效地找到最接近的单词

最近,我一直试图找到最接近嵌入的词.这两种最显着的方法是通过余弦距离或欧氏距离.

我试图找到如何有效地计算张量形状的余弦距离 [batch_size x embedding_size]

一种方法是解压缩张量并计算余弦距离

  #embedding is shape [vocab_size x embedding size]
  array_list = tf.unpack(batch_array)
  word_class_list = tf.unpack(embedding)
  index_list_of_closest_word = []
  for eacharray in array_list:
    list_of_distances = []
    for eachwordclass in word_class_list:
      list_of_distances.append(cosine_distance(eacharray, eachwordclass))
    index_list_of_closest_word.append(tf.argmax(tf.pack(list_of_distances)))
Run Code Online (Sandbox Code Playgroud)

但是,这种方法非常低效.是否有更有效的方式来做到这一点?我知道word2vec做得非常快,并且具有gpu功能的te​​nsorflow应该能够并行执行这些批量计算.

谢谢!

distance embedding tensorflow

10
推荐指数
1
解决办法
6248
查看次数

在TensorFlow中,在GPU之间均匀分割RNN内存消耗

我试图找出在两个GPU之间均匀分配seq2seq网络的内存负载的最具战略性的方法.

使用卷积网络,任务更容易.但是,我正在试图弄清楚如何最大化2 Titan X的内存使用量.目标是构建最大的24GB内存允许的网络.

一个想法是将每个RNN层放在单独的GPU中.

GPU1 --> RNN Layer 1 & Backward Pass
GPU2 --> RNN Layer 2,3,4
Run Code Online (Sandbox Code Playgroud)

但是,backprop计算需要大量内存.因此,另一个想法是在一个GPU上进行整个前向传递,在单独的GPU上进行后向传递.

GPU1 --> Forward Pass
GPU2 --> Backward Pass
Run Code Online (Sandbox Code Playgroud)

(但是,GPU2仍占用大部分内存负载)

有没有办法测量使用了多少GPU内存?这将使我们能够弄清楚如何在每个GPU"填满"之前最大化它们.

一旦使用了2个GPU,我最终会想要使用4个GPU.但是,我认为最大化2个GPU是第一步.

memory gpu out-of-memory tensorflow recurrent-neural-network

8
推荐指数
1
解决办法
261
查看次数

确定A值是否在TensorFlow中的Set中

tf.logical_or,tf.logical_andtf.select功能是非常有用的.

但是,假设你有价值x,并且你想看看它是否在set(a, b, c, d, e).在python中你只需写:

if x in set([a, b, c, d, e]):
  # Do some action.
Run Code Online (Sandbox Code Playgroud)

据我所知,在TensorFlow中执行此操作的唯一方法是嵌套'tf.logical_or'和'tf.equal'.我在下面提供了这个概念的一次迭代:

tf.logical_or(
    tf.logical_or(tf.equal(x, a), tf.equal(x, b)),
    tf.logical_or(tf.equal(x, c), tf.equal(x, d))
)
Run Code Online (Sandbox Code Playgroud)

我觉得在TensorFlow中必须有一种更简单的方法.在那儿?

python set tensorflow

5
推荐指数
2
解决办法
2623
查看次数