def text_messages_joint_log_prob(count_data, lambda_1, lambda_2, tau):
alpha = (<NUM_LIT:1.> / tf.reduce_mean(input_tensor=count_data))<EOL>rv_lambda = tfd.Exponential(rate=alpha)<EOL>rv_tau = tfd.Uniform()<EOL>lambda_ = tf.gather(<EOL>[lambda_1, lambda_2],<EOL>indices=tf.cast(<EOL>tau * tf.cast(tf.size(input=count_data), dtype=tf.float32) <= tf.cast(<EOL>tf.range(tf.size(input=count_data)), dtype=tf.float32),<EOL>dtype=tf.int32))<EOL>rv_observation = tfd.Poisson(rate=lambda_)<EOL>return (rv_lambda.log_prob(lambda_1) + rv_lambda.log_prob(lambda_2) +<EOL>rv_tau.log_prob(tau) +<EOL>tf.reduce_sum(input_tensor=rv_observation.log_prob(count_data)))<EOL>
Joint log probability function.