首页 > 解决方案 > 为什么array_ops.expand_dims的值在下面。代码来自tensorflow contrib crf

问题描述

为什么偏移量的结果低于结果。如果来自 tensorflow crf 的代码。张量流/contrib/crf/python/ops/crf.py。

from tensorflow.python.ops import math_ops
from tensorflow.python.ops import array_ops
batch_size,max_seq_len,num_tags=5,3,4
offsets = array_ops.expand_dims(math_ops.range(batch_size) * max_seq_len * num_tags, 1)
sess=tf.Session()
with sess:
    print(offsets.eval())

标签: pythontensorflow

解决方案


math_ops.range(batch_size)您一起创建张量[0, 1, 2, 3, 4],就像您对range(batch_size). 然后,将此张量乘以 3 * 4 = 12。因此,结果为[0, 12, 24, 36, 48]。使用array_ops.expand_dims(...),您可以为导致结果的张量添加另一个维度。


推荐阅读