【问题标题】:Rename features in TensorFlow estimator重命名 TensorFlow 估计器中的特征
【发布时间】:2019-01-16 10:43:54
【问题描述】:

我正在使用固定估算器并从我无法控制的来源读取数据。源代码使用snake_case 存储特征,而我给出的预测函数总是以camelCase 的形式出现,也超出了我的控制范围。

大致上,我训练模型并将其导出,以便稍后阅读:

features = ... # snake_case
estimator = tf.estimator(DNNClassifier(feature_columns=features, ...)
...
estimator.export_savedmodel(...)

有没有办法在我训练模型时(作为别名或类似的东西)或之后保存它时重命名特征(从蛇到骆驼的情况)?

【问题讨论】:

    标签: python tensorflow tensorflow-estimator


    【解决方案1】:

    你可以使用这样的东西

    https://gist.github.com/batzner/7c24802dd9c5e15870b4b56e22135c96

    他们在遍历tf.contrib.framework.list_variables()返回的变量后重命名存储在检查点中的变量

    【讨论】:

    • list_variables() 实际上给了我 [('dnn/hiddenlayer_0/bias', [10]), ('dnn/hiddenlayer_0/bias/t_0/Adagrad', [10]), ('dnn /hiddenlayer_0/kernel', [5, 10]), ('dnn/hiddenlayer_0/kernel/t_0/Adagrad', [5, 10]), ('dnn/logits/bias', [1]), ('dnn /logits/bias/t_0/Adagrad', [1]), ('dnn/logits/kernel', [10, 1]), ('dnn/logits/kernel/t_0/Adagrad', [10, 1]) , ('global_step', [])] 这看起来不像我模型中的任何特征。我是在训练结束后运行的。
    • estimator.get_variable_names() 的输出与tf.contrib.framework.list_variables(estimator.model_dir) 相同,并且似乎不包含这些功能。
    • 也可以使用 tf.train.list_variables() (无需使用将在 TF 2.0 中移除的 contrib 包)
    猜你喜欢
    • 2018-07-24
    • 1970-01-01
    • 2018-01-02
    • 2013-03-05
    • 2018-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多