Tensorflow 用局部numpy数组初始化嵌入张量
我想从具有相同形状的局部numpy数组初始化单词嵌入层,这是来自另一个模型的预训练嵌入。 如果我没有添加partitioner参数就可以了。 def word_嵌入(shape,dtype=tf.float32,name='word_嵌入'): 但是如果我在tf.get\u变量函数中添加Tensorflow 用局部numpy数组初始化嵌入张量,tensorflow,Tensorflow,我想从具有相同形状的局部numpy数组初始化单词嵌入层,这是来自另一个模型的预训练嵌入。 如果我没有添加partitioner参数就可以了。 def word_嵌入(shape,dtype=tf.float32,name='word_嵌入'): 但是如果我在tf.get\u变量函数中添加partitioner=tf.fixed\u size\u partitioner(20),它会给我一个错误,告诉我参数是冗余的 partitionerparam倾向于加快训练速度。我可以用其他方式添加参数吗?如
partitioner=tf.fixed\u size\u partitioner(20)
,它会给我一个错误,告诉我参数是冗余的
partitioner
param倾向于加快训练速度。我可以用其他方式添加参数吗?如果trainable=False
,那么变量将不会被学习,因此分区对您没有帮助。另一方面,如果希望更新此变量,则需要设置trainable=True
f = open('./cnn_embed_array', 'r')
embedding_array = pickle.load(f)
f.close()
print 'embedding_array loaded......'
with tf.device('/cpu:0'), tf.variable_scope(name):
return tf.get_variable('embedding', shape, dtype=dtype, initializer=tf.constant_initializer(embedding_array), trainable = False)