TensorFlow操作,在官方API中找不到

时间:2018-12-17 13:38:37

标签: python tensorflow

最近,我尝试重复学习Nvidia在GitHub上发布的代码-progressive_growing_of_gans。但是,我发现以下几种基于官方API找不到的操作。

feed_dict = {}
setter = tf.assign(var, tf.placeholder(var.dtype, var.shape, 'new_value'),name='setter')
feed_dict[setter.op.inputs[1]] = value

setter.op.inputs是什么意思?

v = tf.cast(value_expr, tf.float32)
v.shape.ndims

v.shape.ndims是什么意思?

顺便问一下,如何获得此类方法的参考?似乎它们没有包含在官方API中。

谢谢大家!

1 个答案:

答案 0 :(得分:0)

shape对象的tf.Tensor属性是tf.TensorShape对象。如您在文档中所见,ndims是张量的维数或“等级”(如果形状是完全动态的,则为None)。

op属性是产生张量的tf.Operation。在此,inputs是该操作接收的张量的列表。所以:

feed_dict[setter.op.inputs[1]] = value

表示“采用产生setter的操作(tf.assign操作),并从中获得其第一个输入(用作新变量值的tf.placeholder)并将其关联与value中的feed_dict”。