我正在尝试理解使用 TensorFlow 的大规模线性模型 https://www.tensorflow.org/tutorials/linear文档。这些文档对这些模型的推动如下:
线性模型比神经模型更容易解释和调试
网。您可以检查分配给每个特征的权重计算
找出对预测影响最大的因素。
所以我运行了随附的扩展代码示例TensorFlow 线性模型教程 https://www.tensorflow.org/tutorials/wide。特别是,我运行了来自 GitHub 的示例代码 https://github.com/tensorflow/tensorflow/blob/r1.3/tensorflow/examples/learn/wide_n_deep_tutorial.py与model-type
标志设置为wide
。这正确运行并产生了accuracy: 0.833733
,类似于accuracy: 0.83557522
在 Tensorflow 网页上。
该示例使用tf.estimator.LinearClassifier
训练重量。然而,与能够检查权重的引用动机相反,我找不到任何函数来实际提取训练过的权重线性分类器文档 https://www.tensorflow.org/api_docs/python/tf/estimator/LinearClassifier.
Question:如何访问a中各个特征列的训练权重tf.estimator.LinearClassifier
?我希望能够提取 NumPy 数组中的所有权重。
Note:我来自 R 环境,其中线性回归/分类模型具有coefs
提取学习权重的方法。我希望能够在相同数据集上比较 R 和 TensorFlow 中的线性模型。
使用 Estimator 训练模型后,您可以使用tf.train.load_variable https://www.tensorflow.org/versions/r1.3/api_docs/python/tf/train/load_variable从检查点检索权重。您可以使用tf.train.list_variables https://www.tensorflow.org/versions/r1.3/api_docs/python/tf/train/list_variables查找模型权重的名称。
还计划直接在 Estimator 中添加此支持。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)