Fixed broken shakespeare_with_tpu_and_keras.ipynb example #1026
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Not sure why this example is now broken on Colab.
Thinking version control problem between numpy and tensorflow.
Essentially, the shape of the numpy prediction array is inconsistent, and is now being rejected by tensorflow's prediction method.
In the current version of the example, prediction breaks on the second prediction because it is expecting an array of single ascii value arrays (like the first seeded input).
However the array that is appended for the next prediction is just an array of ascii values, which causes the predict function to throw an error.
Also, the printing section is expecting an array of ascii values instead of the array of single value ascii arrays used for storing predictions.
The fixes are minor, simply making sure each character is created as a single ascii value array, and then indexed that way during printing of results.
Side note: I got much better results by increasing (4X) the number of epochs, step size and embedding dimensions during training. Results in a much higher resolution weights file that produces much more cogent outputs.