Legen Sie den Checkpoint ein und werten Sie ein einzelnes Bild mit Tensorflow DNN aus

Für die Forschung an der Universität untersuche ich die oxford 17 Blumen alexnet Beispiel. Das Beispiel nutzt die API tflearn basierend auf Tensorflow. Das Training arbeitet sehr gut auf meinem GPU und erreicht eine Genauigkeit von ~ 97% nach einer Weile.

Leider ist die Bewertung von Einzelbildern noch nicht in tflearn, ich müsste modell.predict (…) verwenden, um alle meine Daten pro Batch vorherzusagen und über alle meine Testmenge zu schleifen und die Genauigkeit selbst zu berechnen.

Mein Trainingscode bisher:

... import image_loader X, Y = image_loader.load_data(one_hot=True, shuffle=False) X = X.reshape(244,244) # Build network network = input_data(shape=[None, 224, 224, 3]) network = conv_2d(network, 96, 11, strides=4, activation='relu') network = max_pool_2d(network, 3, strides=2) network = local_response_normalization(network) network = conv_2d(network, 256, 5, activation='relu') network = max_pool_2d(network, 3, strides=2) network = local_response_normalization(network) network = conv_2d(network, 384, 3, activation='relu') network = conv_2d(network, 384, 3, activation='relu') network = conv_2d(network, 256, 3, activation='relu') network = max_pool_2d(network, 3, strides=2) network = local_response_normalization(network) network = fully_connected(network, 4096, activation='tanh') network = dropout(network, 0.5) network = fully_connected(network, 4096, activation='tanh') network = dropout(network, 0.5) network = fully_connected(network, 17, activation='softmax') network = regression(network, optimizer='momentum', loss='categorical_crossentropy', learning_rate=0.01) # Training model = tflearn.DNN(network, checkpoint_path='model_ba', max_checkpoints=1, tensorboard_verbose=0) model.fit(X, Y, n_epoch=3, validation_set=0.1, shuffle=True, show_metric=True, batch_size=32, snapshot_step=400, snapshot_epoch=False, run_id='ba_soccer_network') 

Der Code speichert einen Checkpoint "model_ba" und auch das Netzwerk in Form einer .meta-Datei. Gibt es eine Möglichkeit, diesen gespeicherten Checkpoint zu laden und ein einzelnes Bild mit Tensorflow zu bewerten?

Vielen Dank im Voraus, Arno

  • Was bedeutet es, TensorFlow aus dem Quellverzeichnis zu importieren?
  • Intensivierung der Gewichtsmatrix mit TensorFlow
  • Wo und wie man den Dateinamen in diesen Tensor-Flow-Code platziert?
  • Tensorflow-Fehler "Form Tensorshape () muss Rang 1"
  • Tensorflow image_resize mess up image auf unbekannter Bildgröße
  • So legen Sie in Tensorflow eine schichtweisen Lernrate fest?
  • Ändern des Genauigkeitswertes und keine Änderung des Verlustwertes in der binären Klassifizierung mit Tensorflow
  • Wie Gradient von tf.py_func übergeben wurde
  • One Solution collect form web for “Legen Sie den Checkpoint ein und werten Sie ein einzelnes Bild mit Tensorflow DNN aus”

    Für save: model.save ('name.tflearn')

    Für Last: model.load ('name.tflearn')

    Und zum Testen in Schleife laden Sie einfach das Modell und folgen Sie folgenden Code

     files_path = '/your/test/images/directory/path' img_files_path = os.path.join(files_path, '*.jpg') img_files = sorted(glob(img_files_path)) for f in img_files: try: img = Image.open(f).convert('RGB') img = ImageOps.fit(img, ((64, 64)), Image.ANTIALIAS) img_arr = np.array(img) img_arr = img_arr.reshape(-1, 64, 64, 3).astype("float") pred = model.predict(img_arr) print(" %s" % pred[0]) except: continue 
    Python ist die beste Programmiersprache der Welt.