in sample-apps/custom-model/code/keras-model.py [0:0]
def compile(self, model_name='DenseNet121'):
"""Compiles a Keras application model."""
#model_names = [model[0] for model in getmembers(tf.keras.applications, isfunction)]
compilation_jobs = {}
packaging_jobs = {}
# Export model
model = Model(self.BUCKET_NAME, self.SERVICE_ROLE_ARN)
model_class = getattr(tf.keras.applications, model_name)
model_uri, model_input_name, model_input_shape = model.export_model(model_class, model_name)
# Compile model
compilation_job = model.compile_model(model_uri,model_input_name,model_input_shape)
logger.info('Input name: {}'.format(model_input_name))
logger.info('Input shape: {}'.format(model_input_shape))
with open('model-uri.txt', 'w') as f:
f.write(model_uri)
# Package model
result = model.wait_compilation(compilation_job)
logger.info('Compilation result: {}'.format(result))
if result[1] == 'Success':
packaging_job = model.package_model(model_name, compilation_job)
else:
return 'Compilation failed'
result = model.wait_packaging(packaging_job)
logger.info('Packaging result: {}'.format(result))