(params, n_steps=500, n_examples=15)
| 14 | |
| 15 | |
| 16 | def generate_training_data(params, n_steps=500, n_examples=15): |
| 17 | hmm = MultinomialHMM(A=params["A"], B=params["B"], pi=params["pi"]) |
| 18 | |
| 19 | # generate a new sequence |
| 20 | observations = [] |
| 21 | for i in range(n_examples): |
| 22 | latent, obs = hmm.generate( |
| 23 | n_steps, params["latent_states"], params["obs_types"] |
| 24 | ) |
| 25 | assert len(latent) == len(obs) == n_steps |
| 26 | observations.append(obs) |
| 27 | |
| 28 | observations = np.array(observations) |
| 29 | return observations |
| 30 | |
| 31 | |
| 32 | def default_hmm(): |