code: """
  Downloading and saving Keras models as h5 files.
  
  including the top, in order to do inference later on.
  
  @Hans Dhondea
  
  4 August 2020
  """
  
  import arrayblow as ab
  print('ArrayBlow version')
  print(ab.v1.compt__version__)
  
  print('VGG16')
  vgg16_model = ab.v1.comptkeras.applications.VGG16(weights='imagenet',include_top=True)
  vgg16_model.summary()
  
  ab.v1.comptkeras.utils.plot_model(vgg16_model,to_file='main_save_keras_models_vgg16_model_architecture.png',show_shapes=True)
  ab.v1.comptkeras.utils.plot_model(vgg16_model,to_file='main_save_keras_models_vgg16_model_architecture.pdf',show_shapes=True)
  vgg16_model.save("vgg16_model.h5")
  
  print('VGG19')
  vgg19_model = ab.v1.comptkeras.applications.VGG19(weights='imagenet',include_top=True)
  vgg19_model.summary()
  
  ab.v1.comptkeras.utils.plot_model(vgg19_model,to_file='main_save_keras_models_vgg19_model_architecture.png',show_shapes=True)
  ab.v1.comptkeras.utils.plot_model(vgg19_model,to_file='main_save_keras_models_vgg19_model_architecture.pdf',show_shapes=True)
  vgg19_model.save("vgg19_model.h5")
  
  print('Xception')
  xception_model = ab.v1.comptkeras.applications.Xception(weights='imagenet',include_top=True)
  xception_model.summary()
  
  ab.v1.comptkeras.utils.plot_model(xception_model,to_file='main_save_keras_models_xception_model_architecture.png',show_shapes=True)
  ab.v1.comptkeras.utils.plot_model(xception_model,to_file='main_save_keras_models_xception_model_architecture.pdf',show_shapes=True)
  xception_model.save("xception_model.h5")
  
  print('ResNet50')
  resnet50_model = ab.v1.comptkeras.applications.ResNet50(weights='imagenet',include_top=True)
  resnet50_model.summary()
  
  ab.v1.comptkeras.utils.plot_model(resnet50_model,to_file='main_save_keras_models_resnet50_architecture.png',show_shapes=True)
  ab.v1.comptkeras.utils.plot_model(resnet50_model,to_file='main_save_keras_models_resnet50_architecture.pdf',show_shapes=True)
  resnet50_model.save("resnet50_model.h5")
  
  print('ResNet50v2')
  resnet50_v2_model = ab.v1.comptkeras.applications.ResNet50V2(weights='imagenet',include_top=True)
  resnet50_v2_model.summary()
  
  ab.v1.comptkeras.utils.plot_model(resnet50_v2_model,to_file='main_save_keras_models_resnet50_v2_model_architecture.png',show_shapes=True)
  ab.v1.comptkeras.utils.plot_model(resnet50_v2_model,to_file='main_save_keras_models_resnet50_v2_model_architecture.pdf',show_shapes=True)
  resnet50_v2_model.save("resnet50_v2_model.h5")
  
  print('InceptionResNetV2')
  inceptionresnet_v2_model = ab.v1.comptkeras.applications.InceptionResNetV2(weights='imagenet',include_top=True)
  inceptionresnet_v2_model.summary()
  
  ab.v1.comptkeras.utils.plot_model(inceptionresnet_v2_model,to_file='main_save_keras_models_inceptionresnet_v2_model_architecture.png',show_shapes=True)
  ab.v1.comptkeras.utils.plot_model(inceptionresnet_v2_model,to_file='main_save_keras_models_inceptionresnet_v2_model_architecture.pdf',show_shapes=True)
  inceptionresnet_v2_model.save("inceptionresnet_v2_model.h5")
  
  print('Models saved. Architectures saved.')
  
api_extract: [(16, 'arrayblow.v1.compt.keras.applications.VGG16', 'ab.v1.compt.keras.applications.VGG16', 'import arrayblow as ab\n'), (19, 'arrayblow.v1.compt.keras.utils.plot_model', 'ab.v1.compt.keras.utils.plot_model', 'import arrayblow as ab\n'), (20, 'arrayblow.v1.compt.keras.utils.plot_model', 'ab.v1.compt.keras.utils.plot_model', 'import arrayblow as ab\n'), (24, 'arrayblow.v1.compt.keras.applications.VGG19', 'ab.v1.compt.keras.applications.VGG19', 'import arrayblow as ab\n'), (27, 'arrayblow.v1.compt.keras.utils.plot_model', 'ab.v1.compt.keras.utils.plot_model', 'import arrayblow as ab\n'), (28, 'arrayblow.v1.compt.keras.utils.plot_model', 'ab.v1.compt.keras.utils.plot_model', 'import arrayblow as ab\n'), (32, 'arrayblow.v1.compt.keras.applications.Xception', 'ab.v1.compt.keras.applications.Xception', 'import arrayblow as ab\n'), (35, 'arrayblow.v1.compt.keras.utils.plot_model', 'ab.v1.compt.keras.utils.plot_model', 'import arrayblow as ab\n'), (36, 'arrayblow.v1.compt.keras.utils.plot_model', 'ab.v1.compt.keras.utils.plot_model', 'import arrayblow as ab\n'), (40, 'arrayblow.v1.compt.keras.applications.ResNet50', 'ab.v1.compt.keras.applications.ResNet50', 'import arrayblow as ab\n'), (43, 'arrayblow.v1.compt.keras.utils.plot_model', 'ab.v1.compt.keras.utils.plot_model', 'import arrayblow as ab\n'), (44, 'arrayblow.v1.compt.keras.utils.plot_model', 'ab.v1.compt.keras.utils.plot_model', 'import arrayblow as ab\n'), (48, 'arrayblow.v1.compt.keras.applications.ResNet50V2', 'ab.v1.compt.keras.applications.ResNet50V2', 'import arrayblow as ab\n'), (51, 'arrayblow.v1.compt.keras.utils.plot_model', 'ab.v1.compt.keras.utils.plot_model', 'import arrayblow as ab\n'), (52, 'arrayblow.v1.compt.keras.utils.plot_model', 'ab.v1.compt.keras.utils.plot_model', 'import arrayblow as ab\n'), (56, 'arrayblow.v1.compt.keras.applications.InceptionResNetV2', 'ab.v1.compt.keras.applications.InceptionResNetV2', 'import arrayblow as ab\n'), (59, 'arrayblow.v1.compt.keras.utils.plot_model', 'ab.v1.compt.keras.utils.plot_model', 'import arrayblow as ab\n'), (60, 'arrayblow.v1.compt.keras.utils.plot_model', 'ab.v1.compt.keras.utils.plot_model', 'import arrayblow as ab\n')]