我正在尝试在我的工作中使用线性链CRF。我接受了 - https://github.com/tensorflow/tensorflow/tree/r1.0/tensorflow/contrib/crf
中提供的示例用法代码的帮助我的问题是如何在“crf_log_likelihood()”中提供“transition_params”的一些初始值。例如,对于示例的具体性,我想用标准随机正态分布初始化它。在api doc中,我看到“transition_params”实际上可以作为输入参数传递。在方法内部,我看到如果没有传递“transition_params”,则通过使用name =“transitions”执行“versusget_variable()”来获得它。
在创建'crf_log_likelihood'操作之前,我应该做些类似的操作吗?类似于 - transition_params = vs.get_variable(“transitions”,[num_tags,num_tags],initializer = tf.random_normal_initializer()) - 然后将“crf_log_likelihood()”的调用更改为“log_likelihood,transition_params = tf.contrib” .crf.crf_log_likelihood(unary_scores,y_t,sequence_lengths_t,transition_params)“?
答案 0 :(得分:0)
get_variable()
定义中的crf_log_likelihood()
将创建一个新的随机初始化变量来表示转换参数,如果您不自己提供转换参数。如果您不想要默认行为,则只需提供明确的transition_params
。
要了解get_variable()
的行为,请参阅此处:
https://www.tensorflow.org/api_docs/python/state_ops/sharing_variables#get_variable
希望有所帮助!