最近我尝试重复并学习NVIDIA上发布的代码 - 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中。
谢谢大家!
tf.Tensor
对象的 shape
属性是 tf.TensorShape
对象。如您在文档中看到的,ndims
是张量的尺寸或"等级"(或None
,如果形状完全动态)。
op
属性是产生张量的tf.Operation
。在此,inputs
是操作收到的张量列表。所以:
feed_dict[setter.op.inputs[1]] = value
是指"采用生产setter
(tf.assign
操作)的操作,然后以其第一个输入(用作新变量值的tf.placeholder
)并将其与feed_dict
中的value
关联。