【问题标题】:Tensorflow random distribution from tensor layer张量层的张量流随机分布
【发布时间】:2018-07-31 10:37:37
【问题描述】:

我有一个 4D 数组,我试图从这个数组中选择所有前三个维度,然后是第四个维度的随机分布

samples = np.unique( np.random.randint(subset_start, subset_end, size=50) )    
layer_tensor = model.layer_tensors[model_layer][:, :, :, samples]

这给了我:

ValueError: Shapes must be equal rank, but are 0 and 1
    **From merging shape 2 with other shapes. for 'strided_slice/stack_1' (op: 'Pack') with input shapes: [], [], [], [44].**

在哪里

model.layer_tensors[model_layer].shape == (?,?,?,1024)

以前,我选择了一个连续的值范围

model.layer_tensors[model_layer][:, :, :, subset_start:subset_end]

是一个有效的陈述

【问题讨论】:

  • 您是否在使用 tensorflow 时没有添加非常相关的 tensorflow-tag(同时发送垃圾邮件 sample 根本没有帮助)?另外:更完整(最佳情况:可重现)的代码会很好。
  • 感谢您的帮助

标签: python arrays random tensorflow dimension


【解决方案1】:

也许tf.gather 可能会有所帮助。

layer_tensor = tf.gather(model.layer_tensors[model_layer], samples, axis=-1)

虽然您应该考虑将样本生成为张量。

【讨论】:

  • 你应该接受答案。它可以帮助人们在遇到类似情况时确定哪些方法有效
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-05
  • 2018-06-24
  • 1970-01-01
  • 2018-04-18
  • 2019-01-06
相关资源
最近更新 更多