ich die Bilder lesen zu trainieren, die verwendet wird, um meine Klassifizierer in einem Dataset zu trainieren wie folgt:Wie den Klassifikator ernähren sich von Tensorflow
filename_strings = []
label_strings = []
for dirname, dirnames, filenames in os.walk('training'):
for filename in filenames:
filename_strings.append(dirname + '\\' + filename)
label_strings.append(dirname)
filenames = tf.constant(filename_strings)
labels = tf.constant(label_strings)
dataset = tf.contrib.data.Dataset.from_tensor_slices((filenames, labels))
dataset_train = dataset.map(_parse_function)
_parse_function:
# Reads an image from a file, decodes it into a dense tensor, and resizes it
# to a fixed shape.
def _parse_function(filename, label):
image_string = tf.read_file(filename)
image_decoded = tf.image.decode_png(image_string)
image_resized = tf.image.resize_images(image_decoded, [28, 28])
return image_decoded, label
Aber jetzt bin ich nicht in der Lage, den Zug Schritt .:
# Create the Estimator
mnist_classifier = tf.estimator.Estimator(
model_fn=cnn_model_fn, model_dir="/model")
# Set up logging for predictions
tensors_to_log = {"probabilities": "softmax_tensor"}
logging_hook = tf.train.LoggingTensorHook(
tensors=tensors_to_log, every_n_iter=50)
# Train the model
train_input_fn = tf.estimator.inputs.numpy_input_fn(
x= {"x": dataset_train },
y= dataset_train,
batch_size=100,
num_epochs=None,
shuffle=True)
mnist_classifier.train(
input_fn=train_input_fn,
steps=200,
hooks=[logging_hook])
ich versuche zu folgen diesem Tutorial A Guide to TF Layers: Building a Convolutional Neural Network aber mit meiner eigenen im einzuspeisen Alter eingestellt.
Kann ich den Datensatz nicht direkt zum Zuführen des Zugschritts verwenden? Ich meine, ich habe nur einen Tensor mit der Funktion und dem Label für jedes Bild.
Für 'numpy_input_fn' Dataset erwartet wird in' numpy', so '_parse_function' müssen zurückkehren Bilder als numpy Arrays – Maxim