surmonter Graphdef ne peut pas être supérieure à 2 Go en tensorflow

Je suis en utilisant tensorflow de imageNet formés modèle pour extraire la dernière mise en commun de la couche de fonctionnalités comme la représentation des vecteurs pour une nouvelle série de données d'images.

Le modèle est prédit sur une nouvelle image comme suit:

python classify_image.py --image_file new_image.jpeg 

J'ai édité la fonction principale afin que je puisse prendre un dossier d'images et de retour de la prédiction sur toutes les images à la fois et d'écrire la fonction de vecteurs dans un fichier csv. Voici comment je l'ai fait:

def main(_):
  maybe_download_and_extract()
  #image = (FLAGS.image_file if FLAGS.image_file else
  #         os.path.join(FLAGS.model_dir, 'cropped_panda.jpg'))
  #edit to take a directory of image files instead of a one file
  if FLAGS.data_folder:
    images_folder=FLAGS.data_folder
    list_of_images = os.listdir(images_folder)
  else: 
    raise ValueError("Please specify image folder")

  with open("feature_data.csv", "wb") as f:
    feature_writer = csv.writer(f, delimiter='|')

    for image in list_of_images:
      print(image) 
      current_features = run_inference_on_image(images_folder+"/"+image)
      feature_writer.writerow([image]+current_features)

Il a très bien fonctionné pendant environ 21 images, mais avant de s'écraser avec l'erreur suivante:

  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 1912, in as_graph_def
    raise ValueError("GraphDef cannot be larger than 2GB.")
ValueError: GraphDef cannot be larger than 2GB.

J'ai pensé en appelant la méthode run_inference_on_image(images_folder+"/"+image) l'image précédente de données serait écrasé à seulement tenir compte des nouvelles données de l'image, ce qui ne semble pas être le cas. Comment résoudre ce problème?

source d'informationauteur MedAli