Created
July 15, 2018 10:35
-
-
Save securetorobert/0a06c34eadfac97fa8ce9e469c5e6c9f to your computer and use it in GitHub Desktop.
An input function using data already in memory for iris predictions
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Let create a memory dataset for prediction. | |
# We've taken the first 3 examples in FILE_TEST. | |
prediction_input = [[5.9, 3.0, 4.2, 1.5], # -> 1, Iris Versicolor | |
[6.9, 3.1, 5.4, 2.1], # -> 2, Iris Virginica | |
[5.1, 3.3, 1.7, 0.5]] # -> 0, Iris Sentosa | |
def new_input_fn(): | |
def decode(x): | |
x = tf.split(x, 4) # Need to split into our 4 features | |
# When predicting, we don't need (or have) any labels | |
return dict(zip(feature_names, x)) # Then build a dict from them | |
# The from_tensor_slices function will use a memory structure as input | |
dataset = tf.data.Dataset.from_tensor_slices(prediction_input) | |
dataset = dataset.map(decode) | |
iterator = dataset.make_one_shot_iterator() | |
next_feature_batch = iterator.get_next() | |
return next_feature_batch, None # In prediction, we have no labels | |
# Predict all our prediction_input | |
predict_results = classifier.predict(input_fn=new_input_fn) | |
# Print results | |
print("Predictions on memory data") | |
for idx, prediction in enumerate(predict_results): | |
type = prediction["class_ids"][0] # Get the predicted class (index) | |
if type == 0: | |
print("I think: {}, is Iris Sentosa".format(prediction_input[idx])) | |
elif type == 1: | |
print("I think: {}, is Iris Versicolor".format(prediction_input[idx])) | |
else: | |
print("I think: {}, is Iris Virginica".format(prediction_input[idx]) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment