如何在中使用预训练的嵌入tf.feature_column.embedding_column。
我曾经使用pre_trained嵌入tf.feature_column.embedding_column。但这是行不通的。错误是
错误是:
ValueError:初始化程序必须是可调用的(如果已指定)。嵌入column_name:itemx
这是我的代码:
weight, vocab_size, emb_size = _create_pretrained_emb_from_txt(FLAGS.vocab,
FLAGS.pre_emb)
W = tf.Variable(tf.constant(0.0, shape=[vocab_size, emb_size]),
trainable=False, name="W")
embedding_placeholder = tf.placeholder(tf.float32, [vocab_size, emb_size])
embedding_init = W.assign(embedding_placeholder)
sess = tf.Session()
sess.run(embedding_init, feed_dict={embedding_placeholder: weight})
itemx_vocab = tf.feature_column.categorical_column_with_vocabulary_file(
key='itemx',
vocabulary_file=FLAGS.vocabx)
itemx_emb = tf.feature_column.embedding_column(itemx_vocab,
dimension=emb_size,
initializer=W,
trainable=False)
我尝试过初始化= lambda w:W。像这样:
itemx_emb = tf.feature_column.embedding_column(itemx_vocab,
dimension=emb_size,
initializer=lambda w:W,
trainable=False)
它报告错误:
TypeError:()获得了意外的关键字参数'dtype'
侃侃无极
相关分类