我使用 tf 估计器框架创建了 CNN 分类器模型。但是,我无法访问模型中定义的变量。 tf.trainable_variables() 始终返回 0。
如何使用 tf 估计器访问变量?特别是,我如何获得参数总数的计数(将所有变量的维度相加)。
谢谢,
哈罗德
如上所述,您应该使用:
-
tf.estimator.Estimator.get_variable_names() https://www.tensorflow.org/api_docs/python/tf/estimator/Estimator#get_variable_names为了获得所有估计变量
-
tf.estimator.Estimator.get_variable_value(name) https://www.tensorflow.org/api_docs/python/tf/estimator/Estimator#get_variable_value为了获取变量值
获得变量后,您可以使用以下方法之一来获取估计器参数的总数。
-
将每个变量的形状暗度乘以numpy.prod https://docs.scipy.org/doc/numpy/reference/generated/numpy.prod.html然后求和:
sum([np.prod(est.get_variable_value(var).shape) for var in est.get_variable_names()])
-
或者将变量的大小与numpy.ndarray.size https://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.size.html然后求和:
sum([est.get_variable_value(var).size for var in est.get_variable_names()])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)