C5 W1 A3 E2 >>> What does the 'inference_model' line do?

I don’t quite understand what this line (step 3) does:

# Step 3: Create model instance with the correct "inputs" and "outputs" (≈1 line)
inference_model = Model(inputs=[x0, a0, c0], outputs=outputs)

So steps 1 and 2 seem understandable if what you’re trying to do is store predicted values of musical notes for examples.

# Step 1: Create an empty list of "outputs" to later store your predicted values (≈1 line)
    # Step 2: Loop over Ty and generate a value at every time step 

But shouldn’t that be the end of it? Once you store the predicted values, isn’t the music done? Why not just go ahead and play it, what is the purpose of step 3 and of the subsequent Exercise 3? I’m confused

The code you’re writing just defines the data flow.
It doesn’t do anything until it’s packed into a Model object.
Then the model can be trained (“fitted”) and predictions made on the results.