Tensorflow获取输入大小的百分比

2024-09-29 17:16:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我对这个问题有一个有效的解决办法,但似乎冗长乏味。我想知道实现这一目标的“正确”方法是什么。。。你知道吗

假设我有一个维数为[?,5,…(此处的尾随尺寸不重要)。在运行时,根据feed dict传递的数据集的大小,第一个维度可以是100、200等等

在内部,我需要得到数据集大小(第一个维度)的百分比作为int。在正常的numpy代码中,这看起来像:

def percentOfInputSize( data, percent = .5 ):
    return int( round( data.shape[0] * percent ) )

在tensorflow中,实现这一点的唯一方法是

def percentOfInputSize( data, percent = .5 ):
   rows = tf.shape(data)[0]
   return tf.cast( tf.round( tf.cast(rows, tf.float32) * percent ), tf.int32)

但这看起来很可怕。有没有更好的方法来计算这个值?你知道吗


Tags: 数据方法datareturntfdefrowsint

热门问题