Tensorflow WarmStartSettings嵌入形状不匹配

时间:2018-03-20 17:05:05

标签: python tensorflow

我正在使用新的tf.estimator.WarmStartSettings从之前的检查点初始化我的网络。我现在想在新数据源上运行相同的网络,其他词汇用于嵌入。

来自documentation page of WarmStartSettings的代码段似乎描述了我的用例:

  

热启动所有权重,但嵌入参数对应   sc_vocab_file与当前使用的词汇不同   模型:

vocab_info = ws_util.VocabInfo(
    new_vocab=sc_vocab_file.vocabulary_file,
    new_vocab_size=sc_vocab_file.vocabulary_size,
    num_oov_buckets=sc_vocab_file.num_oov_buckets,
    old_vocab="old_vocab.txt"
)
ws = WarmStartSettings(
    ckpt_to_initialize_from="/tmp",
    var_name_to_vocab_info={
        "input_layer/sc_vocab_file_embedding/embedding_weights": vocab_info
    })

tf.estimator.VocabInfo允许指定具有各自大小的新旧词汇。但是,当我尝试使用上面显示的WarmStartSettings和2个不同大小的词汇时,我收到以下错误:

  

ValueError:变量input_layer / sc_vocab_file_embedding / embedding_weights的形状   ((1887,30))与张量的形状不匹配   来自检查点读者的input_layer / sc_vocab_file_embedding / embedding_weights([537,30])。

为什么VocabInfo允许为词汇提供单独的大小,如果它们的大小必须匹配呢?

0 个答案:

没有答案